FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L.cpp
Go to the documentation of this file.
00001 /*-------------------------------------------------------
00002 |                                                       |
00003 |      FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L.cpp   |
00004 |                                                       |
00005 ---------------------------------------------------------
00006 
00007 Copyright © 2009-2013   FEIG ELECTRONIC GmbH, All Rights Reserved.
00008                                                 Lange Strasse 4
00009                                                 D-35781 Weilburg
00010                                                 Federal Republic of Germany
00011                                                 phone    : +49 6471 31090
00012                                                 fax      : +49 6471 310999
00013                                                 e-mail   : obid-support@feig.de
00014                                                 Internet : http://www.feig.de
00015                                         
00016 Author                  :       Markus Hultsch
00017 Begin                   :       02.10.2009
00018 
00019 Version                 :       04.05.02 / 02.07.2013 / M. Hultsch
00020                                                 - method PasswordProtectAFI moved to FedmIscTagHandler_ISO15693_NXP_ICODE_SLIX_L
00021 
00022                                                 04.04.04 / 10.04.2013 / M. Hultsch
00023                                                 - new method: PasswordProtectAFI
00024 
00025                                                 03.01.00 / 10.02.2010 / M. Hultsch
00026 
00027 Operation Systems       :       independent
00028 
00029 Function                        :       class for OBID i-scan® HF transponder ISO15693 of manufacturer NXP Semiconductors
00030                                                 specialized tag handler on top with custom specific commands
00031 
00032 NOTE                            :       this class supports only selected or addressed mode in Host-Mode
00033 
00034 
00035 Trademarks:
00036 -----------
00037 OBID®, OBID i-scan® and OBID myAXXESS® are registered Trademarks of FEIG ELECTRONIC GmbH
00038 Other Trademarks: see FEDM.h
00039 */
00040 
00041 
00042 #if !defined(_FEDM_NO_TAG_HANDLER_ISO15693)
00043 
00044 #include "FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L.h"
00045 #include "../FEDM_ISCReader.h"
00046 #include "../FEDM_ISOTabItem.h"
00047 #include "../FEDM_ISCReaderID.h"
00048 #include "../FEDM_ISC.h"
00049 #include "../../FEDM_Functions.h"
00050 
00051 
00052 #if _MSC_VER >= 1400
00053         #pragma warning(disable : 4996)
00054 #endif
00055 
00056 
00057 
00058 //####################################################################
00059 // class FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L
00060 // >> supports only ISO Host Commands <<
00061 //####################################################################
00062 
00063 FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L::FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L(
00064         FEDM_ISCReader* pReader,
00065         FEDM_ISOTabItem* pTabItem )
00066         : FedmIscTagHandler_ISO15693_NXP_ICODE_SLI(pReader, FedmIscTagHandler::TYPE_ISO15693_NXP_ICODE_SLI_L, pTabItem)
00067 {
00068         m_sTagName = "ISO 15693 : ";
00069         m_sTagName += FEDM_TabItem::GetISO15693Manufacturer(FEDM_ISC_ISO_MFR_NXP);
00070         m_sTagName += " I-Code SLI-L";
00071 }
00072 
00073 FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L::FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L(
00074         FEDM_ISCReader* pReader,
00075         unsigned int uiTagHandlerType,
00076         FEDM_ISOTabItem* pTabItem )
00077         : FedmIscTagHandler_ISO15693_NXP_ICODE_SLI(pReader, uiTagHandlerType, pTabItem)
00078 {
00079         m_sTagName = "ISO 15693 : ";
00080         m_sTagName += FEDM_TabItem::GetISO15693Manufacturer(FEDM_ISC_ISO_MFR_NXP);
00081         m_sTagName += " I-Code SLI-L";
00082 }
00083 
00084 FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L::~FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L()
00085 {
00086 }
00087 
00088 // set all data members to 0
00089 /*void FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L::Init()
00090 {
00091 }*/
00092 
00093 /***************************************************************************
00094   Begin                 :       09.10.2009 / M. Hultsch
00095 
00096   Version               :       03.01.00 / 09.10.2009 / M. Hultsch
00097 
00098   Function                      :       [0xB1][0xA6] PasswordProtectEAS
00099 
00100   Parameters            :
00101 
00102   Return value          :       0                               - if tramsmission was successful
00103                                                 status byte (>1)- if the reader signals a problem
00104                                                 error code (<0) - if something goes wrong
00105 ***************************************************************************/
00106 int FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L::PasswordProtectEAS()
00107 {
00108         int iErr = 0;
00109         
00110         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA6));
00111         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00112 
00113         if(m_bNonAddressedMode)
00114         {
00115                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00116         }
00117         else if(m_pTabItem->m_bIsSelected)
00118         {
00119                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00120         }
00121         else
00122         {
00123                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00124                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00125         }
00126 
00127         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA6));
00128         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_NXP));
00129         
00130         // ... and execute
00131         return m_pReader->SendProtocol(0xB1);
00132 }
00133 
00134 /***************************************************************************
00135   Begin                 :       09.10.2009 / M. Hultsch
00136 
00137   Version               :       03.01.00 / 09.10.2009 / M. Hultsch
00138 
00139   Function                      :       [0xB1][0xA7] WriteEASID
00140 
00141   Parameters            :       string sEASID
00142 
00143   Return value          :       0                               - if tramsmission was successful
00144                                                 status byte (>1)- if the reader signals a problem
00145                                                 error code (<0) - if something goes wrong
00146 ***************************************************************************/
00147 int FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L::WriteEASID(
00148         string sEASID)
00149 {
00150         int iErr = 0;
00151         
00152         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA7));
00153         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00154 
00155         if(m_bNonAddressedMode)
00156         {
00157                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00158         }
00159         else if(m_pTabItem->m_bIsSelected)
00160         {
00161                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00162         }
00163         else
00164         {
00165                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00166                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00167         }
00168                 
00169         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_NXP_EAS_ID, sEASID));
00170 
00171         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA7));
00172         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_NXP));
00173         
00174         // ... and execute
00175         return m_pReader->SendProtocol(0xB1);
00176 }
00177 
00178 /***************************************************************************
00179   Begin                 :       09.10.2009 / M. Hultsch
00180 
00181   Version               :       03.01.00 / 09.10.2009 / M. Hultsch
00182 
00183   Function                      :       [0xB1][0xB2] GetRandomNumber
00184 
00185   Parameters            :
00186 
00187   Return value          :       0                               - if tramsmission was successful
00188                                                 status byte (>1)- if the reader signals a problem
00189                                                 error code (<0) - if something goes wrong
00190 ***************************************************************************/
00191 int FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L::GetRandomNumber(
00192         unsigned char* ucRandomNo,
00193         unsigned int uiRandomNoBufferLen )
00194 {
00195         FEDM_CHK3(ucRandomNo);
00196 
00197         if(uiRandomNoBufferLen < 2)
00198                 return FEDM_ERROR_BUFFER_LENGTH;
00199 
00200         int iErr = 0;
00201         
00202         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xB2));
00203         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00204 
00205         if(m_bNonAddressedMode)
00206         {
00207                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00208         }
00209         else if(m_pTabItem->m_bIsSelected)
00210         {
00211                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00212         }
00213         else
00214         {
00215                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00216                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00217         }
00218 
00219         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xB2));
00220         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_NXP));
00221         
00222         // ... and execute
00223         int iBack = m_pReader->SendProtocol(0xB1);
00224         if(iBack)
00225                 return iBack;
00226 
00227         FEDM_CHK1(iErr, m_pReader->GetData(FEDM_ISC_TMP_B1_RSP_NXP_RANDOM_NUMBER, ucRandomNo, 2));
00228 
00229         return FEDM_OK;
00230 }
00231 
00232 /***************************************************************************
00233   Begin                 :       09.10.2009 / M. Hultsch
00234 
00235   Version               :       03.01.00 / 09.10.2009 / M. Hultsch
00236 
00237   Function                      :       [0xB1][0xB3] SetPassword
00238 
00239   Parameters            :       unsihned char ucPasswordIdentifier, string sPassword
00240 
00241   Return value          :       0                               - if tramsmission was successful
00242                                                 status byte (>1)- if the reader signals a problem
00243                                                 error code (<0) - if something goes wrong
00244 ***************************************************************************/
00245 int FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L::SetPassword(
00246         unsigned char ucPasswordIdentifier,
00247         string sPassword)
00248 {
00249         int iErr = 0;
00250         
00251         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xB3));
00252         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00253 
00254         if(m_bNonAddressedMode)
00255         {
00256                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00257         }
00258         else if(m_pTabItem->m_bIsSelected)
00259         {
00260                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00261         }
00262         else
00263         {
00264                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00265                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00266         }
00267 
00268         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_NXP_PASSWORD_ID, ucPasswordIdentifier));
00269         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_NXP_PASSWORD, sPassword));
00270 
00271         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xB3));
00272         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_NXP));
00273         
00274         // ... and execute
00275         return m_pReader->SendProtocol(0xB1);
00276 }
00277 /***************************************************************************
00278   Begin                 :       09.10.2009 / M. Hultsch
00279 
00280   Version               :       03.01.00 / 09.10.2009 / M. Hultsch
00281 
00282   Function                      :       [0xB1][0xB4] WritePassword
00283 
00284   Parameters            :       unsigned char ucPasswordIdentifier, string sPassword
00285 
00286   Return value          :       0                               - if tramsmission was successful
00287                                                 status byte (>1)- if the reader signals a problem
00288                                                 error code (<0) - if something goes wrong
00289 ***************************************************************************/
00290 int FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L::WritePassword(
00291         unsigned char ucPasswordIdentifier,
00292         string sPassword)
00293 {
00294         int iErr = 0;
00295 
00296         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xB4));
00297         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00298 
00299         if(m_bNonAddressedMode)
00300         {
00301                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00302         }
00303         else if(m_pTabItem->m_bIsSelected)
00304         {
00305                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00306         }
00307         else
00308         {
00309                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00310                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00311         }
00312 
00313         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_NXP_PASSWORD_ID, ucPasswordIdentifier));
00314         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_NXP_PASSWORD, sPassword));
00315 
00316         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xB4));
00317         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_NXP));
00318         
00319         // ... and execute
00320         return m_pReader->SendProtocol(0xB1);
00321 }
00322 
00323 /***************************************************************************
00324   Begin                 :       09.10.2009 / M. Hultsch
00325 
00326   Version               :       03.01.00 / 09.10.2009 / M. Hultsch
00327 
00328   Function                      :       [0xB1][0xB5] LockPassword
00329 
00330   Parameters            :       unsigned char ucPasswordIdentifier
00331 
00332   Return value          :       0                               - if tramsmission was successful
00333                                                 status byte (>1)- if the reader signals a problem
00334                                                 error code (<0) - if something goes wrong
00335 ***************************************************************************/
00336 int FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L::LockPassword(
00337         unsigned char ucPasswordIdentifier)
00338 {
00339         int iErr = 0;
00340 
00341         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xB5));
00342         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00343 
00344         if(m_bNonAddressedMode)
00345         {
00346                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00347         }
00348         else if(m_pTabItem->m_bIsSelected)
00349         {
00350                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00351         }
00352         else
00353         {
00354                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00355                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00356         }
00357 
00358         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_NXP_PASSWORD_ID, ucPasswordIdentifier));
00359 
00360         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xB5));
00361         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_NXP));
00362         
00363         // ... and execute
00364         return m_pReader->SendProtocol(0xB1);
00365 }
00366 
00367 /***************************************************************************
00368   Begin                 :       09.10.2009 / M. Hultsch
00369 
00370   Version               :       03.01.00 / 09.10.2009 / M. Hultsch
00371 
00372   Function                      :       [0xB1][0xB9] DestroySlI_L
00373 
00374   Parameters            :       
00375 
00376   Return value          :       0                               - if tramsmission was successful
00377                                                 status byte (>1)- if the reader signals a problem
00378                                                 error code (<0) - if something goes wrong
00379 ***************************************************************************/
00380 int FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L::DestroySLI_L()
00381 {
00382         int iErr = 0;
00383         
00384         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xB9));
00385         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00386 
00387         if(m_bNonAddressedMode)
00388         {
00389                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00390         }
00391         else if(m_pTabItem->m_bIsSelected)
00392         {
00393                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00394         }
00395         else
00396         {
00397                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00398                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00399         }
00400 
00401         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xB9));
00402         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_NXP));
00403         
00404         // ... and execute
00405         return m_pReader->SendProtocol(0xB1);
00406 }
00407 
00408 /***************************************************************************
00409   Begin                 :       09.10.2009 / M. Hultsch
00410 
00411   Version               :       03.01.00 / 09.10.2009 / M. Hultsch
00412 
00413   Function                      :       [0xB1][0xBA] EnablePrivacy
00414 
00415   Parameters            :       
00416 
00417   Return value          :       0                               - if tramsmission was successful
00418                                                 status byte (>1)- if the reader signals a problem
00419                                                 error code (<0) - if something goes wrong
00420 ***************************************************************************/
00421 int FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L::EnablePrivacy()
00422 {
00423         int iErr = 0;
00424         
00425         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xBA));
00426         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00427 
00428         if(m_bNonAddressedMode)
00429         {
00430                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00431         }
00432         else if(m_pTabItem->m_bIsSelected)
00433         {
00434                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00435         }
00436         else
00437         {
00438                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00439                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00440         }
00441 
00442         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xBA));
00443         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_NXP));
00444         
00445         // ... and execute
00446         return m_pReader->SendProtocol(0xB1);
00447 }
00448 
00449 #endif // #if !defined(_FEDM_NO_TAG_HANDLER_ISO15693)


maggie_rfid_drivers
Author(s): Raul Perula-Martinez
autogenerated on Mon Sep 14 2015 03:05:30