Renesas PTX1xxR IoT-Reader API Version 7.3.1
Renesas Software Stack for IoT-Reader Applications
ptxNDEF_T2TOP.h
Go to the documentation of this file.
1
49#ifndef APIS_PTX_NDEF_OP_T2T_H_
50#define APIS_PTX_NDEF_OP_T2T_H_
51
52/*
53 * ####################################################################################################################
54 * INCLUDES
55 * ####################################################################################################################
56 */
57
58#include <stdint.h>
59#include "ptxNativeTag_T2T.h"
60#include "ptxNDEF_Defines.h"
61#include "ptx_Status.h"
62
63#ifdef __cplusplus
64extern "C" {
65#endif
66
67/*
68 * ####################################################################################################################
69 * DEFINES / TYPES
70 * ####################################################################################################################
71 */
72#if defined (_WIN32) || defined (_WIN64) || defined (ming) || defined (__MINGW32__) || defined (__GNUWIN32__)
73 #define PTX_API_LIBFUNC __declspec(dllexport) /* */
74#else
75
76 #if defined (__GNUC__) /* GCC */
77 #define PTX_API_LIBFUNC __attribute__ ((visibility("default"))) /* requires -fvisibility=hidden as compiler option */
78 #elif defined (_linux) || defined (__linux) /* Linux with some other compiler */
79 #error Missing Platform Specification /* To be added */
80 #else
81 #error Missing Platform Specification
82 #endif
83#endif
84
89#define PTX_T2T_DEFAULT_TIMEOUT_MS (uint32_t)100
90#define PTX_T2T_SUPPORTED_VERSION (uint8_t)0x11
91#define PTX_T2TOP_MAX_NUMBER_LOCK_CONTROL (uint8_t)3u
92#define PTX_T2TOP_MAX_NUMBER_MEMORY_CONTROL (uint8_t)3u
93#define PTX_T2TOP_MAX_NUMBER_NDEFTLVS (uint8_t)3u
96/*
97 * ####################################################################################################################
98 * TYPES
99 * ####################################################################################################################
100 */
101
110
125
126
130typedef struct ptxNDEF_T2TOP_CC
131{
132 uint8_t MagicNumber;
133 uint8_t Version;
134 uint16_t MLEN;
135 uint8_t Access;
137 uint8_t ReadAccess;
138 uint8_t WriteAccess;
139 uint8_t VersionMajor;
140 uint8_t VersionMinor;
141 uint16_t Size;
142 uint16_t NumberOfBlocks;
145
154
164
177
187
203
213
214
218typedef struct ptxNDEF_T2TOP
219{
220 /* Components */
225 uint8_t *RxBuffer;
227 size_t RxLen;
228 uint8_t *WorkBuffer;
232 /* Tag Type specific members */
237 /* Position Tracking within the T2T Memory. */
238 uint8_t CurrentBlock;
243 /* General Info and / or Greedy Collecting related Parameters */
247
248/*
249 * ####################################################################################################################
250 * API FUNCTIONS
251 * ####################################################################################################################
252 */
253
263
272
281
291PTX_API_LIBFUNC ptxStatus_t ptxNDEF_T2TOpReadMessage (ptxNDEF_T2TOP_t *t2tOpComp, uint8_t *msgBuffer, uint32_t *msgLen);
292
302PTX_API_LIBFUNC ptxStatus_t ptxNDEF_T2TOpWriteMessage (ptxNDEF_T2TOP_t *t2tOpComp, uint8_t *msgBuffer, uint32_t msgLen);
303
312
320PTX_API_LIBFUNC ptxStatus_t ptxNDEF_T2TOpClose (ptxNDEF_T2TOP_t *t2tOpComp);
321
322#ifdef __cplusplus
323}
324#endif
325
328#endif /* Guard */
329
struct ptxNDEF_T2TOP_MEMORY_CTRL_TLV ptxNDEF_T2TOP_MEMORY_CTRL_TLV_t
T2T Memory Control TLV positions and counter.
ptxNDEF_T2TOP_ReadCCVariant
Variant which block(s) to read first to get the Capability Container CC.
Definition ptxNDEF_T2TOP.h:106
#define PTX_T2TOP_MAX_NUMBER_NDEFTLVS
Definition ptxNDEF_T2TOP.h:93
PTX_API_LIBFUNC ptxStatus_t ptxNDEF_T2TOpLockTag(ptxNDEF_T2TOP_t *t2tOpComp)
Puts a Tag into READ-ONLY state (Attention: This is a irreversible Operation!).
PTX_API_LIBFUNC ptxStatus_t ptxNDEF_T2TOpReadMessage(ptxNDEF_T2TOP_t *t2tOpComp, uint8_t *msgBuffer, uint32_t *msgLen)
Reads a NDEF-message from a given Tag.
enum ptxNDEF_T2TOP_ReadCCVariant ptxNDEF_T2TOP_ReadCCVariant_t
Variant which block(s) to read first to get the Capability Container CC.
#define PTX_T2TOP_MAX_NUMBER_LOCK_CONTROL
Definition ptxNDEF_T2TOP.h:91
struct ptxNDEF_T2TOP_Sector ptxNDEF_T2TOP_Sector_t
T2T NDEF OP sector information.
struct ptxNDEF_T2TOP_CC ptxNDEF_T2TOP_CC_t
T2T NDEF OP Capability Container Parameters.
PTX_API_LIBFUNC ptxStatus_t ptxNDEF_T2TOpClose(ptxNDEF_T2TOP_t *t2tOpComp)
Unitialize / Close the T2T OP Component.
struct ptxNDEF_T2TOP_InitParams ptxNDEF_T2TOP_InitParams_t
T2T NDEF OP Initialization Parameters.
PTX_API_LIBFUNC ptxStatus_t ptxNDEF_T2TOpWriteMessage(ptxNDEF_T2TOP_t *t2tOpComp, uint8_t *msgBuffer, uint32_t msgLen)
Writes a NDEF-message onto a given Tag.
PTX_API_LIBFUNC ptxStatus_t ptxNDEF_T2TOpOpen(ptxNDEF_T2TOP_t *t2tOpComp, ptxNDEF_T2TOP_InitParams_t *initParams)
Initialize / Open the T2T OP Component.
PTX_API_LIBFUNC ptxStatus_t ptxNDEF_T2TOpFormatTag(ptxNDEF_T2TOP_t *t2tOpComp)
Formats a Type 2 Tag to INITIALIZED state.
struct ptxNDEF_T2TOP ptxNDEF_T2TOP_t
T2T NDEF OP Component.
struct ptxNDEF_T2TOP_LOCK_CTRL_TLV ptxNDEF_T2TOP_LOCK_CTRL_TLV
T2T Lock Control TLV positions and counter.
struct ptxNDEF_T2TOP_TLV ptxNDEF_T2TOP_TLV_t
T2T NDEF OP TLV byte adresses and counters.
struct ptxNDEF_T2TOP_NDEF_TLV ptxNDEF_T2TOP_NDEF_TLV_t
T2T NDEF TLV position.
struct ptxNDEF_T2TOP_TERMINATOR_TLV ptxNDEF_T2TOP_TERMINATOR_TLV_t
T2T Terminator TLV position.
PTX_API_LIBFUNC ptxStatus_t ptxNDEF_T2TOpCheckMessage(ptxNDEF_T2TOP_t *t2tOpComp)
Checks if a NDEF-message is present on the given Tag (or not).
#define PTX_T2TOP_MAX_NUMBER_MEMORY_CONTROL
Definition ptxNDEF_T2TOP.h:92
@ ReadCCVariant_Block_3_Default
Definition ptxNDEF_T2TOP.h:107
@ ReadCCVariant_Block_0
Definition ptxNDEF_T2TOP.h:108
enum ptxNDEF_TagLifeCycle ptxNDEF_TagLifeCycle_t
NDEF Tag Life-Cycle.
uint16_t ptxStatus_t
Status Type.
Definition ptx_Status.h:82
enum ptxStatus_Comps ptxStatus_Comps_t
Component Definitions.
T2T NDEF OP Capability Container Parameters.
Definition ptxNDEF_T2TOP.h:131
uint8_t Version
Definition ptxNDEF_T2TOP.h:133
uint16_t MLEN
Definition ptxNDEF_T2TOP.h:134
uint16_t Size
Definition ptxNDEF_T2TOP.h:141
uint8_t VersionMinor
Definition ptxNDEF_T2TOP.h:140
uint8_t WriteAccess
Definition ptxNDEF_T2TOP.h:138
uint16_t NumberOfBlocks
Definition ptxNDEF_T2TOP.h:142
uint8_t MagicNumber
Definition ptxNDEF_T2TOP.h:132
uint8_t ReadAccess
Definition ptxNDEF_T2TOP.h:137
uint8_t VersionMajor
Definition ptxNDEF_T2TOP.h:139
uint8_t Access
Definition ptxNDEF_T2TOP.h:135
T2T NDEF OP Initialization Parameters.
Definition ptxNDEF_T2TOP.h:115
size_t RxBufferSize
Definition ptxNDEF_T2TOP.h:121
uint8_t * RxBuffer
Definition ptxNDEF_T2TOP.h:119
size_t WorkBufferSize
Definition ptxNDEF_T2TOP.h:120
ptxNativeTag_T2T_InitParams_t T2TInitParams
Definition ptxNDEF_T2TOP.h:116
ptxNDEF_T2TOP_ReadCCVariant_t ReadCCVariant
Definition ptxNDEF_T2TOP.h:122
uint8_t * WorkBuffer
Definition ptxNDEF_T2TOP.h:118
T2T Lock Control TLV positions and counter.
Definition ptxNDEF_T2TOP.h:169
uint16_t ByteAddress
Definition ptxNDEF_T2TOP.h:170
uint16_t LockArea[2]
Definition ptxNDEF_T2TOP.h:171
uint16_t InternalArea[2]
Definition ptxNDEF_T2TOP.h:174
uint8_t NbrReservedBits
Definition ptxNDEF_T2TOP.h:172
uint8_t BytesLockedPerLockBit
Definition ptxNDEF_T2TOP.h:173
T2T Memory Control TLV positions and counter.
Definition ptxNDEF_T2TOP.h:182
uint16_t ByteAddress
Definition ptxNDEF_T2TOP.h:183
uint16_t RsvdArea[2]
Definition ptxNDEF_T2TOP.h:184
T2T NDEF TLV position.
Definition ptxNDEF_T2TOP.h:150
uint16_t ByteAddress
Definition ptxNDEF_T2TOP.h:151
uint16_t Length
Definition ptxNDEF_T2TOP.h:152
T2T NDEF OP sector information.
Definition ptxNDEF_T2TOP.h:208
uint8_t NumberOfSectors
Definition ptxNDEF_T2TOP.h:210
uint8_t CurrentSector
Definition ptxNDEF_T2TOP.h:209
T2T Terminator TLV position.
Definition ptxNDEF_T2TOP.h:159
uint16_t ByteAddress
Definition ptxNDEF_T2TOP.h:160
uint8_t TerminatorTLVFound
Definition ptxNDEF_T2TOP.h:161
T2T NDEF OP TLV byte adresses and counters.
Definition ptxNDEF_T2TOP.h:192
uint8_t NumberOfNdefTLVs
Definition ptxNDEF_T2TOP.h:195
ptxNDEF_T2TOP_LOCK_CTRL_TLV LockControlTLVs[PTX_T2TOP_MAX_NUMBER_LOCK_CONTROL]
Definition ptxNDEF_T2TOP.h:196
ptxNDEF_T2TOP_MEMORY_CTRL_TLV_t MemoryControlTLVs[PTX_T2TOP_MAX_NUMBER_MEMORY_CONTROL]
Definition ptxNDEF_T2TOP.h:198
uint16_t AvailableNdefLength
Definition ptxNDEF_T2TOP.h:200
uint8_t NumberOfMemoryTLVs
Definition ptxNDEF_T2TOP.h:199
uint8_t NumberOfLockTLVs
Definition ptxNDEF_T2TOP.h:197
ptxNDEF_T2TOP_NDEF_TLV_t NDEFTLV[PTX_T2TOP_MAX_NUMBER_NDEFTLVS]
Definition ptxNDEF_T2TOP.h:194
ptxNDEF_T2TOP_TERMINATOR_TLV_t TerminatorTLV
Definition ptxNDEF_T2TOP.h:193
T2T NDEF OP Component.
Definition ptxNDEF_T2TOP.h:219
uint8_t CurrentBlock
Definition ptxNDEF_T2TOP.h:238
size_t RxBufferSize
Definition ptxNDEF_T2TOP.h:226
ptxNativeTag_T2T_t NativeTagT2T
Definition ptxNDEF_T2TOP.h:223
size_t RxLen
Definition ptxNDEF_T2TOP.h:227
uint8_t * RxBuffer
Definition ptxNDEF_T2TOP.h:225
size_t WorkBufferSize
Definition ptxNDEF_T2TOP.h:229
ptxNDEF_T2TOP_Sector_t SectorParams
Definition ptxNDEF_T2TOP.h:235
ptxNDEF_T2TOP_CC_t CCParams
Definition ptxNDEF_T2TOP.h:233
uint16_t CurrentByteAddress
Definition ptxNDEF_T2TOP.h:240
ptxNDEF_T2TOP_ReadCCVariant_t ReadCCVariant
Definition ptxNDEF_T2TOP.h:230
uint8_t LastOperationCheck
Definition ptxNDEF_T2TOP.h:244
uint8_t * WorkBuffer
Definition ptxNDEF_T2TOP.h:228
ptxStatus_Comps_t CompId
Definition ptxNDEF_T2TOP.h:221
ptxNDEF_TagLifeCycle_t LifeCycle
Definition ptxNDEF_T2TOP.h:224
ptxNDEF_T2TOP_TLV_t TLVs
Definition ptxNDEF_T2TOP.h:234
uint16_t CurrentBlockAddress
Definition ptxNDEF_T2TOP.h:239
T2T Native Tag Initialization Parameters.
Definition ptxNativeTag_T2T.h:101
T2T Native Tag Component.
Definition ptxNativeTag_T2T.h:112