AN 077520ICODE SLRC400 Command Set Rev. 2.0 — November 2009 Application note Document information Info Keywords Content ICODE SLRC400 Command Set, User & Reference Manual, ICODE 1, ICODE SLI, ICODE SLI-S, ICODE SLI-L, ICODE EPC, ICODE UID This document describes the functionality of the command set for SLEV400 ICODE PEGODA Reader. Abstract NXP Semiconductors AN 077520 SLRC400 Command Set Revision history Rev 2.0 1.0 Date 2009 November 2001 November Description ICODE EPC, UID and SLI-S/ L command set added, ICODE SLI updated First published version> Contact information For additional information, please visit: http://www.nxp.com For sales office addresses, please send an email to:
[email protected] AN 077520 © NXP B.V. 2006. All rights reserved. Application note Rev. 2.0 — November 2009 2 of 72 NXP Semiconductors AN 077520 SLRC400 Command Set 1. General Information 1.1 Scope This document describes the functionality of the command set for SLEV400 ICODE PEGODA Reader. It includes the functional description of the used commands and gives details, how to use or design-in this device from a system and software viewpoint. The default configuration for the SLEV400 uses the SLRC400 as the contactless reader IC. 1.2 General Description for ICODE The ICODE PEGODA read/write device SLEV400 is ready to be connected to a PC. Fig 1 shows the basic overview of the SLEV400´s software concept. Different levels of the PC libraries can be identified. • Application Level This level is user specific and might be used by the user to implement own applications and test programs. The evaluation kit packages for the SLRC400 provide the ICODE UniversalDemo program to show the functionality of the SLRC400 with ICODE 1, ICODE SLI, ICODE SLI-S, ICODE SLI-L, ICODE UID and ICODE EPC labels. • SLEV400 Command Set This document describes the library giving the user the possibility to adapt the application to the ICODE PEGODA reader. All necessary settings and command are explained in detail in that document. • HostRDCom This document describes the communication between the SL EV400 and a host PC. The supported operating systems are limited to the Microsoft Windows Platform. Depending on the serial communication over the USB Win2000/XP are supported. The content of this document should be precise enough, to give the user the possibility writing own communication libraries for other operating systems. AN 077520 © NXP B.V. 2006. All rights reserved. Application note Rev. 2.0 — November 2009 3 of 72 2006.NXP Semiconductors AN 077520 SLRC400 Command Set Fig 1.V. ICODE PEGODA general software overview AN 077520 © NXP B. All rights reserved. Application note Rev. 2.0 — November 2009 4 of 72 . 0 — November 2009 5 of 72 . that the order of the parameter variables within the data stream may be different to the order in the function prototype. A word -aligned access to multiple byte parameters are possible. The default configuration offers a USB connection. SLEV400 Command Set 2. Additionally. All rights reserved.NXP Semiconductors AN 077520 SLRC400 Command Set 2. • IN-transfer data is sent from host to the reader module • OUT-transfer data is sent from the reader module to the host The processing status of a command (mostly the return value) is part of the framing data and therefore not described at function level. The order of parameters in the function prototype is given by the logical matching of the parameters. Example: short value 0x0A05 is converted to data[x] = 0x05 data[x+1] = 0x0A long value 0x04030201 is converted to data[x] = 0x01 data[x+1] = 0x02 data[x+2] = 0x03 data[x+3] = 0x04 NOTE: Pay attention. The number of bytes occupied by this parameter is written in brackets. 2. AN 077520 © NXP B.V.1 General Description of Serial Communication The SLEV400 reader can only be connected via serial data interfaces. the expected serial transfer data stream is described at command level. Each function is described with corresponding function prototype and stream data composition. The serial data stream consist depend from the selected interface type. The data-stream’s order is given by data direction and data length. Application note Rev. Multiple byte parameters are converted to the serial byte stream with the least significant byte first. 2006.and transfer data. • Frame data depend on the selected interface • Transfer data depend only on the selected command To explain this dependency. the command set includes additionally RS232 and IrDA interface to a host. From a reader point of view the transfer data consists of an IN-transfer and an OUT-transfer. 2. options Returns: MI_OK This function uses the HostRdCom interface to open a connection to the reader and use this handle for following function calls of this library. All rights reserved.2 SL400InterfaceClose signed char Sl400InterfaceClose (void) Parameters: none Returns: MI_OK This function corresponds to the Sl400InterfaceOpen function. Application note Rev.2 SLRC400 Interface Wrappers The SLRC400 library is a wrapper library over Rd700 and HostRdCom. the used interface should be released. 2.2. AN 077520 © NXP B. Nearly all functions of the Rd700 library are equipped with a new interface. this parameter is used to specified additional parameters. Table 1. unsigned long options) Sl400InterfaceClose signed char Sl400InterfaceClose (void) Function name Sl400InterfaceOpen 2. SLRC400 Interface wrappers Function call Signed char Sl400InterfaceOpen (unsigned long mode. For USB and IrDA devices. where this handle is used. this function has to be called. 1 for COM1 or 2 for COM2. For RS232 devices the COM-pot can be specified e. Each time. unsigned long options) Parameters: mode (IN) 4 bytes interface type description 0x30 USB 0x40 RS232 0x50 IrDA (IN) 4 bytes interface options depending on the interface type.1 SL400InterfaceOpen signed char Sl400InterfaceOpen (unsigned long mode.2.g.NXP Semiconductors AN 077520 SLRC400 Command Set 2.0 — November 2009 6 of 72 . In order to provide a simpler (but less flexible) interface handling the library introduces two new functions. this parameter is ignored. 2006.V. If time variable ms is set to 0. the RF-field is turned off. a CRC.2 Function Description 3.1 Included Functions Table 3. Application note Rev.1 I1PcdRfReset signed char I1PcdRfReset (unsigned short ms) IN ms(2) OUT Parameters: ms Returns: MI_OK always (IN) time period in milliseconds. all received data are returned. Even if all data seems to be received correctly (data is filled up with reasonable values).NXP Semiconductors AN 077520 SLRC400 Command Set 3.1.2. AN 077520 © NXP B. 2. Nevertheless. Elapsing this time the RF-field is turned on approximately 1 millisecond later.1. the appropriate error code is set. 3.1. This feature helps to debug the errors. Module Administration command set Modules Description Several commands for reader IC administration and configuration ICODE 1 commands ICODE EPC commands ICODE UID commands ICODE SLI and/or ISO15693 commands ICODE SLI-S commands ICODE 1 command set ICODE EPC command set ICODE UID command set ICODE SLI and ISO15693 specific commands ICODE SLI-S command set 3.1 Administration Command Set The administration command set covers several commands for reader IC administration and configuration. Administration commands Function call signed char I1PcdRfReset (unsigned short ms) signed char I1PcdConfig (void) signed char I1SetbitPhase (unsigned char bitphase) Function name I1PcdRfReset I1PcdConfig I1SetBitPhase NOTE: In case of an error. 3.0 — November 2009 7 of 72 . Modules The MFRD700 command set contains of several modules covering different functionality: Table 2. All rights reserved. parity or other error could be reported.V. This function turns off the RF-field for a specified time in milliseconds by setting the variable ms. Defines the switch off time of the reader IC's RF-field in milliseconds. 2006. Application note Rev. 2006.2. 2.1.1.1.NXP Semiconductors AN 077520 SLRC400 Command Set 3. 3. All rights reserved.V.0 — November 2009 8 of 72 .2. key may have two values: • • SL400_VERSION (0x0C) function returns a char* to the version.4 SL400LibInfo const char* Sl400LibInfo (unsigned long key) IN key(8) OUT Parameters: key (IN) specifies the information to return This function is used to get the version of the library.2.2 I1PcdConfig signed char I1PcdConfig (void) IN OUT Parameters: none Returns: MI_OK always This function has to be called before the first data is written to the SLRC400 in order to perform the internal configuration. A reset of the reader IC is done and several registers are set. 3. AN 077520 © NXP B.3 I1SetBitPhase signed char I1SetBitPhase (unsigned char bitphase) IN bitphase(1) OUT Parameters: bitphase Returns: MI_OK always (IN) value of the bitphase This function writes a given value to the bitphase register of the SLRC400. SL400_BUILD (0x0D) function returns an unsigned long int. unsigned char *wr_data.NXP Semiconductors AN 077520 SLRC400 Command Set 3. unsigned char *hts. unsigned short *len. 3. unsigned char *tse_hash) I1_reset_quiet_bit signed char I1_reset_quiet_bit (void) Function name I1init_StdMode I1init_FastMode I1output_read AN 077520 © NXP B. 2006.0 — November 2009 9 of 72 . unsigned char *data) I1output_halt signed char I1output_halt (unsigned char hash. Application note Rev. unsigned char *data) I1output_anticoll_select signed char I1output_antcoll_select (unsigned char tse_hash. unsigned char *data) I1output_eas signed char I1output_eas (unsigned short *len. unsigned char unsel. The SLRC400 fully supports communication with these labels. unsigned char *wrts.2. ICODE 1 command set Function call signed char I1init_StdMode (void) signed char I1init_FastMode (void) signed char I1output_read (unsigned char tse_hash. unsigned char nobl. unsigned short *len. unsigned char blnr. unsigned short *len.V. 2. unsigned char blnr. unsigned short *len. unsigned char hash.2 ICODE 1 Command Set Labels of the ICODE 1 family support a defined set of instructions. All rights reserved. unsigned char *data) I1calc_tse_hash singed char I1calc_tse_hash (int ts. For further information on the labels command set please refer to the according product description of the ICODE 1 IC.1 Included Functions Table 4. unsigned char *data) I1output_write signed char I1output_write (unsigned char hash. It is possible to use this command or to calculate the value of tse_hash at the PC side with the same algorithm which is used in the low level library.2. Application note Rev.2 I1init_FastMode singed char I1init_FastMode (void) IN OUT Parameters: none Returns: MI_OK This function has to be called after I1PcdConfig to initialize this mode or during program execution to switch from ICODE 1 “Standard Mode” to the ICODE 1 “Fast Mode”. 32. 64. 3.NXP Semiconductors AN 077520 SLRC400 Command Set 3. 2. The value tse_hash is used within different commands. (IN) the starting bit position within the serial number which should the label take to calculate it’s timeslot. unsigned char *tse_hash) IN ts(1).2. All rights reserved.2. 16.2 Function Description ICODE 1 3.V.0 — November 2009 10 of 72 . 3.3 I1calc_tse_hash signed char I1calc_tse_hash (int ts.2. possible values 1.1 I1init_StdMode signed char I1init_StdMode (void) IN OUT Parameters: none Returns: MI_OK This function has to be called after I1PcdConfig to initialize this mode or during program execution to switch from ICODE 1 “Fast Mode” to the ICODE 1 “Standard Mode”.2. 2006. hash(1) OUT tse_hash(1) Parameters: ts hash tse_hash Returns: MI_OK (IN) timeslot information. (OUT) combination of ts and hash.2. 8. AN 077520 © NXP B. unsigned char hash.2. 128 and 256. 4. All rights reserved.0 — November 2009 11 of 72 . 2006. the number of timeslots is 4 and the label responses within the second timeslot the response “DATA” would look like this: Byte [HEX] 0x01 Byte [HEX] 0x00 Byte [HEX] 0x01 Byte [HEX] 0x01 nobl *4 Byte nobl * 4 Byte [HEX] [HEX] 0x00 Label response nobl *4 Byte [HEX] 0x00 nobl *4 Byte [HEX] 0x00 The following status could occur: 0x00 0x01 0x02 0x03 0x05 0x08 Remark: The read command can be executed as selected or unselected read. blnr(1).: If there is one label within the RF field. Depending on the number of chosen timeslots (ts). For the selected read the command I1output_anticoll_select has to be done first.2. (IN) number of blocks that should be influenced by the command starting with the number of the first block. (IN) number of the first block within the memory of the label which should be influenced by the command.2. 1 -> unselected read.V. unsigned char *data) IN tse_hash(1). (OUT) depending on the data type several functions are declared for adding data at the end of the data stream. followed by the data of each label at it’s timeslot. unsigned char unsel. the byte are converted with the least significant byte first. unsigned char blnr. unsel(1) OUT data(len) Parameters: tse_hash blnr nobl unsel len data (IN) combination of ts and hash which was calculated with I1calc_tse_hash. unsigned char nobl. AN 077520 © NXP B. (OUT) for character arrays an additional length information is necessary.NXP Semiconductors AN 077520 SLRC400 Command Set 3. nobl(1). If the data type consists of several bytes. e. (IN) 0 -> selected read (first the command “I1output_anticoll_select” is necessary).g. I1_OK I1_NO_TAG I1_CRCERR I1_COLLERR I1_COUNTERR I1_WEAK_COLLISION Application note Rev. 2.4 I1output_readI1 signed char I1output_read (unsigned char tse_hash. unsigned short *len. the response “DATA” includes ts byte information about the status of each timeslot (as described in the data sheet for the ICODE 1 IC). Returns: MI_OK I1_TIMEOUT This function reads out data from the label starting with the specified block address (blnr). 2006. unsigned short *len.NXP Semiconductors AN 077520 SLRC400 Command Set 3.2. (OUT) for character arrays an additional length information is necessary.: If there are 4 labels within the RF field. All rights reserved.2. If the data type consists of several bytes. Returns: MI_OK I1_TIMEOUT This function execution the anticollison select routine as it described in the data sheet for the ICODE 1 IC.0 — November 2009 12 of 72 .5 I1output_anticoll_select signed char I1output_anticoll_select (unsigned char tse_hash. Application note Rev.V. unsigned char *data) IN tse_hash(1) OUT data(len) Parameters: tse_hash len data (IN) combination of ts and hash which was calculated with I1calc_tse_hash. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x08 I1_OK I1_NO_TAG I1_CRCERR I1_COLLERR I1_SNRERR I1_COUNTERR I1_TSOCC I1_WEAK_COLLISION AN 077520 © NXP B. 2. e. the byte are converted with the least significant byte first. the number of timeslots is 4 and 1 label response within the second timeslot and all other responses within the third timeslot the response “DATA” would look like this: 4 Byte [HEX] 4 * 0x00 4 Byte [HEX] Serial number 4 Byte [HEX] 0x03 + 3 * 0x00 4 Byte [HEX] 4 * 0x00 To get the other serial numbers it is necessary to repeat the I1output_anticoll_select command until all serial numbers are known or all timeslots are occupied. Depending on the number of chosen timeslots (ts). (OUT) depending on the data type of several functions are declared for adding data at the end of the data stream.g. the response “DATA” includes ts * 4 bytes information or the serial number of the label. 0 — November 2009 13 of 72 . e.V. each label is fixed to one timeslot (with I1output_anticoll_select) and wrts = {0x01. (IN) array of 4 byte which includes the timeslot information. after this command each detected label is fixed to its timeslot. The response “DATA” would like this: Byte [HEX] 0x16 Byte [HEX] 0x00 Byte [HEX] 0x16 Byte [HEX] 0x16 AN 077520 © NXP B. If the data type consists of several bytes. 0x00} only the label within the first timeslot would be written. With wrts it is possible to mask all timeslot at which the write command should be executed. 2006. 2. char *data) (IN) the starting bit position within the serial number which should the label take to calculate it’s timeslot. 0x00. Returns: MI_OK I1_TIMEOUT This function execution the write routine as it described in the data sheet for the ICODE 1 IC. 0x00. char *wrts. Before executing this command it is necessary to execute the I1output_anticoll_select. the number of timeslots is 4. Application note Rev.NXP Semiconductors AN 077520 SLRC400 Command Set 3. the byte are converted with the least significant byte first. (OUT) depending on the data type several functions are declared for adding data at the end of the data stream. short *len. char blnr. at which labels the data should be written. Depending on the number chosen timeslots (ts). All rights reserved. the response “DATA” includes ts bytes information (status about the timeslot).g.2.6 I1output_write signed char I1output_write (unsigned unsigned unsigned unsigned unsigned unsigned IN hash(1). hts(4) OUT data(len) Parameters: hash blnr wr_data wrts len data char hash.2. (OUT) for character arrays an additional length information is necessary.: If there are 4 labels within the RF field. char *wr_data. (IN) number of the first block within the memory of the label which should be influenced by the command. (IN) array of 4 byte data which should be write to the label beginning with block blnr. 2006. Application note Rev.V. 2.0 — November 2009 14 of 72 .NXP Semiconductors AN 077520 SLRC400 Command Set The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x08 0x10 I1_OK I1_NO_TAG I1_CRCERR I1_COLLERR I1_SNRERR I1_COUNTERR I1_TSOCC I1_WEAK_COLLISION I1_NO_WRITE_OK AN 077520 © NXP B. All rights reserved. NXP Semiconductors AN 077520 SLRC400 Command Set 3. unsigned short *len. unsigned char *hts. If there are 4 labels within the RF field. Application note Rev. each label is fixed to one timeslot (with I1output_anticoll_select) and hts = {0x01. With hts it is possible to mask all timeslot at which the halt command should be executed.g. hts(4) OUT data(len) Parameters: hash hts len data (IN) the starting bit position within the serial number which should the label take to calculate it’s timeslot. unsigned char *data) IN hash(1). 0x00. If the data type consists of several bytes. 2. (OUT) depending on the data type several functions are declared for adding data at the end of the data stream. which labels should be set into HALT mode. All rights reserved. e. the byte are converted with the least significant byte first. 2006. 0x00} only the label within the first timeslot would be set to halt. Returns: MI_OK I1_TIMEOUT This function execution the halt routine as it described in the data sheet for the ICODE 1 IC. the number of timeslots is 4. The response “DATA” would look like this: Byte [HEX] 0x16 Byte [HEX] 0x00 Byte [HEX] 0x16 Byte [HEX] 0x16 The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x08 0x20 I1_OK I1_NO_TAG I1_CRCERR I1_COLLERR I1_SNRERR I1_COUNTERR I1_TSOCC I1_WEAK_COLLISION I1_NO_HALT_OK AN 077520 © NXP B. (IN) array of 4 byte which includes the timeslot information. Before executing this command it is necessary to execute the I1output_anticoll_select. Depending on the number chosen timeslots (ts). the response “DATA” includes ts bytes information (status about the timeslot).2. (OUT) for character arrays an additional length information necessary.2. after this command each detected label is fixed to its timeslot.0 — November 2009 15 of 72 .V.7 I1output_halt signed char I1output_halt (unsigned char hash. 0x00. More information about quiet bit is given in the data sheet for the ICODE 1 IC.0 — November 2009 16 of 72 . If the data type consists of several bytes. 2006.2. Returns: MI_OK I1_TIMEOUT This function execution the EAS routine as it is described in the data sheet for the ICODE 1 IC. 2.NXP Semiconductors AN 077520 SLRC400 Command Set 3. The response “DATA” includes 1 byte information of the EAS value and it look like this: Byte [HEX] EAS Value The values between 8 and 255 could occur. 3.9 I1_reset_quiet_bit signed char I1_reset_quiet_bit (void) IN OUT Parameters: none Returns: MI_OK I1_TIMEOUT If a label is in the QUIET mode this function will clears the quiet bits on that label. the bytes are converted with the least significant byte first.V. AN 077520 © NXP B. Application note Rev.2. (OUT) depending on the data type several functions are declared for adding data at the end of the data stream.2.8 I1output_eas signed char I1output_eas (unsigned short *len. All rights reserved. unsigned char *data) IN OUT data(len) Parameters: len data (OUT) for character arrays an additional length information is necessary.2. 2. AN 077520 © NXP B. The SLRC400 fully supports communication with these labels.3 ICODE EPC Command Set Labels of the ICODE EPC family support a defined set of instructions. 2006. 2.NXP Semiconductors AN 077520 SLRC400 Command Set 3. ICODE EPC command set Function call signed char EPCPcdConfig (void) signed char EPCBeginRound (unsigned char *mask.1 EPCPcdConfig signed char EPCPcdConfig (void) IN OUT Parameters: none Returns: MI_OK This function has to be called after I1PcdConfig in order to enable the reader’s EPC mode.3. unsigned short *resplen.0 — November 2009 17 of 72 . unsigned char masklength. For further information on the labels command set please refer to the according product description of the ICODE EPC IC. unsigned char *resp) EPCWrite signed char EPCWrite (unsigned char blnr. unsigned char data) EPCDestroy signed char EPCDestroy (unsigned char *epc.V. 3. unsigned char hash. unsigned char nbrslots. All rights reserved.3. unsigned char *destroy_code) Function name EPCPcdConfig EPCBeginRound 3.1 Included Functions Table 5.3. Application note Rev.2 Function Description ICODE EPC 3. 2. Application note Rev. 3 The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x08 I1_OK I1_NO_TAG I1_CRCERR I1_COLLERR I1_SNRERR I1_COUNTERR I1_TSOCC I1_WEAK_COLLISION AN 077520 © NXP B.0 — November 2009 18 of 72 . 2: 1 Byte [HEX] 0x01 fix slot 1 Byte [HEX] 0x01 slots no.: The response in the case of 4 timeslots. unsigned char hash.g. Depending on the number of chosen timeslots (ts). All rights reserved. 2006.V. (IN) coded number of timeslots as described in the EPC IC specification. nbrslots(1). unsigned short *resplen. (IN) used to generate a timeslot. hash(1) OUT resp(resplen) Parameters: mask masklength nbrslots hash resplen resp Returns: MI_OK (IN) fractional or complete EPC for selecting certain labels. 1 1 Byte [HEX] 0x00 label found in slot 2 14 Byte [HEX] 14 * 0xXY EPC and CRC 1 Byte [HEX] 0x01 slot no. unsigned char *resp) IN mask(masklength). For every successful recognized label 14 bytes (12 bytes EPC and 2 bytes CRC) are added after its corresponding timeslot-byte. This function executes the BeginRound routine as it is described in the data sheet for the ICODE EPC IC. masklength(1).NXP Semiconductors AN 077520 SLRC400 Command Set 3.2 EPCBeginRound signed char EPCBeginRound (unsigned char *mask. the response resp includes 1 + ts bytes of data in the case of no label within the field. one label in the field. unsigned char masklength. (IN) length of the mask in bits. 0 1 Byte [HEX] 0x01 slots no. (OUT) buffer for received data.3. unsigned char nbrslots. (OUT) amount of bytes which were written to the response-buffer. e. maximal value 0x1F. answering in timeslot no. 2. 3. destroy_code(3) OUT Parameters: epc destroy_code Returns: MI_OK (IN) EPC from the label which is to be destroy. There is no response from the label after sending this command. unsigned char *destroy_code) IN epc(12). a BeginRound should be performed.2. In order to verify that the label is destroyed. a BeginRound should be performed. 2. All rights reserved. 2006. data(1) OUT Parameters: blnr data Returns: MI_OK (IN) block number to which the data should be written (IN) data to write This function executes the write routine as it described in the data sheet for the ICODE EPC IC.3 EPCWrite signed char EPCWrite (unsigned char blnr. There is no response from the label after sending this command. (IN) destroy code.4 EPCDestroy signed char EPCDestroy (unsigned char *epc. Application note Rev.3.0 — November 2009 19 of 72 . unsigned char data) IN blnr(1). This function executes the destroy routine as it is described in the data sheet for the ICODE EPC IC. 3.2.V. In order to verify the written data. which was formerly written to the label. AN 077520 © NXP B.NXP Semiconductors AN 077520 SLRC400 Command Set 3. ICODE UID and ICODE UID-OTP command set Function call signed char UIDPcdConfig (void) signed char UIDBeginRound (unsigned char *mask.2 Function Description ICODE UID and ICODE UID-OTP 3. All rights reserved. Application note Rev.0 — November 2009 20 of 72 .2. 2. unsigned char *resp) UIDWrite signed char UIDWrite (unsigned char blnr. 2006. unsigned char data) UIDDestroy signed char UIDDestroy (unsigned char *idd. unsigned short *resplen.4. 3. The SLRC400 fully supports communication with these labels.V. unsigned char masklength. unsigned char nbrslots. For further information on the labels command set please refer to the according product description of the ICODE UID IC and the ICODE UID-OTP IC.4.NXP Semiconductors AN 077520 SLRC400 Command Set 3. AN 077520 © NXP B.4.1 Included Functions Table 6. unsigned char *destroy_code) Function name UIDPcdConfig UIDBeginRound 3.1 UIDPcdConfig signed char UIDPcdConfig (void) IN OUT Parameters: none Returns: MI_OK This function has to be called after I1PcdConfig in order to enable the reader’s UID mode.4 ICODE UID and ICODE UID-OTP Command Set Labels of the ICODE UID and ICODE UID-OTP family support a defined set of instructions. 2. UD-CRC. For every successful recognized label 21 bytes (12 bytes user data (UD). nbrslots(1) OUT resp(resplen) Parameters: mask masklength nbrslots resplen resp Returns: MI_OK (IN) fractional or complete IDD for selecting certain labels. unsigned char masklength. (OUT) buffer for received data. UID. All rights reserved. 1 Byte [HEX] 0x01 fix slot 1 Byte [HEX] 0x01 slots no. unsigned short *resplen. 1 1 Byte [HEX] 0x00 label found in slot 2 14 Byte [HEX] 14 * 0xXY UD.g. the response resp includes 1 + ts bytes of data in the case of no label within the field.NXP Semiconductors AN 077520 SLRC400 Command Set 3. unsigned char *resp) IN mask(masklength).V. answering in timeslot no. (IN) length of the mask (IN) coded number of timeslots as described in the UID IC specification (OUT) amount of bytes which were written to the response-buffer.: The response in the case of 4 timeslots. 5 bytes UID and 2 bytes UID-CRC) are added after its corresponding timeslot-byte. one label in the field. 2 bytes UDCRC.0 — November 2009 21 of 72 . Application note Rev. 2. UID-CRC 1 Byte [HEX] 0x01 slot no. e. 2. 2006.2 UIDBeginRound signed char UIDBeginRound (unsigned char *mask. masklength(1). Depending on the number of chosen timeslots (ts). 3 The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x08 I1_OK I1_NO_TAG I1_CRCERR I1_COLLERR I1_SNRERR I1_COUNTERR I1_TSOCC I1_WEAK_COLLISION AN 077520 © NXP B. unsigned char nbrslots. 0 1 Byte [HEX] 0x01 slots no.4. This function executes the BeginRound routine as it is described in the data sheet for the ICODE UID IC and the ICODE UID-OTP IC. which as formerly written to the label. destroy_code(3) OUT Parameters: idd destroy_code Returns: MI_OK (IN) the whole identifier data (IDD) from the label which is to be destroy. data(1) OUT Parameters: blnr data (IN) blocknumber to which the data should be written (IN) data to write. There is no response from the label after sending this command. unsigned char data) IN blnr(1).4 UIDDestroy signed char UIDDestroy (unsigned char *idd. 3.0 — November 2009 22 of 72 . 2006. In order to verify the written data. All rights reserved. (IN) destroy code. unsigned char *destroy_code) IN idd(19).2. 2.4. a BeginRound should be performed.2. AN 077520 © NXP B. Application note Rev.V. This function executes the Destroy routine as it is described in the data sheet for the ICODE UID IC and the ICODE UID-OTP IC. In order to verify that the label is destroyed.NXP Semiconductors AN 077520 SLRC400 Command Set 3.3 UIDWrite signed char UIDWrite (unsigned char blnr. There is no response from the label after sending this command.4. Returns: MI_OK This function executes the Write routine as described in the data sheet for the ICODE UID IC and ICODE UID-OTP IC. a BeginRound should be performed. NXP Semiconductors AN 077520 SLRC400 Command Set 3.5 ICODE SLI and ISO15693 specific Command Set Labels of the ICODE SLI family support a defined set of instruction. The SLRC400 fully supports communication with these labels. For further information of the labels command set please refer to the according product description of the ICODE SLI IC. 3.5.1 Included Functions Table 7. ICODE SLI and ISO15693 command set Function call signed char I2init_StdMode_15693 (void) signed char I2init_FastMode_15693 (void) signed char ISO156936_Read_sm (unsigned char flags, unsigned char *uid, unsigned char blnr, unsigned char nbl, unsigned short *resplen, unsigned char *resp) ISO15693_Inventory signed char ISO15693_Inventory (unsigned char flags, unsigned char AFI, unsigned char masklength, unsigned char *uid, unsigned short *resplen, unsigned char *resp) ISO15963_Write_sm signed char ISO15693_Write_sm (unsigned char flags, unsigned char *uid, unsigned char blnr, unsigned char nbl, unsigned char *data, unsigned short *resplen, unsigned char *resp) ISO15693_Stay_Quiet signed char ISO15693_Stay_Quiet (unsigned char flags, unsigned char *uid, unsigned short *resplen, unsigned char *resp) ISO15693_Lock_Block signed char ISO15693_Lock_Block (unsigned char flags, unsigned char *uid, unsigned char blnr, unsigned short *resplen, unsigned char *resp) Function name I2init_StdMode_15693 I2init_FastMode_15693 ISO15693_Read_sm AN 077520 © NXP B.V. 2006. All rights reserved. Application note Rev. 2.0 — November 2009 23 of 72 NXP Semiconductors AN 077520 SLRC400 Command Set Function name ISO15693_Select Function call signed char ISO15693_Select (unsigned char flags, unsigned char *uid, unsigned short *resplen, unsigned char *resp) ISO15963_Reset_To_Ready signed char ISO15693_Reset_To_Ready (unsigned char flags, unsigned char *uid, unsigned short *resplen, unsigned char *resp) ISO15693_Write_AFI signed char ISO15693_Write_AFI (unsigned char flags, unsigned char *uid, unsigned char AFI, unsigned short *resplen, unsigned char *resp) ISO15693_Lock_AFI signed char ISO15693_Lock_AFI (unsigned char flags, unsigned char *uid, unsigned short *resplen, unsigned char *resp) ISO15693_Write_DSFID signed char ISO15693_Write_DSFID (unsigned char flags, unsigned char *uid, unsigned char DSFID, unsigned short *resplen, unsigned char *resp) ISO15693_Lock_DSFID signed char ISO15693_Lock_DSFID (unsigned char flags, unsigned char *uid, unsigned short *resplen, unsigned char *resp) ISO15693_Get_System_ Information signed char ISO15693_Get_Sytsem_Information (unsigned char flags, unsigned char *uid, unsigned short *resplen, unsigned char *resp) ISO15693_Get_Multiple_Block_ Security signed char ISO_Get_Multiple_Block_Security (unsigned char flags, unsigned char *uid, unsigned char blnr, unsigned char nbl, unsigned short *resplen, unsigned char *resp) AN 077520 © NXP B.V. 2006. All rights reserved. Application note Rev. 2.0 — November 2009 24 of 72 NXP Semiconductors AN 077520 SLRC400 Command Set Function name ISO15693_Inventory_Read Function call signed char ISO15693_Inventory_Read (unsigned char flags, unsigned char ManCode, unsigned char AFI, unsigned char masklength, unsigned char *uid, unsigned char blnr, unsigned char nbl, unsigned short *resplen, unsigned char *resp) ISO15963_Fast_Inverntory_ Read signed char ISO15693_Fast_Inventory_Read (unsigned char flags, unsigned char ManCode, unsigned char AFI, unsigned char masklength, unsigned char *uid, unsigned char blnr, unsigned char nbl, unsigned short *resplen, unsigned char *resp) ISO15693_Set_Eas signed char ISO15693_Set_Eas (unsigned char flags, unsigned char ManCode, unsigned char *uid, unsigned short *resplen, unsigned char *resp) ISO15693_Reset_Eas signed char ISO15693_Reset_Eas (unsigned char flags, unsigned char ManCode, unsigned char *uid, unsigned short *resplen, unsigned char *resp) ISO15693_Lock_Eas signed char ISO15693_Lock_Eas (unsigned char flags, unsigned char ManCode, unsigned char *uid, unsigned short *resplen, unsigned char *resp) AN 077520 © NXP B.V. 2006. All rights reserved. Application note Rev. 2.0 — November 2009 25 of 72 2006.0 — November 2009 26 of 72 .NXP Semiconductors AN 077520 SLRC400 Command Set Function name ISO15693_Eas_Alarm Function call signed char ISO15693_Eas_Alarm (unsigned char flags. ICODE 1 Standard or ICODE 1 Fast to the ISO15693 Fast Mode.V. unsigned char *pbEAS_ID. ICODE 1 Standard or ICODE 1 Fast to the ISO15693 Standard Mode. unsigned short *resplen.5. 3.2.5. AN 077520 © NXP B. Application note Rev.2 Function Description ICODE SLI 3.2. unsigned char *uid.5.2 I2init_FastMode_15693 signed char I2init_FastMode_15693 (void) IN OUT Parameters: none Returns: MI_OK This function has to be called after I1PcdConfig to initialize this mode or during program execution to switch from ISO15693 Standard. unsigned char *resp) 3. unsigned char ManCode. 2.1 I2init_StdMode_15693 signed char I2init_StdMode_15693 (void) IN OUT Parameters: none Returns: MI_OK This function has to be called after I1PcdConfig to initialize this mode or during program execution to switch from ISO15693 Fast. unsigned char bEAS_ID_MaskLength. All rights reserved. First byte of resp is the status. nbl(1) OUT resp(resplen) Parameters: flags uid blnr nbl resplen resp (IN) as defined in ISO15693.0 — November 2009 27 of 72 . 2. If the status is I1_OK or I2_NO_ERR the followed bytes are the response of the label as described in ISO15693.2. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693. (OUT) for character arrays an additional length information is necessary. unsigned char *resp) IN flags(1).NXP Semiconductors AN 077520 SLRC400 Command Set 3. uid(8). If the data type consists of several bytes. 2006.3 ISO15693_Read_sm signed char ISO15693_Read_sm (unsigned char flags. unsigned char nbl. unsigned char *uid. All rights reserved. the byte are converted with the least significant byte first. (IN) number of the first block within the memory of the label which should be influenced by the command. (OUT) depending on the data type several functions are declared for adding data at the end of the data stream. Application note Rev. (IN) unique identifier of the IC. (IN) number of blocks that should be influenced by the command starting with the number of the first block. unsigned char blnr. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B.5. unsigned short *resplen. blnr(1).V. at the third no error occur only one label answer and all others are free.4 ISO15693_Inventory signed ISO15693_Inventory (unsigned char flags.2. AN 077520 © NXP B. If the data type consists of several bytes. All rights reserved. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693. masklength(1). at the second is a collision. 2.g. it is possible to use the value of “collision position” as value for masklength. unsigned char AFI. If the inventory command is used for 1 timeslot the response has the following format: If status is “I1_OK”. Application note Rev.V. (OUT) for character arrays an additional length information is necessary. if an error occur within a timeslot the response includes 1 byte. unsigned short *resplen. the bytes are converted with the least significant byte first. (IN) application family identifier (IN) as defined in ISO15693. 2006. (IN) unique identifier of the IC. The response looks like: 1st TS 2nd TS 3rd TS 4th TS 16th TS 0x01 0x03 0x11 Flags & Part of 0x00 0x00 Flags & Part of 0x01 … 0x01 DSFID UID DSFID UID Remark: The collision position includes 16 bit for the “Flags & DSFID” and 1 bit for the collision! Consider that. If one or more labels answer within a timeslot the response for this timeslot includes 13 byte. uid(8) OUT resp(resplen) Parameters: flags AFI masklength uid resplen resp (IN) as defined in ISO15693.0 — November 2009 28 of 72 . e. unsigned char masklength. unsigned char *resp) IN flags(1).: 1st timeslot is free. “I2_NO_ERR” or “I1_COLLERR” 1st Byte Status 2nd Byte Collision position 2 Bytes Flags & DSFID 8 Bytes Part or whole UID Else the response includes only the status! If the 16 timeslots are used the response is a combination of the above described values. unsigned char *uid.5. AFI(1).NXP Semiconductors AN 077520 SLRC400 Command Set 3. (OUT) depending on the data type of several functions are declared for adding data at the end of the data stream. Must be set to 1 for ICODE SLI.2. If the status is “I1_OK” or “I2_NO_ERR” the followed bytes are the response of the label as described in ISO15693.5 ISO15693_Write_sm signed ISO15693_Write_sm (unsigned char flags.NXP Semiconductors AN 077520 SLRC400 Command Set 3. 2. (IN) array of 4 byte data which should be write to the label beginning with block blnr. (OUT) for character arrays an additional length information is necessary. 2006. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. unsigned char nbl. the bytes are converted with the least significant byte first.0 — November 2009 29 of 72 . unsigned char *data. Application note Rev. (OUT) depending on the data type of several functions are declared for adding data at the end of the data stream. (IN) number of blocks that should be influenced by the command starting with the number of the first block.V. All rights reserved. For all other status the length of the response is only 1 byte. (IN) number of the first block within the memory of the label which should be influenced by the command. blnr(1). (IN) unique identifier of the IC. unsigned char *uid. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693. uid(8).5. unsigned char *resp) IN flags(1). nbl(1). unsigned short *resplen. data(4) OUT resp(resplen) Parameters: flags uid blnr nbl data resplen resp (IN) as defined in ISO15693. If the data type consists of several bytes. First byte of resp is the status. unsigned char blnr. the status byte. For all other status the length of the response is only 1 byte. If the status is “I1_OK” or “I2_NO_ERR” the second byte is the byte for the collision position. short *resplen. (OUT) depending on the data type of several functions are declared for adding data at the end of the data stream. uid(8) OUT resp(resplen) Parameters: flags uid resplen resp char flags.0 — November 2009 30 of 72 .6 ISO15693_Stay_Quiet signed ISO15693_Stay_Quiet (unsigned unsigned unsigned unsigned IN flags(1). Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693. 2006. 2. char *uid. the status byte. char *resp) (IN) as defined in ISO15693. First byte of resp is the status. (OUT) for character arrays an additional length information is necessary. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. If the data type consists of several bytes. Application note Rev. the bytes are converted with the least significant byte first. (IN) unique identifier of the IC. the followed bytes are the response of the label as described in ISO15693.2.V.5.NXP Semiconductors AN 077520 SLRC400 Command Set 3. All rights reserved. char flags.NXP Semiconductors AN 077520 SLRC400 Command Set 3.V. For all other status the length of the response is only 1 byte. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693. the status byte.0 — November 2009 31 of 72 . char blnr. (OUT) for character arrays an additional length information is necessary. char *uid. short *resplen. Application note Rev.7 ISO15693_Lock_Block signed ISO15693_Lock_Block (unsigned unsigned unsigned unsigned unsigned IN flags(1). 2006. If the data type consists several bytes. First byte of resp is the status. If the status is “I1_OK” or “I2_NO_ERR” the followed bytes are the response of the label as described in the ISO15693. (IN) number of the first block within the memory of the label which should be influenced by the command. uid(8). (OUT) depending on the data type several functions are declared for adding data at the end of the data stream. All rights reserved. blnr(1) OUT resp(resplen) Parameters: flags uid blnr resplen resp (IN) as defined in ISO15693.5.2. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. the bytes are converted with the least significant byte first. 2. char *resp) (IN) unique identifier of the IC. char *uid.2.8 ISO15693_Select signed ISO15693_Select (unsigned unsigned unsigned unsigned IN flags(1). uid(8) OUT resp(resplen) Parameters: flags uid resplen resp char flags.0 — November 2009 32 of 72 . 2006. All rights reserved. the bytes are converted with the least significant byte first.5. For all other status the length of the response is only 1 byte. First byte of resp is the status. 2.V. (IN) unique identifier of the IC. short *resplen. If the data type consists several bytes. (OUT) for character arrays an additional length information is necessary. char *resp) (IN) as defined in ISO15693. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693. the status byte. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B.NXP Semiconductors AN 077520 SLRC400 Command Set 3. Application note Rev. If the status is “I1_OK” or “I2_NO_ERR” the followed bytes are the response of the label as described in the ISO15693. (OUT) depending on the data type several functions are declared for adding data at the end of the data stream. 2. the status byte.5. 2006. Application note Rev.9 ISO15693_Reset_To_Ready signed ISO15693_Reset_To_Ready (unsigned char flags. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693. unsigned short *resplen. If the data type consists several bytes.NXP Semiconductors AN 077520 SLRC400 Command Set 3. unsigned char *resp) IN flags(1). uid(8) OUT resp(resplen) Parameters: flags uid resplen resp (IN) as defined in ISO15693. the bytes are converted with the least significant byte first.V. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. If the status is “I1_OK” or “I2_NO_ERR” the followed bytes are the response of the label as described in the ISO15693.0 — November 2009 33 of 72 . (OUT) depending on the data type several functions are declared for adding data at the end of the data stream. (IN) unique identifier of the IC. First byte of resp is the status. (OUT) for character arrays an additional length information is necessary. unsigned char *uid. All rights reserved. For all other status the length of the response is only 1 byte. 2. (IN) unique identifier of the IC. Application note Rev.NXP Semiconductors AN 077520 SLRC400 Command Set 3.0 — November 2009 34 of 72 .V. unsigned short *resplen. unsigned char AFI.10 ISO15693_Write_AFI signed ISO15693_Write_AFI (unsigned char flags. 2. (OUT) for character arrays an additional length information is necessary.2. If the status is “I1_OK” or “I2_NO_ERR” the followed bytes are the response of the label as described in the ISO15693.5. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. (OUT) depending on the data type several functions are declared for adding data at the end of the data stream. unsigned char *uid. 2006. AFI(1) OUT resp(resplen) Parameters: flags uid AFI resplen resp (IN) as defined in ISO15693. uid(8). the bytes are converted with the least significant byte first. the status byte. For all other status the length of the response is only 1 byte. unsigned char *resp) IN flags(1). (IN) application family identifier. If the data type consists several bytes. First byte of resp is the status. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693. All rights reserved. short *resplen. (IN) unique identifier of the IC.NXP Semiconductors AN 077520 SLRC400 Command Set 3. (OUT) depending on the data type several functions are declared for adding data at the end of the data stream. the bytes are converted with the least significant byte first. uid(8) OUT resp(resplen) Parameters: flags uid resplen resp char flags. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B.5. First byte of resp is the status.11 ISO15693_Lock_AFI signed ISO15693_Lock_AFI (unsigned unsigned unsigned unsigned IN flags(1). char *uid. All rights reserved.2. char *resp) (IN) as defined in ISO15693.0 — November 2009 35 of 72 . 2006. the status byte. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693. If the status is “I1_OK” or “I2_NO_ERR” the followed bytes are the response of the label as described in the ISO15693. For all other status the length of the response is only 1 byte. 2. Application note Rev. (OUT) for character arrays an additional length information is necessary.V. If the data type consists several bytes. unsigned char *resp) IN flags(1). (IN) data storage format identifier. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. unsigned char DSFID. the bytes are converted with the least significant byte first. First byte of resp is the status. uid(8).2. If the data type consists several bytes. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693. 2006. If the status is “I1_OK” or “I2_NO_ERR” the followed bytes are the response of the label as described in the ISO15693. (OUT) for character arrays an additional length information is necessary. unsigned char *uid.NXP Semiconductors AN 077520 SLRC400 Command Set 3. All rights reserved.12 ISO15693_Write_DSFID signed ISO15693_Write_DSFID (unsigned char flags.5. Application note Rev. the status byte. (OUT) depending on the data type several functions are declared for adding data at the end of the data stream. DSFID(1) OUT resp(resplen) Parameters: flags uid DSFID resplen resp (IN) as defined in ISO15693. For all other status the length of the response is only 1 byte.0 — November 2009 36 of 72 .V. 2. (IN) unique identifier of the IC. unsigned short *resplen. char *resp) (IN) as defined in ISO15693. (IN) unique identifier of the IC. char *uid.13 ISO15693_Lock_DSFID signed ISO15693_Lock_DSFID (unsigned unsigned unsigned unsigned IN flags(1).2. All rights reserved. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. For all other status the length of the response is only 1 byte. the status byte.NXP Semiconductors AN 077520 SLRC400 Command Set 3. 2006. 2. short *resplen.5. If the status is “I1_OK” or “I2_NO_ERR” the followed bytes are the response of the label as described in the ISO15693. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693. (OUT) depending on the data type several functions are declared for adding data at the end of the data stream. If the data type consists several bytes. (OUT) for character arrays an additional length information is necessary. Application note Rev. uid(8) OUT resp(resplen) Parameters: flags uid resplen resp char flags. the bytes are converted with the least significant byte first. First byte of resp is the status.V.0 — November 2009 37 of 72 . All rights reserved. Application note Rev. For all other status the length of the response is only 1 byte. 2.14 ISO15693_Get_System_Information signed ISO15693_Get_System_Information (unsigned char flags.NXP Semiconductors AN 077520 SLRC400 Command Set 3.5. unsigned short *resplen. the status byte. the bytes are converted with the least significant byte first. If the data type consists several bytes.0 — November 2009 38 of 72 . 2006. unsigned char *uid. unsigned char *resp) IN flags(1). First byte of resp is the status. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. (OUT) depending on the data type several functions are declared for adding data at the end of the data stream. If the status is “I1_OK” or “I2_NO_ERR” the followed bytes are the response of the label as described in the ISO15693. (OUT) for character arrays an additional length information is necessary. uid(8) OUT resp(resplen) Parameters: flags uid resplen resp (IN) as defined in ISO15693. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693.2. (IN) unique identifier of the IC.V. First byte of resp is the status. nbl(1) OUT resp(resplen) Parameters: flags uid blnr nbl resplen resp (IN) as defined in ISO15693. (OUT) depending on the data type several functions are declared for adding data at the end of the data stream. the bytes are converted with the least significant byte first. unsigned char blnr.2. 2006. If the status is “I1_OK” or “I2_NO_ERR” the followed bytes are the response of the label as described in the ISO15693. blnr(1). unsigned char *resp) IN flags(1).NXP Semiconductors AN 077520 SLRC400 Command Set 3. unsigned char nbl. 2. unsigned short *resplen. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693.15 ISO15693_Get_Multiple_Block_Security signed ISO15693_Get_Multiple_Block_Security (unsigned char flags.V. (OUT) for character arrays an additional length information is necessary. the status byte. Application note Rev. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. For all other status the length of the response is only 1 byte. (IN) number of the first block within the memory of the label which should be influenced by the command. unsigned char *uid.0 — November 2009 39 of 72 . All rights reserved. uid(8). If the data type consists several bytes. (IN) unique identifier of the IC.5. (IN) number of blocks that should be influenced by the command starting with the number of the first block. uid(8). (OUT) depending on the data type of several functions are declared for adding data at the end of the data stream. unsigned char AFI. (IN) unique identifier of the IC. unsigned short *resplen. x = nbl * 4 and rest of UID if available (see flags “ICODE SLI) Else the response includes only the status! If 16 timeslots are used the response is a combination of the above described values.0 — November 2009 40 of 72 . unsigned char ManCode. nbl(1) OUT resp(resplen) Parameters: flags ManCode AFI masklength uid blnr nbl resplen resp (IN) as defined in ISO15693. the bytes are converted with the least significant byte first. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693. (IN) number of the first block within the memory of the label which should be influenced by the command. unsigned char *uid. (OUT) for character arrays an additional length information is necessary.g. unsigned char blnr. AN 077520 © NXP B. Application note Rev. All rights reserved. if an error occur within a timeslot the response includes 1 byte. The value x is know before sending the command. 2006. at the third no error occur only one label answers and all others are free. at the second is a collision. ManCode(1).2.V. (IN) manufacturer code. If one or more labels answer within a timeslot the response for this timeslot includes 13 bytes. e. as described in the data sheet “ICODE SLI”. 2.16 ISO15693_Inventory_Read signed ISO15693_Inventory_Read (unsigned char flags.5.: 1st timeslot is free. (IN) number of blocks that should be influenced by the command starting with the number of the first block. unsigned char *resp) IN flags(1). AFI(1). unsigned char nbl.NXP Semiconductors AN 077520 SLRC400 Command Set 3. blnr(1). unsigned char masklength. “I2_NO_ERR” or “I1_COLLERR” 1st Byte Status 2nd Byte 1 Byte Collision position Flags x Bytes Response of the labels. If the inventory command is used for 1 timeslot the response has the following format: If status is “I1_OK”. masklength(1). (IN) application family identifier (IN) as defined in ISO15693. If the data type consists of several bytes. NXP Semiconductors AN 077520 SLRC400 Command Set The response looks like this: 1 TS 2nd TS 3rd TS 4th TS 16th TS 0x01 0x03 0x11 Flags Response 0x00 0x00 Flags Response 0x01 … 0x01 st The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR Remark: The collision position includes 8 bit for the “Flags” and 1 bit for the collision! Consider that. 2.V. it is possible to use the value of “collision position” as value for mask length. Application note Rev.0 — November 2009 41 of 72 . 2006. AN 077520 © NXP B. All rights reserved. Application note Rev. 2. uid(8). (IN) application family identifier (IN) as defined in ISO15693. unsigned char *uid.17 ISO15693_Fast_Inventory_Read signed ISO15693_Fast_Inventory_Read (unsigned char flags. (OUT) depending on the data type of several functions are declared for adding data at the end of the data stream. at the second is a collision. unsigned short *resplen. e. Returns: MI_OK I1_TIMEOUT The principle functionality depending to the flags are described in the ISO15693.V. nbl(1) OUT resp(resplen) Parameters: flags ManCode AFI masklength uid blnr nbl resplen resp (IN) as defined in ISO15693. 2006. masklength(1). if an error occur within a timeslot the response includes 1 byte. “I2_NO_ERR” or “I1_COLLERR” 1st Byte Status 2nd Byte 1 Byte Collision position Flags x Bytes Response of the labels. If the inventory command is used for 1 timeslot the response has the following format: If status is “I1_OK”. at the third no error occur only one label answers and all others are free. unsigned char blnr.: 1st timeslot is free. unsigned char masklength. ManCode(1). x = nbl * 4 and rest of UID if available (see flags “ICODE SLI) Else the response includes only the status! If 16 timeslots are used the response is a combination of the above described values. AN 077520 © NXP B. The value x is know before sending the command. (IN) manufacturer code. (IN) number of blocks that should be influenced by the command starting with the number of the first block. as described in the data sheet “ICODE SLI”. unsigned char ManCode. If the data type consists of several bytes.2.NXP Semiconductors AN 077520 SLRC400 Command Set 3. blnr(1).0 — November 2009 42 of 72 . the bytes are converted with the least significant byte first. If one or more labels answer within a timeslot the response for this timeslot includes 13 bytes. unsigned char AFI. AFI(1). (IN) number of the first block within the memory of the label which should be influenced by the command. unsigned char *resp) IN flags(1).g. (OUT) for character arrays an additional length information is necessary. (IN) unique identifier of the IC.5. All rights reserved. unsigned char nbl. 2.0 — November 2009 43 of 72 .V. 2006.NXP Semiconductors AN 077520 SLRC400 Command Set The response looks like this: 1 TS 2nd TS 3rd TS 4th TS 16th TS 0x01 0x03 0x11 Flags Response 0x00 0x00 Flags Response 0x01 … 0x01 st The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR Remark: The collision position includes 8 bit for the “Flags” and 1 bit for the collision! Consider that. Application note Rev. AN 077520 © NXP B. All rights reserved. it is possible to use the value of “collision position” as value for mask length. 5. Returns: MI_OK I1_TIMEOUT This command enables the EAS mode if this mode is not locked. unsigned char ManCode. Application note Rev. unsigned char *resp) IN flags(1). The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. the following bytes are according to the specification (1 byte flags respectively 1 byte flags and 1 byte label-error code). If the data type consists of several bytes. unsigned char *uid.2. 2. (OUT) for character arrays an additional length information is necessary. (IN) unique identifier of the IC. the bytes are converted with the least significant byte first. only the status-byte is transmitted. First byte of the response is the status. 0x04 for NXP Semiconductors.18 ISO15693_Set_Eas signed ISO15693_Set_Eas (unsigned char flags.NXP Semiconductors AN 077520 SLRC400 Command Set 3. If a reader error occurs. ManCode(1). uid(8) OUT resp(resplen) Parameters: flags ManCode uid resplen resp (IN) as defined in ISO15693.V. All rights reserved. (OUT) depending on the data type of several functions are declared for adding data at the end of the data stream. In the case of no error found by the reader. 2006.0 — November 2009 44 of 72 . (IN) manufacturer code. unsigned short *resplen. (IN) unique identifier of the IC. the following bytes are according to the specification (1 byte flags respectively 1 byte flags and 1 byte label-error code).5. (OUT) for character arrays an additional length information is necessary. Application note Rev. All rights reserved. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. (OUT) depending on the data type of several functions are declared for adding data at the end of the data stream.19 ISO15693_Reset_Eas signed ISO15693_Reset_Eas (unsigned char flags. unsigned char *uid. ManCode(1). If the data type consists of several bytes. only the status-byte is transmitted. 2006. uid(8) OUT resp(resplen) Parameters: flags ManCode uid resplen resp (IN) as defined in ISO15693.2.0 — November 2009 45 of 72 . First byte of the response is the status.V. unsigned char *resp) IN flags(1). 2. the bytes are converted with the least significant byte first.NXP Semiconductors AN 077520 SLRC400 Command Set 3. unsigned short *resplen. 0x04 for NXP Semiconductors. (IN) manufacturer code. In the case of no error found by the reader. If a reader error occurs. Returns: MI_OK I1_TIMEOUT This command disables the EAS mode if this mode is not locked. unsigned char ManCode. unsigned char *uid. All rights reserved. (OUT) for character arrays an additional length information is necessary. the bytes are converted with the least significant byte first.20 ISO15693_Lock_Eas signed ISO15693_Lock_Eas (unsigned char flags. (IN) manufacturer code. If a reader error occurs. (IN) unique identifier of the IC. unsigned short *resplen.2.0 — November 2009 46 of 72 . ManCode(1). If the data type consists of several bytes. 2. 0x04 NXP Semiconductors. only the status-byte is transmitted.NXP Semiconductors AN 077520 SLRC400 Command Set 3. 2006. Returns: MI_OK I1_TIMEOUT This command locks the EAS mode and the EAS ID (only SLI-S & SLI-L).5. unsigned char *resp) IN flags(1). uid(8) OUT resp(resplen) Parameters: flags ManCode uid resplen resp (IN) as defined in ISO15693. unsigned char ManCode. the following bytes are according to the specification (1 byte flags respectively 1 byte flags and 1 byte label-error code). First byte of the response is the status. Application note Rev.V. In the case of no error found by the reader. (OUT) depending on the data type of several functions are declared for adding data at the end of the data stream. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. bEAS_ID_MaskLength(1). the bytes are converted with the least significant byte first. uid(8).21 ISO15693_Eas_Alarm signed ISO15693_Eas_Alarm (unsigned char flags. unsigned short *resplen. unsigned char *uid. (IN) manufacturer code. The following status could occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. 2006. Application note Rev. no EAS-ID is transmitted. All rights reserved. unsigned char *pbEAS_ID. (OUT) for character arrays an additional length information is necessary.V. (IN) fractal or complete EAS ID in order to address only certain labels (SLI-S & SLI-L). Option flag “1” is only supported by ICODE SLI-S and ICODE SLI-L. 0x04 NXP Semiconductors. pbEAS_ID(0-2) OUT resp(resplen) Parameters: flags ManCode uid bEAS_ID_MaskLength pbEAS_ID resplen Resp (IN) as defined in ISO15693.NXP Semiconductors AN 077520 SLRC400 Command Set 3. First byte of the response is the status. unsigned char ManCode.2. The further response depends on the mode. please refer to the label datasheets. If the data type consists of several bytes. unsigned char *resp) IN flags(1). unsigned char bEAS_ID_MaskLength. (IN) length of the EAS ID in bits (SLI-S & SLI-L). Use this mode for ICODE SLI. Returns: MI_OK I1_TIMEOUT This command sends the EAS alarm. (IN) unique identifier of the IC.5. With option flag “0”.0 — November 2009 47 of 72 . ManCode(1). For detailed information. (OUT) depending on the data type of several functions are declared for adding data at the end of the data stream. 2. unsigned char bPwdID.V. unsigned char *pbUID. Application note Rev. unsigned char bManCode. unsigned char *pbUID. unsigned short *pwRespLength.NXP Semiconductors AN 077520 SLRC400 Command Set 3. unsigned short *pwRespLength. unsigned char bManCode.6 ICODE SLI-S. ICODE SLI-S. ICODE SLI-L specific command set Function call signed char ICodeISO15693_PwdProtectEAS (unsigned char bFlags. unsigned char *pbResp) ISO15963_SetPwd signed char ISO15693_SetPwd (unsigned char bFlags. unsigned char bManCode. unsigned char *pbResp) ICodeISO15693_GetRandom Number signed char ICodeISO15693_GetRandomNumber (unsigned char bFlags.6. unsigned char *pbUID.0 — November 2009 48 of 72 . unsigned short *pbRespLen. 3. unsigned short *pwRespLength. unsigned short *pwRespLength. unsigned char *pbResp) Function name ICodeISO15693_PwdProtectEAS AN 077520 © NXP B. The further information on the labels command set please refer to the according product description of the ICODE SLI-S and ICODE SLI-L ICs. ICODE SLI-L family support all instructions that are supported by the ICODE SLI labels as well as additional SLI-S. unsigned char *pbUID. unsigned char bManCode. SLI-L commands. unsigned char *pbResp) ICodeISO15693_WriteEAS_ID signed char ICodeISO15693_WriteEAS_ID (unsigned char bFlags. unsigned char *pbPwd.1 Included Functions Table 8. ICODE SLI-L Command Set Labels of the ICODE SLI-S. All rights reserved. 2006. unsigned char bManCode. unsigned char *pbUID. which are described in this part of the document. unsigned char *pbResp) ICodeISO15693_ReadEPC signed char ICodeISO156936_ReadEPC (unsigned char bFlags. 2. unsigned short wEAS_ID. unsigned char bManCode. unsigned char *pbResp) AN 077520 © NXP B. unsigned char bManCode. Application note Rev. 2. unsigned char *pbUID. unsigned char *pbUID. unsigned short *pbRespLen.V. unsigned char bPwdID. unsigned char bProtectionStatus. unsigned char bManCode. unsigned char bPageNo. unsigned char bManCode. All rights reserved. unsigned char *pbResp) ICodeISO15693_GetMultipleBlock Signed char ICodeISO15693_GetMultipleBlockProtStatus ProtStatus (unsigned char bFlags. unsigned short *pbRespLen. unsigned short *pwRespLength. unsigned char *pbUID. unsigned char *pbResp) ICodeISO15693_64BitPWD Protection signed char ICodeISO15693_64BitPWDProtection (unsigned char bFlags. 2006. unsigned char *pbResp) ISO15693_ProtectPage signed char ISO15693_ProtectPage (unsigned char bFlags.NXP Semiconductors AN 077520 SLRC400 Command Set Function name ISO15693_WritePwd Function call signed char ISO15693_WritePwd (unsigned char bFlags. unsigned char bNoOfBlocks. unsigned char bFirstBlock. unsigned char *pbResp) ICodeISO15693_LockPWD signed char ICodeISO15693_LockPWD (unsigned char bFlags.0 — November 2009 49 of 72 . unsigned char *pbUID. unsigned short *pwRespLength. unsigned char *pbUID. unsigned short *pwRespLength. unsigned char bManCode. unsigned char bPWD_ID. unsigned char *pbPwd. unsigned char *pbResp) ICodeISO15693_EnablePrivacy signed char ISO15693_EnablePrivacy (unsigned char bFlags. unsigned char bAFI. unsigned char NoOfBlocks. unsigned short *pbRespLen. unsigned char bManCode. unsigned short *pbRespLen. unsigned short *pbRespLen. unsigned char bMaskLen. unsigned char bAFI. unsigned char *pbUID. 2. unsigned char *pbUID.NXP Semiconductors AN 077520 SLRC400 Command Set Function name ISO15693_LockPageProtection Condition Function call signed char ISO15693_LockPageProtectionCondition (unsigned char bFlags. unsigned char *pbUID. unsigned char bBlockNo. unsigned char bMaskLen. unsigned char *pbUID. unsigned char *pbResp) ISO15693_InventoryReadS signed char ISO15693_InverntoryReadS (unsigned char bFlags. unsigned char bManCode. unsigned char *pbResp) ISO15693_DestroyS signed char ISO15693_DestroyS (unsigned char bFlags. unsigned char bManCode. unsigned char *pbUID. unsigned char *pbResp) ISO15693_FastInverntoryReadS signed char ISO15693_FastInventoryReadS (unsigned char bFlags. Application note Rev. All rights reserved. unsigned char bBlockNo.0 — November 2009 50 of 72 . 2006. unsigned short *pbRespLen. unsigned char bPageNo. unsigned char bNoOfBlocks.V. unsigned short *pbRespLen. unsigned char bManCode. unsigned char *pbResp) AN 077520 © NXP B. unsigned char bManCode. The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. Application note Rev. 2.V. First byte of the response is the status. In the case of no error found by the reader. All rights reserved.6. pbUID(8). bManCode(1). If an error occurred. char *pbResp) Returns: MI_OK I1_TIMEOUT This function enables the password protection for EAS. The password has to be transmitted before using the SetPassword command.2.6. SLI-L 3.2 Function Description ICODE SLI-S.NXP Semiconductors AN 077520 SLRC400 Command Set 3. the following bytes are according to the ICODE SLI-S specification. char bManCode. (IN) unique identifier of the IC. 2006.1 ICodeISO15693_PwdProtectEAS signed char ICodeISO15693_PwdProtectEAS (unsigned unsigned unsigned unsigned unsigned IN bFlags(1). OUT pbResp(pwRespLength) Parameters: bFlags bManCode pbUID pwRespLength pbResp (IN) as defined in ISO15693.0 — November 2009 51 of 72 . (IN) manufacturer code. char bFlags. (OUT) for character arrays an additional length information is necessary. (OUT) depending on the data type. the bytes are converted with the least significant byte first. only the status-byte is transmitted. If the data type consists of several bytes. 0x04 for NXP Semiconductors. char *pbUID. several functions are declared for adding data at the end of the stream. short *pwRespLength. the following bytes are according to the ICODE SLI-S specification. several functions are declared for adding data at the end of the stream. In the case of no error found by the reader. If an error occurred. Returns: MI_OK I1_TIMEOUT This function is used to set the EAS-ID. bManCode(1). char bManCode.2. If the data type consists of several bytes. 2006. The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B.2 ICodeISO15693_WriteEAS_ID signed char ICodeISO15693_PwdProtectEAS (unsigned unsigned unsigned unsigned unsigned unsigned IN bFlags(1). Application note Rev. (IN) EAS-ID to be set. 2. All rights reserved. short *pwRespLength.V. pbUID(8).6. (OUT) for character arrays an additional length information is necessary. First byte of the response is the status. If EAS is password protected. only the status-byte is transmitted. OUT pbResp(pwRespLength) Parameters: bFlags bManCode pbUID wEAS_ID pwRespLength pbResp char bFlags. (OUT) depending on the data type. the password has to be transmitted before. 0x04 for NXP Semiconductors.NXP Semiconductors AN 077520 SLRC400 Command Set 3. the bytes are converted with the least significant byte first. (IN) manufacturer code. (IN) unique identifier of the IC. char *pbUID. char *pbResp) wEAS_ID(2) (IN) as defined in ISO15693. short wEAS_ID.0 — November 2009 52 of 72 . First byte of the response is the status. several functions are declared for adding data at the end of the stream. 12 bytes EPC respectively 1byte label-error code). All rights reserved. 2.V. the bytes are converted with the least significant byte first. bManCode(1). char *pbUID. char bManCode. Application note Rev. If the data type consists of several bytes. (OUT) depending on the data type.2.6. 2006. 0x04 for NXP Semiconductors. only the status-byte is transmitted. The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. the following bytes are according to the specification (1 byte flags. (IN) unique identifier of the IC. If an error occurred.0 — November 2009 53 of 72 .NXP Semiconductors AN 077520 SLRC400 Command Set 3. (OUT) for character arrays an additional length information is necessary. pbUID(8) OUT pbResp(pwRespLength) Parameters: bFlags bManCode pbUID pwRespLength pbResp char bFlags.3 ICodeISO15693_ReadEPC signed char ICodeISO15693_ReadEPC (unsigned unsigned unsigned unsigned unsigned IN bFlags(1). In the case of no error found by the reader. Returns: MI_OK I1_TIMEOUT This command reads the EPC. (IN) manufacturer code. char *pbResp) (IN) as defined in ISO15693. short *pwRespLength. All rights reserved. (OUT) for character arrays an additional length information is necessary. Returns: MI_OK I1_TIMEOUT This command is used for the password functionality. (IN) manufacturer code. 2006. the following bytes are according to the ICODE SLI-S specification (1 byte flags. 2. short *pwRespLength.NXP Semiconductors AN 077520 SLRC400 Command Set 3.V. several functions are declared for adding data at the end of the stream. the bytes are converted with the least significant byte first. (OUT) depending on the data type. (IN) unique identifier of the IC.2. char *pbUID. pbUID(8) OUT pbResp(pwRespLength) Parameters: bFlags bManCode pbUID wEAS_ID pwRespLength pbResp char bFlags. only the status-byte is transmitted. First byte of the response is the status. char bManCode. bManCode(1).6. Application note Rev.0 — November 2009 54 of 72 . If the data type consists of several bytes. 2 bytes random number respectively 1 byte label-error code). 0x04 for NXP Semiconductors. (IN) EAS-ID to be set. If an error occurred.4 ICodeISO15693_GetRandomNumber signed char ICodeISO15693_GetRandomNumber (unsigned unsigned unsigned unsigned unsigned IN bFlags(1). In the case of no error found by the reader. char *pbResp) (IN) as defined in ISO15693. The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. 0x08 destroy. Please refer to ICODE SLI-S specification for detailed information. 2006. All rights reserved. unsigned char *pbResp) IN bFlags(1). the bytes are converted with the least significant byte first. unsigned short *pbRespLen. several functions are declared for adding data at the end of the stream. (OUT) depending on the data type. 0x02 write. unsigned char bPwdID.0 — November 2009 55 of 72 . 0x10 EAS).5 ISO15693_SetPwd signed char ICodeISO15693_SetPwd (unsigned char bFlags. The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. (IN) password identifier (0x01 read. (IN) unique identifier of the IC. bManCode(1). Application note Rev. bPwdID(1).NXP Semiconductors AN 077520 SLRC400 Command Set 3.2. unsigned char *pbPwd. 0x04 privacy. only the status-byte is transmitted. pbPwd(4) OUT pbResp(pbRespLen) Parameters: bFlags bManCode pbUID bPwdID pbPwd pbRespLen pbResp (IN) as defined in ISO15693. (IN) manufacturer code. 0x04 for NXP Semiconductors. 2. the following bytes are according to the ICODE SLI-S specification (1 byte flags respectively 1 byte label-error code). In the case of no error found by the reader. If an error occurred. unsigned char *pbUID.V. (OUT) for character arrays an additional length information is necessary. For detailed information please refer to the ICODE SLI-S specification. pbUID(8). (IN) password. unsigned char bManCode. If the data type consists of several bytes.6. First byte of the response is the status. Returns: MI_OK I1_TIMEOUT This function sets a password in order to use a password protection function. 0x08 destroy.6 ISO15693_WritePwd signed char ISO15693_WritePwd (unsigned char bFlags. bPwdID(1). Application note Rev. unsigned char *pbPwd. The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. (IN) manufacturer code. (OUT) for character arrays an additional length information is necessary. unsigned char *pbUID. bManCode(1). 0x10 EAS). If an error occurred. For detailed information please refer to the ICODE SLI-S specification. All rights reserved. only the status-byte is transmitted. Please refer to ICODE SLI-S specification for detailed information. pbUID(8).2. pbPwd(4) OUT pbResp(pbRespLen) Parameters: bFlags bManCode pbUID bPwdID pbPwd pbRespLen pbResp (IN) as defined in ISO15693. (IN) password identifier (0x01 read. If the data type consists of several bytes. Returns: MI_OK I1_TIMEOUT This function writes a new password into the related memory.NXP Semiconductors AN 077520 SLRC400 Command Set 3. 2006. unsigned char bPwdID. the following bytes are according to the ICODE SLI-S specification (1 byte flags respectively 1 byte label-error code). First byte of the response is the status. unsigned char bManCode. several functions are declared for adding data at the end of the stream. In the case of no error found by the reader. the bytes are converted with the least significant byte first. 0x04 privacy. unsigned char *pbResp) IN bFlags(1). (IN) unique identifier of the IC. unsigned short *pbRespLen.V. (IN) password. 0x04 for NXP Semiconductors.0 — November 2009 56 of 72 . 2. (OUT) depending on the data type.6. 0x02 write. (IN) manufacturer code. unsigned char *pbResp) IN bFlags(1). If an error occurred. If the data type consists of several bytes.NXP Semiconductors AN 077520 SLRC400 Command Set 3. the bytes are converted with the least significant byte first. (IN) password identifier (0x01 read. It can’t be changed any more.7 ICodeISO15693_LockPwd signed char ICodeISO15693_LockPwd (unsigned char bFlags. 0x10 EAS).6. unsigned char bPWD_ID unsigned short *pwRespLength. 2006. the following bytes are according to the ICODE SLI-S specification (1 byte flags respectively 1 byte label-error code). 0x02 write. bPwdID(1) OUT pbResp(pwRespLength) Parameters: bFlags bManCode pbUID bPwdID pwRespLength pbResp (IN) as defined in ISO15693. 0x04 privacy. Application note Rev. (IN) unique identifier of the IC.2. bManCode(1). several functions are declared for adding data at the end of the stream. Returns: MI_OK I1_TIMEOUT This command locks the specific password. In the case of no error found by the reader. 2. All rights reserved. 0x08 destroy.0 — November 2009 57 of 72 . unsigned char *pbUID. only the status-byte is transmitted.V. First byte of the response is the status. (OUT) for character arrays an additional length information is necessary. The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. (OUT) depending on the data type. pbUID(8). unsigned char bManCode. 0x04 for NXP Semiconductors. If an error occurred. First byte of the response is the status. unsigned char *pbUID. unsigned char bManCode. the following bytes are according to the ICODE SLI-S specification (1 byte flags respectively 1 byte label-error code). Application note Rev. several functions are declared for adding data at the end of the stream. The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. If the data type consists of several bytes. bManCode(1). (IN) unique identifier of the IC.8 ICodeISO15693_64BitPWDProtection signed char ICodeISO15693_64BitPWDProtection (unsigned char bFlags. In the case of no error found by the reader. All rights reserved.V. unsigned short *pwRespLength. 0x04 for NXP Semiconductors.6. (OUT) depending on the data type.2. 2006.0 — November 2009 58 of 72 . (IN) manufacturer code. only the status-byte is transmitted. 2. pbUID(8) OUT pbResp(pwRespLength) Parameters: bFlags bManCode pbUID pwRespLength pbResp (IN) as defined in ISO15693. It can’t be changed any more. unsigned char *pbResp) IN bFlags(1).NXP Semiconductors AN 077520 SLRC400 Command Set 3. (OUT) for character arrays an additional length information is necessary. the bytes are converted with the least significant byte first. Returns: MI_OK I1_TIMEOUT This command sets the 64 bit password protection. 2. Application note Rev. unsigned char *pbResp) IN bFlags(1). unsigned short *pbRespLen. bManCode(1). (OUT) for character arrays an additional length information is necessary. If an error occurred.2. In the case of no error found by the reader. the following bytes are according to the ICODE SLI-S specification (1 byte flags respectively 1 byte label-error code). (OUT) depending on the data type.NXP Semiconductors AN 077520 SLRC400 Command Set 3. the bytes are converted with the least significant byte first.9 ISO15693_ProtectPage signed char ICodeISO15693_ProtectPage (unsigned char bFlags. For detailed information please refer to the ICODE SLI-S specification. 0x04 for NXP Semiconductors. unsigned char bPageNo.6. (IN) manufacturer code. unsigned char *pbUID.0 — November 2009 59 of 72 . The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. First byte of the response is the status. Returns: MI_OK I1_TIMEOUT This command sets the protection status of the page. 2006. several functions are declared for adding data at the end of the stream. If the data type consists of several bytes. All rights reserved. (IN) level of protection. (IN) unique identifier of the IC. bPageNo(1). (IN) page to be protected. bProtectionStatus(1) OUT pbResp(pbRespLen) Parameters: bFlags bManCode pbUID bPageNo bProtectionStatus pbRespLen pbResp (IN) as defined in ISO15693. pbUID(8). only the status-byte is transmitted. unsigned char bManCode. unsigned char bProtectionStatus.V. If an error occurred. bManCode(1). unsigned char *pbUID. unsigned char bFirstBlock. bNoOfBlocks(1) OUT pbResp(pwRespLength) Parameters: bFlags bManCode pbUID bFirstBlock bNoOfBlocks pwRespLength pbResp (IN) as defined in ISO15693. only the status-byte is transmitted.V. (IN) unique identifier of the IC. All rights reserved. Application note Rev. several functions are declared for adding data at the end of the stream. First byte of the response is the status.NXP Semiconductors AN 077520 SLRC400 Command Set 3. 0x04 for NXP Semiconductors. (OUT) for character arrays an additional length information is necessary. bFirstBlock(1).2. Returns: MI_OK I1_TIMEOUT This function reads a certain number of block protection states. (OUT) depending on the data type. 2006. (IN) number of protection states to be read. pbUID(8). (IN) first block for reading out protection status.0 — November 2009 60 of 72 . the following bytes are according to the ICODE SLI-S specification (1 byte flags and bNoOfBlocks bytes respectively 1 byte label-error code). If the data type consists of several bytes. The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. unsigned char bManCode. unsigned char *pbResp) IN bFlags(1).10 ICodeISO15693_GetMultipleBlockProtStatus signed char ICodeISO15693_GetMultipleBlockProtStatus (unsigned char bFlags. In the case of no error found by the reader. (IN) manufacturer code.6. the bytes are converted with the least significant byte first. 2. unsigned short *pwRespLength. unsigned char bNoOfBlocks. pbUID(8). 0x04 for NXP Semiconductors. No further changes possible. unsigned char bPageNo. bManCode(1).6.11 ICodeISO15693_LockPageProtectionCondition signed char ICodeISO15693_LockPageProtectionCondition (unsigned char bFlags.V. the following bytes are according to the ICODE SLI-S specification (1 byte flags respectively 1 byte label-error code). unsigned char *pbResp) IN bFlags(1). If the data type consists of several bytes. Returns: MI_OK I1_TIMEOUT This command is used to lock the protection status of one block. Application note Rev. unsigned char *pbUID. bPageNo(1) OUT pbResp(pbRespLen) Parameters: bFlags bManCode pbUID bpageNo pbRespLen pbResp (IN) as defined in ISO15693. The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B.2. (IN) manufacturer code. (IN) block protection status to be locked. 2006. several functions are declared for adding data at the end of the stream. unsigned char bManCode. unsigned short *pbRespLen. only the status-byte is transmitted. (OUT) for character arrays an additional length information is necessary. If an error occurred.NXP Semiconductors AN 077520 SLRC400 Command Set 3. (IN) unique identifier of the IC. the bytes are converted with the least significant byte first. All rights reserved.0 — November 2009 61 of 72 . 2. In the case of no error found by the reader. First byte of the response is the status. (OUT) depending on the data type. unsigned char *pbResp) IN bFlags(1). pbUID(8) OUT pbResp(pbRespLen) Parameters: bFlags bManCode pbUID pbRespLen pbResp (IN) as defined in ISO15693. the following bytes are according to the ICODE SLI-S specification (1 byte flags respectively 1 byte label-error code). (IN) manufacturer code.NXP Semiconductors AN 077520 SLRC400 Command Set 3.0 — November 2009 62 of 72 . unsigned char *pbUID. (OUT) for character arrays an additional length information is necessary.6. unsigned char bManCode. If an error occurred. All rights reserved.2. unsigned short *pbRespLen. The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. 0x04 for NXP Semiconductors. First byte of the response is the status. Returns: MI_OK I1_TIMEOUT This command destroys the ICODE SLI-S label if the destroy-s password has been transmitted before. Application note Rev. (OUT) depending on the data type.V. (IN) unique identifier of the IC. 2006. 2. only the status-byte is transmitted. the bytes are converted with the least significant byte first. If the data type consists of several bytes. several functions are declared for adding data at the end of the stream.12 ISO15693_DestroyS signed char ISO15693_DestroyS (unsigned char bFlags. In the case of no error found by the reader. bManCode(1). char *pbUID. First byte of the response is the status. (OUT) depending on the data type. If the data type consists of several bytes. (OUT) for character arrays an additional length information is necessary.V.2. The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR AN 077520 © NXP B. In this mode. If an error occurred. bManCode(1). All rights reserved. several functions are declared for adding data at the end of the stream. (IN) manufacturer code. 0x04 for NXP Semiconductors. In the case of no error found by the reader. except GetRandomNumber and SetPassword. char bManCode. only the status-byte is transmitted. the following bytes are according to the ICODE SLI-S specification (1 byte flags respectively 1 byte label-error code).0 — November 2009 63 of 72 . Returns: MI_OK I1_TIMEOUT This command enables the privacy mode. char *pbResp) (IN) as defined in ISO15693. short *pwRespLength.NXP Semiconductors AN 077520 SLRC400 Command Set 3. the bytes are converted with the least significant byte first. pbUID(8) OUT pbResp(pwRespLenght) Parameters: bFlags bManCode pbUID pwRespLength pbResp char bFlags.6. Application note Rev. 2. (IN) unique identifier of the IC. 2006. the label will not response to any command.13 ICodeISO15693_EnablePrivacy signed char ICodeISO15693_EnablePrivacy (unsigned unsigned unsigned unsigned unsigned IN bFlags(1). (IN) manufacturer code. (IN) number of blocks to be read. (IN) application family identifier. (OUT) for character arrays an additional length information is necessary. unsigned short *pbRespLen. (IN) length of mask (UID). e. bNoOfBlocks(1) OUT pbResp(pbRespLen) Parameters: bFlags bManCode bAFI bMasLen pbUID bBlockNo bNoOfBlocks pbRespLen pbResp (IN) as defined in ISO15693. at the second is a collision.: 1st timeslot is free.V. (IN) unique identifier of the IC. the bytes are converted with the least significant byte first.bAFI(1). unsigned char bMaskLen. unsigned char *pbUID. “I2_NO_ERR” or “I1_COLLERR” 1st Byte Status 2nd Byte 1 Byte Collision position Flags x Bytes Response of the labels.0 — November 2009 64 of 72 . If one or more labels answer within a timeslot the response for this timeslot includes 13 byte. at the third no error occur only one label answer and all others are empty.NXP Semiconductors AN 077520 SLRC400 Command Set 3. unsigned char *pbResp) IN bFlags(1). bBlockNo(1).g. Application note Rev. Else the response includes only the status! If 16 timeslots are used the response is a combination of the above described values. All rights reserved. The response look like this: 1 TS 2nd TS 3rd TS 4th TS 16th TS 0x01 0x03 0x11 Flags Response 0x00 0x00 Flags Response 0x01 … 0x01 st AN 077520 © NXP B. 2. pbUID(bMaskLen). bManCode(1). (IN) first block to be read. if an error occur within a timeslot the response includes 1 byte. 2006. unsigned char bAFI. several functions are declared for adding data at the end of the stream. bMaskLen(1). If the data type consists of several bytes. If the inventory read command is used for 1 timeslot the response has the following format: If status is “I1_OK”.14 ISO15693_InventoryReadS signed char ISO15693_InventoryReadS (unsigned char bFlags. unsigned char bManCode. as described in the data sheet “ICODE SLI-S”. Returns: MI_OK I1_TIMEOUT The principle of the function is depending on the flags and described in the ISO15693 standard. unsigned char bBlockNo. unsigned char bNoOfBlocks. (OUT) depending on the data type. 0x04 for NXP Semiconductors.6.2. 0x04 for NXP Semiconductors. unsigned char *pbResp) IN bFlags(1). (IN) unique identifier of the IC. several functions are declared for adding data at the end of the stream.15 ISO15693_FastInventoryReadS signed char ISO15693_FastInventoryReadS (unsigned char bFlags. unsigned char *pbUID. unsigned short *pbRespLen.2. unsigned char bBlockNo. 2006. pbUID(bMaskLen). (IN) first block to be read. the bytes are converted with the least significant byte first. unsigned char bManCode. bMaskLen(1). (OUT) depending on the data type. bNoOfBlocks(1) OUT pbResp(pbRespLen) Parameters: bFlags bManCode bAFI bMasLen pbUID bBlockNo bNoOfBlocks pbRespLen pbResp (IN) as defined in ISO15693.bAFI(1). bBlockNo(1). Returns: MI_OK I1_TIMEOUT This command behaves the same as InventoryReadS command. bManCode(1). 2. (IN) number of blocks to be read. unsigned char bNoOfBlocks.6.V. unsigned char bAFI. Differences exits in the way of data transmission. The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 AN 077520 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR © NXP B. (IN) length of mask (UID). (OUT) for character arrays an additional length information is necessary. All rights reserved. unsigned char bMaskLen. (IN) application family identifier.NXP Semiconductors AN 077520 SLRC400 Command Set The following status can occur: 0x00 0x01 0x02 0x03 0x04 0x05 0x07 I1_OK or I2_NO_ERR I2_NO_TAG I2_CRCERR I2_COLLERR I2_SNRERR I2_COUNTERR I2_FRAMINGERR 3.0 — November 2009 65 of 72 . Application note Rev. (IN) manufacturer code. If the data type consists of several bytes. 2. 2006.NXP Semiconductors AN 077520 SLRC400 Command Set 4. Return Values Overview The naming of the return values allows differing between reader and communication returns: • MI_Reader errors • I1_Reader errors • COM_Communication errors (generally) • COM_IRDA Communication errors from the IRDA interface • COM_RS232 Communication errors from the RS232 interface • COM_USB Communication errors from the USB interface 4. Value 0 0 0 0 0 0 -1 -2 -2 -3 -6 -8 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 AN 077520 Return Values Name of constant COM_SUCCESS MI_CHK_OK MI_CRC_ZERO MI_OK I1_OK I1_NO_ERR MI_CHK_FAILED MI_CHK_COMPERR MI_CRCERR MI_EMPTY MI_CODEERR MI_SERNRERR MI_BITCOUNTERR MI_BYTECOUNTERR MI_IDLE MI_TRANSERR MI_WRITEERR MI_INCRERR MI_DECRERR MI_READERR MI_OVFLERR MI_POLLING MI_FRAMINGERR MI_ACCESSERR MI_UNKNOWN_COMMAND MI_COLLERR MI_INITERR Short description Operation successful Operation successful Operation successful Operation successful Operation successful Operation successful Reader: CRC Error Reader: Check Compare Error Reader: CRC Error Reader: Value Overflow Reader: Code Error Reader: Serial Number Error Reader: Bit count error Reader: Byte count error Reader: Idle Reader: Transfer Error Reader: Write error Reader: Increment error Reader: Decrement error Reader: Read error Reader: Overflow error Reader: Polling Reader: Framing error Reader: Access error Reader: Unknown Command Reader: Reset error Reader: Initialization failed © NXP B.V. All rights reserved.0 — November 2009 66 of 72 . Application note Rev.1 Table of Return Values Table 9. 0 — November 2009 67 of 72 . 2006. All rights reserved.V.NXP Semiconductors AN 077520 SLRC400 Command Set Value -25 -26 -27 -30 -31 -53 -54 -55 -60 -61 -62 -63 -70 -71 -72 -73 -82 -99 -100 -109 -110 -117 -118 -120 -121 -123 -124 -151 -180 -199 -254 -255 -260 -262 -1001 -1002 -1003 -1004 -1005 -1006 AN 077520 Name of constant MI_RESETERR MI_INTERFACEERR MI_ACCESSTIMEOUT MI_QUIT MI_CODINGERR MI_SENDBUF_OVERFLOW MI_BAUDRATE_NOT_SUPPORTED MI_SAME_BAUDRATE_REQUIRED MI_WRONG_PARAMETER_VALUE I1_WRONGPARAM I1_NYIMPLEMENTED I1_TSREADY I1_TIMEOUT I1_NOWRITE I1_NOHALT I1_MISS_ANTICOLL I1_COMM_ABORT MI_BREAK MI_NY_IMPLEMENTED MI_FIFOERR MI_WRONG_ADDR MI_WRONG_TEST_MODE MI_TEST_FAILED MI_COMM_ABORT MI_INVALID_BASE MI_WRONG_VALUE MI_VALERR MI_NO_VALUE MI_WRONG_BASEADDR MI_NO_ERROR_TEXT_AVAIL MI_DRIVER_FAILURE MI_INTERFACE_FAILURE MI_SERERR MI_RECBUF_OVERFLOW COM_ERROR COM_NO_INTERFACE_HANDLE COM_INTERFACE_OPEN COM_INTERFACE_NOT_OPEN COM_CREATE_FILE_FAILED COM_PURGE_COMM_FAILED Short description Reader: Reset Error Reader: Interface error Reader: Access timeout Reader: Quit error Reader: Code Error Reader: Send buffer overflow Reader: Baudrate not supported Reader: Same baudrate required Reader: Wrong parameter value Reader: Wrong parameter Reader: Command not yet implemented Reader: TimeSlot is free Reader: Timeout occurred Reader: no Write at that TimeSlot Reader: no Halt at that TimeSlot Reader: “I1output_anticoll_select” have to be done first Reader: COMM Abort Reader: ??? Reader: Not yet implemented Reader: FIFO Error Reader: Wrong address Reader: Wrong Test mode Reader: Test failed Reader: COMM Abort Reader: Invalid base Reader: Wrong value Reader: Value Error Reader: No Value Reader: Wrong base address Reader: No Error Text available Reader: Driver failure Reader: Interface failure Reader: Serial Number Error Reader: Overflow of the receive buffer HostRdCom: No overloaded function found HostRdCom: No valid interface handle HostRdCom: Interface is already opened HostRdCom: Interface is not opened HostRdCom: Command CreateFile() failed HostRdCom: Command PurgeComm() failed © NXP B. 2. Application note Rev. V.NXP Semiconductors AN 077520 SLRC400 Command Set Value -1007 -1008 -1009 -1010 -1011 -1012 -1016 -1017 -1018 -1019 -1020 -1021 -1022 -1023 -1024 -1025 -1026 -1027 -1028 -1029 -1030 -1031 -1032 -1033 -1034 -1035 -1036 -1037 -1038 -1039 -1040 -1041 AN 077520 Name of constant COM_GET_COMM_STATE_FAILED COM_SETUP_COMM_FAILED COM_SET_COMM_STATE_FAILED COM_SET_COMM_MASK_FAILED COM_SET_COMM_TIMEOUTS_FAI LED COM_WRONG_VALUE COM_READER_NOT_IN_RANGE COM_CONNECT_FAILED COM_NEW_FAILED COM_INVALID_WT_HANDLE COM_START_WT_FAILED COM_INVALID_CB_HANDLE COM_LEN_OVERFLOW COM_RS232_SERCOM_ERR Short description HostRdCom: Command GetCommState() failed HostRdCom: Command SetupComm() failed HostRdCom: Command SetCommState() failed HostRdCom: Command SetMask() failed HostRdCom: Command SetCommTimeouts failed HostRdCom: Passed parameter . All rights reserved. 2006.wrong value HostRdCom: Discovery failed . Application note Rev.0 — November 2009 68 of 72 . 2.Reader not in range HostRdCom: Connecting to reader failed HostRdCom: New() failed .insufficient memory HostRdCom: Invalid worker thread handle HostRdCom: Starting worker thread failed HostRdCom: Passed callback handle is invalid HostRdCom: Buffer length overflow HostRdCom: Error on RS232 interface COM_RS232_SEND_CMD_NO_DLE HostRdCom: No DLE received from reader _ERR error COM_RS232_SEND_DEVICE_ERR COM_RS232_RESP_CMD_NAK_ER R COM_TIMEOUT COM_RS232_RESP_TO_ERR HostRdCom: Error sending data to reader via RS232 HostRdCom: Reader response: NAK HostRdCom: Timeout occurred HostRdCom: First received character from reader not STX (RS232) COM_RS232_RESP_OVERFLOW_E HostRdCom: Response buffer overflow RR (RS232) COM_RS232_RECV_DEVICE_ERR HostRdCom: Error receiving data from reader via RS232 COM_RS232_RESP_UNDERFLOW_ HostRdCom: To less bytes received from ERR reader (RS232) COM_RS232_DATALENGTH_ERR COM_RS232_CHECKSUM_ERR COM_RS232_TX_RX_SEQ_ERR COM_RS232_COPY_DATA_ERR COM_IRDA_SELECT_FAILED COM_IRDA_SEND_TIMEOUT COM_IRDA_SOCKET_NOT_READY COM_IRDA_SEND_DEVICE_ERR COM_IRDA_RECV_DEVICE_ERR COM_IRDA_RECV_TIMEOUT HostRdCom: Wrong number of bytes received from reader (RS232) HostRdCom: Checksum error (RS232) HostRdCom: Sequence numbers not equal (RS232) HostRdCom: Error copying data to command object (RS232) HostRdCom: Command Select() failed (IrDA) HostRdCom: Send timeout error (IrDA) HostRdCom: Socket not ready for transmitting data (IrDA) HostRdCom: Error sending data to reader via IrDA HostRdCom: Error receiving data from reader via IrDA HostRdCom: Receive timeout error (IrDA) © NXP B. 0 — November 2009 69 of 72 .NXP Semiconductors AN 077520 SLRC400 Command Set Value -1042 -1043 -1044 -1045 -1046 -1047 -1048 -1049 -1050 -1051 -1052 -1053 -1054 -1055 -1056 -1057 -1058 Name of constant COM_IRDA_TX_RX_SEQ_ERR COM_IRDA_COPY_DATA_ERR COM_IRDA_LEN_ERR COM_NO_PROTOCOL_SET COM_USB_DLL_LOAD_ERR COM_USB_MISSING_FCT_ADDR COM_USB_SEND_DEVICE_ERR COM_USB_RECV_DEVICE_ERR COM_USB_TX_RX_SEQ_ERR COM_USB_LEN_ERR COM_USB_COPY_DATA_ERR COM_USB_NO_DEVICE_FOUND COM_USB_SEND_TIMEOUT COM_USB_RECV_TIMEOUT COM_USB_FILE_NOT_FOUND COM_USB_ACCESS_DENIED COM_RS232_ETX_DLE_EXPECTE D Short description HostRdCom: Sequence numbers not equal (IrDA) HostRdCom: Error copying data to command object (IrDA) HostRdCom: Wrong number of bytes received from reader (IrDA) HostRdCom: No protocol set HostRdCom: Error loading USB Dll HostRdCom: Error loading function addresses (UBS) HostRdCom: Error sending data to reader (USB) HostRdCom: Error receiving data from reader (USB) HostRdCom: Sequence numbers not equal (USB) HostRdCom: Wrong number of bytes received from reader (USB) HostRdCom: Error copying data to command object (IrDA) HostRdCom: No device found (USB) HostRdCom: Timeout period exceeded while writing to a device (USB) HostRdCom: Timeout periode exceeded while reading from a device USB) HostRdCom: File descriptor not longer valid (USB) HostRdCom: Device could not be accessed (USB) HostRdCom: Receive error at ISO3964 protocol (RS232) AN 077520 © NXP B. Application note Rev. 2006. All rights reserved. 2.V. All rights reserved. Legal information 5. AN 077520 © NXP B. product names. military. NXP Semiconductors makes no representation or warranty that such applications will be suitable for the specified use without further testing or modification.4 Patents Notice is herewith given that the subject device uses one or more of the following patents and that each of these patents may have corresponding patents in other jurisdictions. including without limitation specifications and product descriptions. space or life support equipment. 5. NXP Semiconductors does not give any representations or warranties as to the accuracy or completeness of information included herein and shall have no liability for the consequences of use of such information. Application note Rev. Right to make changes — NXP Semiconductors reserves the right to make changes to information published in this document.NXP Semiconductors AN 077520 SLRC400 Command Set 5. Applications — Applications that are described herein for any of these products are for illustrative purposes only.0 — November 2009 70 of 72 .V. However. 2.2 Disclaimers General — Information in this document is believed to be accurate and reliable. This document supersedes and replaces all information supplied prior to the publication hereof. NXP Semiconductors accepts no liability for inclusion and/or use of NXP Semiconductors products in such equipment or applications and therefore such inclusion and/or use is for the customer’s own risk. aircraft. at any time and without notice. nor in applications where failure or malfunction of a NXP Semiconductors product can reasonably be expected to result in personal injury. service names and trademarks are property of their respective owners. NXP Semiconductors does not give any representations or warranties. as to the accuracy or completeness of such information and shall have no liability for the consequences of use of such information. <Patent ID> — owned by <Company name> 5. The content is still under internal review and subject to formal approval. 2006. <Name> — is a trademark of NXP B.1 Definitions Draft — The document is a draft version only.3 Licenses Purchase of NXP <xxx> components <License statement text> 5. death or severe property or environmental damage. 5.5 Trademarks Notice: All referenced brands. expressed or implied.V. authorized or warranted to be suitable for use in medical. Suitability for use — NXP Semiconductors products are not designed. which may result in modifications or additions. ............27 ISO15693_Inventory ...............2 EPCBeginRound ..........4............3...............3.54 ISO15693_SetPwd ......61 3..........10 3.....6.2.10 3......15 ISO15693_FastInventoryReadS....................19 3...7 3..........3.2......................6..........2...14 3......45 ISO15693_Lock_Eas .........5..........5......2.......11 3.....2.......5................................5........4 I1output_readI1 .................2 Function Description ICODE EPC..........5 2.............1......8 3.......5.2..........13 3..................8 3............................11 3...................19 3.......... Legal information .........6 2....2..............2.com For sales office addresses.............................. have been included in the section 'Legal information'.70 5.........5....4......10 3...16 3....2.......V............. 2006...51 ICodeISO15693_PwdProtectEAS ...............53 ICodeISO15693_GetRandomNumber...................5...........59 ICodeISO15693_GetMultipleBlockProtStatus ..........2...3 2................2.............. please visit: http://www......48 Included Functions .60 ICodeISO15693_LockPageProtectionCondition .................6....................2.44 ISO15693_Reset_Eas..2.............. Return Values Overview ............................2........17 3.........2.................6.3 3.6.36 ISO15693_Lock_DSFID ...6 3.....2........12 3....... © NXP B...........22 3..............12 ISO15693_DestroyS .16 3...........................3.......8 3.........1 3.....................................4..............1 Definitions.....2.....2.................2....9 3.................6...9 3..........4.....................4..........................................5.2.......2.....2...................1.....................2.....15 3...3 3.2.........2 General Description for ICODE ..................3 UIDWrite...........2..........................................................63 3....18 3..........................2 3.............15 3..10 3...........2........2 3.3 I1calc_tse_hash ........ ICODE SLI-L Command Set ...........................26 I2init_StdMode_15693 .......................................2...5....5..1 Included Functions .................66 4.......4.1 SL400InterfaceOpen ........32 ISO15693_Reset_To_Ready ................16 3.......................12 3...........................................1..2.....................................2.5.....................23 3.1 I1init_StdMode ....1........................6..2..........3 ICODE EPC Command Set...................5 3.................2..............................3.......47 ICODE SLI-S...............................58 ISO15693_ProtectPage..2....2............................6.......17 3.....1 UIDPcdConfig ...65 4.....com Date of release: November 2009 Document identifier: AN 077520 ...62 3...................2 Function Description ICODE 1 ......64 3............37 ISO15693_Get_System_Information.1 Included Functions ..........5 2................6..........2.2.............5 3...............................2...30 ISO15693_Lock_Block .........42 ISO15693_Set_Eas..............2 Function Description ICODE UID and ICODE UID-OTP ........2..5.........21 3..........2......2.......................................2.......17 3.......2...6.1 Included Functions .....3 I1SetBitPhase ..2 SL400InterfaceClose....2...........70 Please be aware that important notices concerning this document and the product(s) described herein..........5.......................................3 EPCWrite ................. email to: salesaddresses@nxp.........2........5................................2.....17 3.2...........2...2 UIDBeginRound .....2.......2 3................................ All rights reserved...2..7 3.40 ISO15693_Fast_Inventory_Read .....20 3....28 ISO15693_Write_sm ........................................6 3...........7 I1output_halt .....33 ISO15693_Write_AFI .............5..........10 3.................8 3............................................5...............................................2 I1init_FastMode..13 3..2 ICODE 1 Command Set ............... For more information..57 ICodeISO15693_64BitPWDProtection ..........7 3..5...3 1.................4 EPCDestroy ..7 3...................................7 3... General Information ...2 3.......22 3.................................7 3.6.......5...........3 1.....52 ICodeISO15693_ReadEPC......1 EPCPcdConfig ...........46 ISO15693_Eas_Alarm.................................6........5 I1output_anticoll_select.....6......2....................nxp....2..........1.9 I1_reset_quiet_bit.........7 3....1..............2....2...2.2 I1PcdConfig.......................1 Included Functions .....................26 I2init_FastMode_15693 ...10 3..........1 Table of Return Values.20 3..........55 ISO15693_WritePwd .2 SLRC400 Interface Wrappers ..........................51 ICodeISO15693_WriteEAS_ID.....18 3.....6.........................................2..........................4 3.............2 Function Description ................... SLI-L .........................17 3..................2.............14 ISO15693_InventoryReadS.2.5.....2......2....................2...........................................39 ISO15693_Inventory_Read ................20 3....................2.................20 3................2.......6 I1output_write...........2.....................66 5.........................8 3............2...6.............29 ISO15693_Stay_Quiet ......................31 ISO15693_Select ...........3.6.. SLEV400 Command Set .........4 SL400LibInfo ........13 ICodeISO15693_EnablePrivacy...2.................1 Scope .8 I1output_eas ........................21 3..............2...19 3...5...............56 ICodeISO15693_LockPwd ....4 ICODE UID and ICODE UID-OTP Command Set ....................................2................38 ISO15693_Get_Multiple_Block_Security............NXP Semiconductors AN 077520 SLRC400 Command Set 6...1 General Description of Serial Communication............... Modules.................1 I1PcdRfReset ...23 Function Description ICODE SLI .1 3..............1 Administration Command Set.............9 3.............1 3....5..26 ISO15693_Read_sm .........................48 Function Description ICODE SLI-S..6 3...................2..........11 Included Functions ....9 3........34 ISO15693_Lock_AFI ................35 ISO15693_Write_DSFID ..2......2......4 3.....2..5 ICODE SLI and ISO15693 specific Command Set.....1 3.....5...................................................................................20 3...................6.............6 2..6 3...............5.......4 UIDDestroy.. Contents 1.................. ..........................70 Patents ...............5 6................NXP Semiconductors AN 077520 SLRC400 Command Set 5.71 Please be aware that important notices concerning this document and the product(s) described herein......................... © NXP B...................3 5...... email to:
[email protected] For sales office addresses.......2 5...V..... Disclaimers................... have been included in the section 'Legal information'.....70 Contents.......70 Licenses ...................com Date of release: November 2009 Document identifier: AN 077520 .. please visit: http://www........nxp...70 Trademarks ......... For more information...................................................... 2006...........4 5......................... All rights reserved............