FedmIscTagHandler_ISO15693_NXP_ICODE_SLI.cpp
Go to the documentation of this file.
00001 /*-------------------------------------------------------
00002 |                                                       |
00003 |      FedmIscTagHandler_ISO15693_NXP_ICODE_SLI.cpp     |
00004 |                                                       |
00005 ---------------------------------------------------------
00006 
00007 Copyright © 2009-2010   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                 :       03.01.00 / 10.02.2010 / M. Hultsch
00020 
00021 Operation Systems       :       independent
00022 
00023 Function                        :       class for OBID i-scan® HF transponder ISO15693 of manufacturer NXP Semiconductors
00024                                                 specialized tag handler on top with custom specific commands
00025 
00026 NOTE                            :       this class supports only selected or addressed mode in Host-Mode
00027 
00028 
00029 Trademarks:
00030 -----------
00031 OBID®, OBID i-scan® and OBID myAXXESS® are registered Trademarks of FEIG ELECTRONIC GmbH
00032 Other Trademarks: see FEDM.h
00033 */
00034 
00035 
00036 #if !defined(_FEDM_NO_TAG_HANDLER_ISO15693)
00037 
00038 #include "FedmIscTagHandler_ISO15693_NXP_ICODE_SLI.h"
00039 #include "../FEDM_ISCReader.h"
00040 #include "../FEDM_ISOTabItem.h"
00041 #include "../FEDM_ISCReaderID.h"
00042 #include "../FEDM_ISC.h"
00043 #include "../../FEDM_Functions.h"
00044 
00045 
00046 #if _MSC_VER >= 1400
00047         #pragma warning(disable : 4996)
00048 #endif
00049 
00050 
00051 
00052 //####################################################################
00053 // class FedmIscTagHandler_ISO15693_NXP_ICODE_SLI
00054 // >> supports only ISO Host Commands <<
00055 //####################################################################
00056 
00057 FedmIscTagHandler_ISO15693_NXP_ICODE_SLI::FedmIscTagHandler_ISO15693_NXP_ICODE_SLI(
00058         FEDM_ISCReader* pReader,
00059         FEDM_ISOTabItem* pTabItem )
00060         : FedmIscTagHandler_ISO15693_NXP(pReader, FedmIscTagHandler::TYPE_ISO15693_NXP_ICODE_SLI, pTabItem)
00061 {
00062         m_sTagName = "ISO 15693 : ";
00063         m_sTagName += FEDM_TabItem::GetISO15693Manufacturer(FEDM_ISC_ISO_MFR_NXP);
00064         m_sTagName += " I-Code SLI";
00065 }
00066 
00067 FedmIscTagHandler_ISO15693_NXP_ICODE_SLI::FedmIscTagHandler_ISO15693_NXP_ICODE_SLI(
00068         FEDM_ISCReader* pReader,
00069         unsigned int uiTagHandlerType,
00070         FEDM_ISOTabItem* pTabItem )
00071         : FedmIscTagHandler_ISO15693_NXP(pReader, uiTagHandlerType, pTabItem)
00072 {
00073         m_sTagName = "ISO 15693 : ";
00074         m_sTagName += FEDM_TabItem::GetISO15693Manufacturer(FEDM_ISC_ISO_MFR_NXP);
00075         m_sTagName += " I-Code SLI";
00076 }
00077 
00078 FedmIscTagHandler_ISO15693_NXP_ICODE_SLI::~FedmIscTagHandler_ISO15693_NXP_ICODE_SLI()
00079 {
00080 }
00081 
00082 // set all data members to 0
00083 /*void FedmIscTagHandler_ISO15693_NXP_ICODE_SLI::Init()
00084 {
00085 }*/
00086 
00087 /***************************************************************************
00088   Begin                 :       09.10.2009 / M. Hultsch
00089 
00090   Version               :       03.01.00 / 09.10.2009 / M. Hultsch
00091 
00092   Function                      :       [0xB1][0xA2] SetEAS
00093 
00094   Parameters            :
00095 
00096   Return value          :       0                               - if tramsmission was successful
00097                                                 status byte (>1)- if the reader signals a problem
00098                                                 error code (<0) - if something goes wrong
00099 ***************************************************************************/
00100 int FedmIscTagHandler_ISO15693_NXP_ICODE_SLI::SetEAS()
00101 {
00102         int iErr = 0;
00103         
00104         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA2));
00105         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00106 
00107         if(m_bNonAddressedMode)
00108         {
00109                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00110         }
00111         else if(m_pTabItem->m_bIsSelected)
00112         {
00113                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00114         }
00115         else
00116         {
00117                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00118                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00119         }
00120 
00121         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA2));
00122         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_NXP));
00123         
00124         // ... and execute
00125         return m_pReader->SendProtocol(0xB1);
00126 }
00127 /***************************************************************************
00128   Begin                 :       09.10.2009 / M. Hultsch
00129 
00130   Version               :       03.01.00 / 09.10.2009 / M. Hultsch
00131 
00132   Function                      :       [0xB1][0xA3] ResetEAS
00133 
00134   Parameters            :
00135 
00136   Return value          :       0                               - if tramsmission was successful
00137                                                 status byte (>1)- if the reader signals a problem
00138                                                 error code (<0) - if something goes wrong
00139 ***************************************************************************/
00140 int FedmIscTagHandler_ISO15693_NXP_ICODE_SLI::ResetEAS()
00141 {
00142         int iErr = 0;
00143         
00144         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA3));
00145         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00146 
00147         if(m_bNonAddressedMode)
00148         {
00149                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00150         }
00151         else if(m_pTabItem->m_bIsSelected)
00152         {
00153                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00154         }
00155         else
00156         {
00157                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00158                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00159         }
00160 
00161         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA3));
00162         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_NXP));
00163         
00164         // ... and execute
00165         return m_pReader->SendProtocol(0xB1);
00166 }
00167 /***************************************************************************
00168   Begin                 :       09.10.2009 / M. Hultsch
00169 
00170   Version               :       03.01.00 / 09.10.2009 / M. Hultsch
00171 
00172   Function                      :       [0xB1][0xA4] LockEAS
00173 
00174   Parameters            :
00175 
00176   Return value          :       0                               - if tramsmission was successful
00177                                                 status byte (>1)- if the reader signals a problem
00178                                                 error code (<0) - if something goes wrong
00179 ***************************************************************************/
00180 int FedmIscTagHandler_ISO15693_NXP_ICODE_SLI::LockEAS()
00181 {
00182         int iErr = 0;
00183         
00184         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA4));
00185         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00186 
00187         if(m_bNonAddressedMode)
00188         {
00189                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00190         }
00191         else if(m_pTabItem->m_bIsSelected)
00192         {
00193                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00194         }
00195         else
00196         {
00197                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00198                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00199         }
00200 
00201         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA4));
00202         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_NXP));
00203         
00204         // ... and execute
00205         return m_pReader->SendProtocol(0xB1);
00206 }
00207 /***************************************************************************
00208   Begin                 :       09.10.2009 / M. Hultsch
00209 
00210   Version               :       03.01.00 / 09.10.2009 / M. Hultsch
00211 
00212   Function                      :       [0xB1][0xA5] EASAlarm
00213 
00214   Parameters            :       
00215 
00216   Return value          :       0                               - if tramsmission was successful
00217                                                 status byte (>1)- if the reader signals a problem
00218                                                 error code (<0) - if something goes wrong
00219 ***************************************************************************/
00220 int FedmIscTagHandler_ISO15693_NXP_ICODE_SLI::EASAlarm()
00221 {
00222         int iErr = 0;
00223         
00224         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA5));
00225         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00226 
00227         if(m_bNonAddressedMode)
00228         {
00229                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00230         }
00231         else if(m_pTabItem->m_bIsSelected)
00232         {
00233                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00234         }
00235         else
00236         {
00237                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00238                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00239         }
00240 
00241         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA5));
00242         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_NXP));
00243         
00244         // ... and execute
00245         return m_pReader->SendProtocol(0xB1);
00246 }
00247 
00248 #endif // #if !defined(_FEDM_NO_TAG_HANDLER_ISO15693)


rfid_drivers
Author(s): Raul Perula-Martinez
autogenerated on Thu Apr 2 2015 03:06:14