Renesas PTX1xxR IoT-Reader API (non-OS) Version 7.3.1
Renesas Software Stack for IoT-Reader Applications (non-OS)
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 "ptxStatus.h"
62
63#ifdef __cplusplus
64extern "C" {
65#endif
66
67/*
68 * ####################################################################################################################
69 * DEFINES / TYPES
70 * ####################################################################################################################
71 */
76#define PTX_T2T_DEFAULT_TIMEOUT_MS (uint32_t)100
77#define PTX_T2T_SUPPORTED_VERSION (uint8_t)0x11
78#define PTX_T2TOP_MAX_NUMBER_LOCK_CONTROL (uint8_t)3u
79#define PTX_T2TOP_MAX_NUMBER_MEMORY_CONTROL (uint8_t)3u
80#define PTX_T2TOP_MAX_NUMBER_NDEFTLVS (uint8_t)3u
81#define PTX_T2TOP_INTERNAL_BYTES_LENGTH (uint8_t)10u
84/*
85 * ####################################################################################################################
86 * TYPES
87 * ####################################################################################################################
88 */
89
98
99
114
115
119typedef struct ptxNDEF_T2TOP_CC
120{
121 uint8_t MagicNumber;
122 uint8_t Version;
123 uint16_t MLEN;
124 uint8_t Access;
126 uint8_t ReadAccess;
127 uint8_t WriteAccess;
128 uint8_t VersionMajor;
129 uint8_t VersionMinor;
130 uint16_t Size;
131 uint16_t NumberOfBlocks;
134
145
155
168
178
194
204
205
209typedef struct ptxNDEF_T2TOP
210{
211 /* Components */
216 uint8_t *RxBuffer;
218 size_t RxLen;
219 uint8_t *WorkBuffer;
224 /* Tag Type specific members */
229 /* Position Tracking within the T2T Memory. */
230 uint8_t CurrentBlock;
235 /* General Info and / or Greedy Collecting related Parameters */
239
240/*
241 * ####################################################################################################################
242 * API FUNCTIONS
243 * ####################################################################################################################
244 */
245
255
264
273
283ptxStatus_t ptxNDEF_T2TOpReadMessage (ptxNDEF_T2TOP_t *t2tOpComp, uint8_t *msgBuffer, uint32_t *msgLen);
284
294ptxStatus_t ptxNDEF_T2TOpWriteMessage (ptxNDEF_T2TOP_t *t2tOpComp, uint8_t *msgBuffer, uint32_t msgLen);
295
304
313
314#ifdef __cplusplus
315}
316#endif
317
320#endif /* Guard */
321
#define PTX_T2TOP_INTERNAL_BYTES_LENGTH
Definition ptxNDEF_T2TOP.h:81
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:94
ptxStatus_t ptxNDEF_T2TOpFormatTag(ptxNDEF_T2TOP_t *t2tOpComp)
Formats a Type 2 Tag to INITIALIZED state.
#define PTX_T2TOP_MAX_NUMBER_NDEFTLVS
Definition ptxNDEF_T2TOP.h:80
ptxStatus_t ptxNDEF_T2TOpOpen(ptxNDEF_T2TOP_t *t2tOpComp, ptxNDEF_T2TOP_InitParams_t *initParams)
Initialize / Open the T2T OP Component.
enum ptxNDEF_T2TOP_ReadCCVariant ptxNDEF_T2TOP_ReadCCVariant_t
Variant which block(s) to read first to get the Capability Container CC.
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_LOCK_CONTROL
Definition ptxNDEF_T2TOP.h:78
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.
ptxStatus_t ptxNDEF_T2TOpLockTag(ptxNDEF_T2TOP_t *t2tOpComp)
Puts a Tag into READ-ONLY state (Attention: This is a irreversible Operation!).
struct ptxNDEF_T2TOP_InitParams ptxNDEF_T2TOP_InitParams_t
T2T NDEF OP Initialization Parameters.
ptxStatus_t ptxNDEF_T2TOpReadMessage(ptxNDEF_T2TOP_t *t2tOpComp, uint8_t *msgBuffer, uint32_t *msgLen)
Reads a NDEF-message from a given Tag.
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.
ptxStatus_t ptxNDEF_T2TOpClose(ptxNDEF_T2TOP_t *t2tOpComp)
Unitialize / Close the T2T OP Component.
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.
ptxStatus_t ptxNDEF_T2TOpWriteMessage(ptxNDEF_T2TOP_t *t2tOpComp, uint8_t *msgBuffer, uint32_t msgLen)
Writes a NDEF-message onto a given Tag.
#define PTX_T2TOP_MAX_NUMBER_MEMORY_CONTROL
Definition ptxNDEF_T2TOP.h:79
@ ReadCCVariant_Block_3_Default
Definition ptxNDEF_T2TOP.h:95
@ ReadCCVariant_Block_0
Definition ptxNDEF_T2TOP.h:96
#define PTX_T2T_BLOCK_SIZE
Definition ptxNativeTag_T2T.h:77
enum ptxNDEF_TagLifeCycle ptxNDEF_TagLifeCycle_t
NDEF Tag Life-Cycle.
uint16_t ptxStatus_t
Status Type.
Definition ptxStatus.h:70
enum ptxStatus_Comps ptxStatus_Comps_t
Component Definitions.
T2T NDEF OP Capability Container Parameters.
Definition ptxNDEF_T2TOP.h:120
uint8_t Version
Definition ptxNDEF_T2TOP.h:122
uint16_t MLEN
Definition ptxNDEF_T2TOP.h:123
uint16_t Size
Definition ptxNDEF_T2TOP.h:130
uint8_t VersionMinor
Definition ptxNDEF_T2TOP.h:129
uint8_t WriteAccess
Definition ptxNDEF_T2TOP.h:127
uint16_t NumberOfBlocks
Definition ptxNDEF_T2TOP.h:131
uint8_t MagicNumber
Definition ptxNDEF_T2TOP.h:121
uint8_t ReadAccess
Definition ptxNDEF_T2TOP.h:126
uint8_t VersionMajor
Definition ptxNDEF_T2TOP.h:128
uint8_t Access
Definition ptxNDEF_T2TOP.h:124
T2T NDEF OP Initialization Parameters.
Definition ptxNDEF_T2TOP.h:104
size_t RxBufferSize
Definition ptxNDEF_T2TOP.h:110
uint8_t * RxBuffer
Definition ptxNDEF_T2TOP.h:108
size_t WorkBufferSize
Definition ptxNDEF_T2TOP.h:109
ptxNativeTag_T2T_InitParams_t T2TInitParams
Definition ptxNDEF_T2TOP.h:105
ptxNDEF_T2TOP_ReadCCVariant_t ReadCCVariant
Definition ptxNDEF_T2TOP.h:111
uint8_t * WorkBuffer
Definition ptxNDEF_T2TOP.h:107
T2T Lock Control TLV positions and counter.
Definition ptxNDEF_T2TOP.h:160
uint16_t ByteAddress
Definition ptxNDEF_T2TOP.h:161
uint16_t LockArea[2]
Definition ptxNDEF_T2TOP.h:162
uint16_t InternalArea[2]
Definition ptxNDEF_T2TOP.h:165
uint8_t NbrReservedBits
Definition ptxNDEF_T2TOP.h:163
uint8_t BytesLockedPerLockBit
Definition ptxNDEF_T2TOP.h:164
T2T Memory Control TLV positions and counter.
Definition ptxNDEF_T2TOP.h:173
uint16_t ByteAddress
Definition ptxNDEF_T2TOP.h:174
uint16_t RsvdArea[2]
Definition ptxNDEF_T2TOP.h:175
T2T NDEF TLV position.
Definition ptxNDEF_T2TOP.h:139
uint16_t ByteAddress
Definition ptxNDEF_T2TOP.h:143
uint8_t LengthBlock[PTX_T2T_BLOCK_SIZE *2u]
Definition ptxNDEF_T2TOP.h:141
uint8_t LengthByteOffset
Definition ptxNDEF_T2TOP.h:142
uint16_t Length
Definition ptxNDEF_T2TOP.h:140
T2T NDEF OP sector information.
Definition ptxNDEF_T2TOP.h:199
uint8_t NumberOfSectors
Definition ptxNDEF_T2TOP.h:201
uint8_t CurrentSector
Definition ptxNDEF_T2TOP.h:200
T2T Terminator TLV position.
Definition ptxNDEF_T2TOP.h:150
uint16_t ByteAddress
Definition ptxNDEF_T2TOP.h:151
uint8_t TerminatorTLVFound
Definition ptxNDEF_T2TOP.h:152
T2T NDEF OP TLV byte adresses and counters.
Definition ptxNDEF_T2TOP.h:183
uint8_t NumberOfNdefTLVs
Definition ptxNDEF_T2TOP.h:186
ptxNDEF_T2TOP_LOCK_CTRL_TLV LockControlTLVs[PTX_T2TOP_MAX_NUMBER_LOCK_CONTROL]
Definition ptxNDEF_T2TOP.h:187
ptxNDEF_T2TOP_MEMORY_CTRL_TLV_t MemoryControlTLVs[PTX_T2TOP_MAX_NUMBER_MEMORY_CONTROL]
Definition ptxNDEF_T2TOP.h:189
uint16_t AvailableNdefLength
Definition ptxNDEF_T2TOP.h:191
uint8_t NumberOfMemoryTLVs
Definition ptxNDEF_T2TOP.h:190
uint8_t NumberOfLockTLVs
Definition ptxNDEF_T2TOP.h:188
ptxNDEF_T2TOP_NDEF_TLV_t NDEFTLV[PTX_T2TOP_MAX_NUMBER_NDEFTLVS]
Definition ptxNDEF_T2TOP.h:185
ptxNDEF_T2TOP_TERMINATOR_TLV_t TerminatorTLV
Definition ptxNDEF_T2TOP.h:184
T2T NDEF OP Component.
Definition ptxNDEF_T2TOP.h:210
uint8_t CurrentBlock
Definition ptxNDEF_T2TOP.h:230
size_t RxBufferSize
Definition ptxNDEF_T2TOP.h:217
ptxNativeTag_T2T_t NativeTagT2T
Definition ptxNDEF_T2TOP.h:214
size_t RxLen
Definition ptxNDEF_T2TOP.h:218
uint8_t * RxBuffer
Definition ptxNDEF_T2TOP.h:216
size_t WorkBufferSize
Definition ptxNDEF_T2TOP.h:220
ptxNDEF_T2TOP_Sector_t SectorParams
Definition ptxNDEF_T2TOP.h:227
ptxNDEF_T2TOP_CC_t CCParams
Definition ptxNDEF_T2TOP.h:225
uint16_t CurrentByteAddress
Definition ptxNDEF_T2TOP.h:232
ptxNDEF_T2TOP_ReadCCVariant_t ReadCCVariant
Definition ptxNDEF_T2TOP.h:221
uint8_t LastOperationCheck
Definition ptxNDEF_T2TOP.h:236
uint8_t * WorkBuffer
Definition ptxNDEF_T2TOP.h:219
ptxStatus_Comps_t CompId
Definition ptxNDEF_T2TOP.h:212
ptxNDEF_TagLifeCycle_t LifeCycle
Definition ptxNDEF_T2TOP.h:215
ptxNDEF_T2TOP_TLV_t TLVs
Definition ptxNDEF_T2TOP.h:226
uint16_t CurrentBlockAddress
Definition ptxNDEF_T2TOP.h:231
uint8_t T2tInternalBytes[PTX_T2TOP_INTERNAL_BYTES_LENGTH]
Definition ptxNDEF_T2TOP.h:222
T2T Native Tag Initialization Parameters.
Definition ptxNativeTag_T2T.h:90
T2T Native Tag Component.
Definition ptxNativeTag_T2T.h:101