BALTECH SDK wrapper functions reference
iso15.h
Go to the documentation of this file.
1 
26 #ifndef __BRP_BALTECH_SDK_CMDS_ISO15_H__
27 #define __BRP_BALTECH_SDK_CMDS_ISO15_H__
28 #include "../typedefs.h"
32 #define BRP_Iso15_ErrNoTag BRP_ERR_STATUS(0x2100, 0x01)
33 
39 #define BRP_Iso15_ErrCollision BRP_ERR_STATUS(0x2100, 0x02)
40 
43 #define BRP_Iso15_ErrHf BRP_ERR_STATUS(0x2100, 0x04)
44 
47 #define BRP_Iso15_ErrLabel BRP_ERR_STATUS(0x2100, 0x05)
48 
51 #define BRP_Iso15_ErrCom BRP_ERR_STATUS(0x2100, 0x10)
52 #ifdef BALTECH_SDK_INTERNAL
53 
56 #define BRP_Iso15_ErrCmd BRP_ERR_STATUS(0x2100, 0x20)
57 #endif // BALTECH_SDK_INTERNAL
58 
61 #define BRP_Iso15_ErrParamNotSupported BRP_ERR_STATUS(0x2100, 0x23)
62 
65 #define BRP_Iso15_ErrMem BRP_ERR_STATUS(0x2100, 0x24)
66 
69 #define BRP_Iso15_ErrLabelBlocksize BRP_ERR_STATUS(0x2100, 0x25)
70 #ifdef BALTECH_SDK_INTERNAL
71 
74 #define BRP_Iso15_ErrHwNotSupported BRP_ERR_STATUS(0x2100, 0x26)
75 #endif // BALTECH_SDK_INTERNAL
76 typedef struct {
79  bool TXMode;
93 #ifdef BRP_SUPPORT_LEGACY_METHODS
94 brp_errcode brp_Iso15_SetParam(brp_protocol protocol, bool ModulationIndex, bool TXMode, bool HighDataRate, bool DualSubcarrier);
95 #else
97 #endif
98 typedef struct {
101  bool* TXMode;
115 #ifdef BRP_SUPPORT_LEGACY_METHODS
116 brp_errcode brp_Iso15_GetParam(brp_protocol protocol, bool* ModulationIndex, bool* TXMode, bool* HighDataRate, bool* DualSubcarrier);
117 #else
119 #endif
120 typedef struct {
122  bool EnAFI;
123  bool NextBlock;
124  bool AutoQuiet;
125  bool EnDSFID;
126  bool En16Slots;
127  unsigned AFI;
128  unsigned* More;
130  size_t* Labels_len;
155 #ifdef BRP_SUPPORT_LEGACY_METHODS
156 brp_errcode brp_Iso15_GetUIDList(brp_protocol protocol, bool EnAFI, bool NextBlock, bool AutoQuiet, bool EnDSFID, bool En16Slots, unsigned AFI, unsigned* More, brp_Iso15_GetUIDList_Labels_Entry** Labels, size_t* Labels_len, brp_mempool *mempool);
157 #else
159 #endif
160 typedef struct {
181 #ifdef BRP_SUPPORT_LEGACY_METHODS
183 #else
185 #endif
186 typedef struct {
195 #ifdef BRP_SUPPORT_LEGACY_METHODS
197 #else
199 #endif
200 #ifdef BALTECH_SDK_INTERNAL
201 typedef struct {
202  brp_protocol protocol;
203  unsigned BlockID;
204  unsigned BlockNum;
205  bool EnBlockSec;
206  unsigned* LabelStat;
207  unsigned* BlockLen;
208  brp_Iso15_ReadBlock_Data_Entry** Data;
209  size_t* Data_len;
210  brp_mempool *mempool;
211 } brp_Iso15_ReadBlock_t;
230 #ifdef BRP_SUPPORT_LEGACY_METHODS
231 brp_errcode brp_Iso15_ReadBlock(brp_protocol protocol, unsigned BlockID, unsigned BlockNum, bool EnBlockSec, unsigned* LabelStat, unsigned* BlockLen, brp_Iso15_ReadBlock_Data_Entry** Data, size_t* Data_len, brp_mempool *mempool);
232 #else
233 brp_errcode brp_Iso15_ReadBlock(brp_Iso15_ReadBlock_t params);
234 #endif
235 #endif // BALTECH_SDK_INTERNAL
236 #ifdef BALTECH_SDK_INTERNAL
237 typedef struct {
238  brp_protocol protocol;
239  unsigned BlockID;
240  unsigned BlockNum;
241  unsigned BlockLen;
242  bool OptionFlag;
243  brp_buf* Data;
244  size_t Data_len;
245  unsigned* LabelStat;
246 } brp_Iso15_WriteBlock_t;
264 #ifdef BRP_SUPPORT_LEGACY_METHODS
265 brp_errcode brp_Iso15_WriteBlock(brp_protocol protocol, unsigned BlockID, unsigned BlockNum, unsigned BlockLen, bool OptionFlag, brp_buf* Data, size_t Data_len, unsigned* LabelStat);
266 #else
267 brp_errcode brp_Iso15_WriteBlock(brp_Iso15_WriteBlock_t params);
268 #endif
269 #endif // BALTECH_SDK_INTERNAL
270 typedef struct {
272  unsigned BlockID;
274  unsigned* LabelStat;
287 #ifdef BRP_SUPPORT_LEGACY_METHODS
288 brp_errcode brp_Iso15_LockBlock(brp_protocol protocol, unsigned BlockID, bool OptionFlag, unsigned* LabelStat);
289 #else
291 #endif
292 typedef struct {
294  unsigned* LabelStat;
305 #ifdef BRP_SUPPORT_LEGACY_METHODS
306 brp_errcode brp_Iso15_ResetToReady(brp_protocol protocol, unsigned* LabelStat);
307 #else
309 #endif
310 typedef struct {
312  unsigned AFI;
314  unsigned* LabelStat;
327 #ifdef BRP_SUPPORT_LEGACY_METHODS
328 brp_errcode brp_Iso15_WriteAFI(brp_protocol protocol, unsigned AFI, bool OptionFlag, unsigned* LabelStat);
329 #else
331 #endif
332 typedef struct {
335  unsigned* LabelStat;
347 #ifdef BRP_SUPPORT_LEGACY_METHODS
348 brp_errcode brp_Iso15_LockAFI(brp_protocol protocol, bool OptionFlag, unsigned* LabelStat);
349 #else
351 #endif
352 typedef struct {
354  unsigned DSFID;
356  unsigned* LabelStat;
369 #ifdef BRP_SUPPORT_LEGACY_METHODS
370 brp_errcode brp_Iso15_WriteDSFID(brp_protocol protocol, unsigned DSFID, bool OptionFlag, unsigned* LabelStat);
371 #else
373 #endif
374 typedef struct {
377  unsigned* LabelStat;
389 #ifdef BRP_SUPPORT_LEGACY_METHODS
390 brp_errcode brp_Iso15_LockDSFID(brp_protocol protocol, bool OptionFlag, unsigned* LabelStat);
391 #else
393 #endif
394 typedef struct {
396  unsigned* LabelStat;
397  bool* EnICRef;
398  bool* EnMemSize;
399  bool* EnAFI;
400  bool* EnDSFID;
402  unsigned* DSFID;
403  unsigned* AFI;
404  unsigned* BlockNum;
405  unsigned* BlockSize;
406  unsigned* ICRef;
429 #ifdef BRP_SUPPORT_LEGACY_METHODS
430 brp_errcode brp_Iso15_GetSystemInformation(brp_protocol protocol, unsigned* LabelStat, bool* EnICRef, bool* EnMemSize, bool* EnAFI, bool* EnDSFID, brp_buf* SNR, unsigned* DSFID, unsigned* AFI, unsigned* BlockNum, unsigned* BlockSize, unsigned* ICRef, brp_mempool *mempool);
431 #else
433 #endif
434 typedef struct {
436  unsigned BlockID;
437  unsigned BlockNum;
438  unsigned* LabelStat;
439  unsigned** BlockStat;
440  size_t* BlockStat_len;
457 #ifdef BRP_SUPPORT_LEGACY_METHODS
458 brp_errcode brp_Iso15_GetSecurityStatus(brp_protocol protocol, unsigned BlockID, unsigned BlockNum, unsigned* LabelStat, unsigned** BlockStat, size_t* BlockStat_len, brp_mempool *mempool);
459 #else
461 #endif
462 typedef struct {
464  unsigned Cmd;
465  unsigned Opt;
466  unsigned MFC;
467  unsigned TO;
470  unsigned* LabelStat;
493 #ifdef BRP_SUPPORT_LEGACY_METHODS
494 brp_errcode brp_Iso15_CustomCommand(brp_protocol protocol, unsigned Cmd, unsigned Opt, unsigned MFC, unsigned TO, brp_buf RequestData, size_t RequestData_len, unsigned* LabelStat, brp_buf* ResponseData, size_t* ResponseData_len, brp_mempool *mempool);
495 #else
497 #endif
498 typedef struct {
500  unsigned BlockID;
502  unsigned* LabelStat;
504  size_t* Payload_len;
521 #ifdef BRP_SUPPORT_LEGACY_METHODS
522 brp_errcode brp_Iso15_ReadSingleBlock(brp_protocol protocol, unsigned BlockID, bool EnBlockSec, unsigned* LabelStat, brp_buf* Payload, size_t* Payload_len, brp_mempool *mempool);
523 #else
525 #endif
526 typedef struct {
528  unsigned BlockID;
529  unsigned BlockLen;
533  unsigned* LabelStat;
549 #ifdef BRP_SUPPORT_LEGACY_METHODS
550 brp_errcode brp_Iso15_WriteSingleBlock(brp_protocol protocol, unsigned BlockID, unsigned BlockLen, bool OptionFlag, brp_buf SingleBlockData, size_t SingleBlockData_len, unsigned* LabelStat);
551 #else
553 #endif
554 #ifdef BALTECH_SDK_INTERNAL
555 typedef struct {
556  brp_protocol protocol;
557  bool EnRxWait;
558  bool EnCRCRX;
559  bool EnCRCTX;
560  unsigned Len;
561  unsigned Timeout;
562  brp_buf Data;
563  unsigned RxWait;
564  brp_buf* LabelData;
565  size_t* LabelData_len;
566  brp_mempool *mempool;
567 } brp_Iso15_TransparentCmdLegacy_t;
588 #ifdef BRP_SUPPORT_LEGACY_METHODS
589 brp_errcode brp_Iso15_TransparentCmdLegacy(brp_protocol protocol, bool EnRxWait, bool EnCRCRX, bool EnCRCTX, unsigned Len, unsigned Timeout, brp_buf Data, unsigned RxWait, brp_buf* LabelData, size_t* LabelData_len, brp_mempool *mempool);
590 #else
591 brp_errcode brp_Iso15_TransparentCmdLegacy(brp_Iso15_TransparentCmdLegacy_t params);
592 #endif
593 #endif // BALTECH_SDK_INTERNAL
594 typedef struct {
596  unsigned FirstBlockId;
600  unsigned* LabelStat;
613 #ifdef BRP_SUPPORT_LEGACY_METHODS
614 brp_errcode brp_Iso15_WriteMultipleBlocks(brp_protocol protocol, unsigned FirstBlockId, brp_Iso15_WriteMultipleBlocks_WriteBlocks_Entry* WriteBlocks, size_t WriteBlocks_len, bool OptionFlag, unsigned* LabelStat);
615 #else
617 #endif
618 typedef struct {
620  unsigned FirstBlockId;
621  unsigned BlockCount;
623  unsigned* LabelStat;
625  size_t* RecvBlocks_len;
626  unsigned** BlocksSecData;
647 #ifdef BRP_SUPPORT_LEGACY_METHODS
648 brp_errcode brp_Iso15_ReadMultipleBlocks(brp_protocol protocol, unsigned FirstBlockId, unsigned BlockCount, bool EnBlockSec, unsigned* LabelStat, brp_Iso15_ReadMultipleBlocks_RecvBlocks_Entry** RecvBlocks, size_t* RecvBlocks_len, unsigned** BlocksSecData, size_t* BlocksSecData_len, brp_mempool *mempool);
649 #else
651 #endif
652 typedef struct {
655  size_t SendData_len;
656  unsigned Timeout;
657  bool EnCrcRx;
658  bool EnCrcTx;
659  unsigned RxWait;
661  size_t* RecvData_len;
681 #ifdef BRP_SUPPORT_LEGACY_METHODS
682 brp_errcode brp_Iso15_TransparentCmd(brp_protocol protocol, brp_buf SendData, size_t SendData_len, unsigned Timeout, bool EnCrcRx, bool EnCrcTx, unsigned RxWait, brp_buf* RecvData, size_t* RecvData_len, brp_mempool *mempool);
683 #else
685 #endif
686 #endif
687 
brp_errcode brp_Iso15_WriteSingleBlock(brp_Iso15_WriteSingleBlock_t params)
This command writes a single block to a label.
brp_errcode brp_Iso15_WriteMultipleBlocks(brp_Iso15_WriteMultipleBlocks_t params)
Sends the "WriteMultipleBlocks" to the card to store the data passed in WriteBlocks to the data block...
bool ModulationIndex
Definition: iso15.h:78
brp_protocol protocol
Definition: iso15.h:527
unsigned BlockID
Definition: iso15.h:272
brp_Iso15_GetUIDList_Labels_Entry ** Labels
Definition: iso15.h:129
brp_protocol protocol
Definition: iso15.h:121
brp_Iso15_WriteMultipleBlocks_WriteBlocks_Entry * WriteBlocks
Definition: iso15.h:597
brp_Iso15_ReadMultipleBlocks_RecvBlocks_Entry ** RecvBlocks
Definition: iso15.h:624
brp_errcode brp_Iso15_GetSystemInformation(brp_Iso15_GetSystemInformation_t params)
This command gets the system information of a VICC.
brp_protocol protocol
Definition: iso15.h:499
brp_protocol protocol
Definition: iso15.h:99
brp_buf * ResponseData
Definition: iso15.h:471
brp_protocol protocol
Definition: iso15.h:353
unsigned int brp_errcode
This type is used library-wide for passing error codes in the return value of functions.
Definition: errorcodes.h:23
unsigned * LabelStat
Definition: iso15.h:356
bool * DualSubcarrier
Definition: iso15.h:103
brp_protocol protocol
Definition: iso15.h:463
brp_mempool * mempool
Definition: iso15.h:131
struct brp_protocol_t * brp_protocol
This is a generic handle of a protocol.
Definition: protocol.h:34
brp_errcode brp_Iso15_GetParam(brp_Iso15_GetParam_t params)
This command reads the configuration of the reader chip.
brp_Iso15_SetMode_Mode
Communication mode for label addressing.
Definition: typedefs.h:1645
brp_protocol protocol
Definition: iso15.h:77
brp_errcode brp_Iso15_TransparentCmd(brp_Iso15_TransparentCmd_t params)
This command sends a data stream to a label and returns the communication status and the received lab...
brp_errcode brp_Iso15_GetSecurityStatus(brp_Iso15_GetSecurityStatus_t params)
This command retrieves the block security status of a label.
struct brp_mempool_object_t * brp_mempool
mempool handle.
Definition: mempool.h:29
brp_errcode brp_Iso15_LockBlock(brp_Iso15_LockBlock_t params)
This command permanently locks the block with ID BlockID.
brp_mempool * mempool
Definition: iso15.h:662
bool * HighDataRate
Definition: iso15.h:102
brp_errcode brp_Iso15_LockAFI(brp_Iso15_LockAFI_t params)
This command locks the AFI value permanently into the reader's memory.
bool DualSubcarrier
Definition: iso15.h:81
unsigned * LabelStat
Definition: iso15.h:470
brp_mempool * mempool
Definition: iso15.h:473
unsigned * LabelStat
Definition: iso15.h:335
brp_errcode brp_Iso15_CustomCommand(brp_Iso15_CustomCommand_t params)
This command executes any ISO 15693 manufacturer proprietary commands, so-called custom-commands.
Definition: typedefs.h:1632
brp_errcode brp_Iso15_LockDSFID(brp_Iso15_LockDSFID_t params)
This command locks the DSFID value permanently into the reader's memory.
brp_protocol protocol
Definition: iso15.h:187
brp_protocol protocol
Definition: iso15.h:271
brp_protocol protocol
Definition: iso15.h:375
unsigned * More
Definition: iso15.h:128
brp_protocol protocol
Definition: iso15.h:311
brp_protocol protocol
Definition: iso15.h:653
unsigned * LabelStat
Definition: iso15.h:314
brp_protocol protocol
Definition: iso15.h:293
Definition: typedefs.h:1680
brp_errcode brp_Iso15_GetUIDList(brp_Iso15_GetUIDList_t params)
This command scans for ISO 15693 labels which are in the field of the readers antenna and which are n...
size_t * Labels_len
Definition: iso15.h:130
brp_errcode brp_Iso15_StayQuiet(brp_Iso15_StayQuiet_t params)
This command puts a label into the quiet-state.
brp_protocol protocol
Definition: iso15.h:333
Definition: typedefs.h:1693
unsigned AFI
Definition: iso15.h:312
brp_errcode brp_Iso15_ReadMultipleBlocks(brp_Iso15_ReadMultipleBlocks_t params)
This command reads one or multiple blocks from a label.
brp_errcode brp_Iso15_ReadSingleBlock(brp_Iso15_ReadSingleBlock_t params)
This command reads a single block from a label.
unsigned * LabelStat
Definition: iso15.h:294
brp_mempool * mempool
Definition: iso15.h:505
brp_mempool * mempool
Definition: iso15.h:441
unsigned char * brp_buf
represents a pointer to a protocol data buffer.
Definition: common.h:61
brp_protocol protocol
Definition: iso15.h:161
brp_errcode brp_Iso15_WriteAFI(brp_Iso15_WriteAFI_t params)
This commands writes the AFI value into the label's memory.
brp_errcode brp_Iso15_SetParam(brp_Iso15_SetParam_t params)
This command configures the reader chip.
brp_errcode brp_Iso15_SetMode(brp_Iso15_SetMode_t params)
This command configures the mode to address a label.
unsigned * LabelStat
Definition: iso15.h:377
bool * ModulationIndex
Definition: iso15.h:100
unsigned * LabelStat
Definition: iso15.h:274
brp_errcode brp_Iso15_WriteDSFID(brp_Iso15_WriteDSFID_t params)
This commands writes the DSFID value into the label's memory.
brp_errcode brp_Iso15_ResetToReady(brp_Iso15_ResetToReady_t params)
This command puts a label into ready-state , according to the VICC state transition diagram from the ...
brp_Iso15_SetMode_Mode Mode
Definition: iso15.h:162
size_t * ResponseData_len
Definition: iso15.h:472