FedmIscTagHandler_ISO15693_NXP_ICODE_SLIX_L.cpp
Go to the documentation of this file.
00001 /*-------------------------------------------------------
00002 |                                                       |
00003 |      FedmIscTagHandler_ISO15693_NXP_ICODE_SLIX_L.cpp  |
00004 |                                                       |
00005 ---------------------------------------------------------
00006 
00007 Copyright © 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.07.2013
00018 
00019 Version                 :       04.05.02 / 02.07.2013 / 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_SLIX_L.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_SLIX_L
00054 // >> supports only ISO Host Commands <<
00055 //####################################################################
00056 
00057 FedmIscTagHandler_ISO15693_NXP_ICODE_SLIX_L::FedmIscTagHandler_ISO15693_NXP_ICODE_SLIX_L(
00058         FEDM_ISCReader* pReader,
00059         FEDM_ISOTabItem* pTabItem )
00060         : FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L(pReader, FedmIscTagHandler::TYPE_ISO15693_NXP_ICODE_SLIX_L, pTabItem)
00061 {
00062         m_sTagName = "ISO 15693 : ";
00063         m_sTagName += FEDM_TabItem::GetISO15693Manufacturer(FEDM_ISC_ISO_MFR_NXP);
00064         m_sTagName += " I-Code SLIX-L";
00065 }
00066 
00067 FedmIscTagHandler_ISO15693_NXP_ICODE_SLIX_L::FedmIscTagHandler_ISO15693_NXP_ICODE_SLIX_L(
00068         FEDM_ISCReader* pReader,
00069         unsigned int uiTagHandlerType,
00070         FEDM_ISOTabItem* pTabItem )
00071         : FedmIscTagHandler_ISO15693_NXP_ICODE_SLI_L(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 SLIX-L";
00076 }
00077 
00078 FedmIscTagHandler_ISO15693_NXP_ICODE_SLIX_L::~FedmIscTagHandler_ISO15693_NXP_ICODE_SLIX_L()
00079 {
00080 }
00081 
00082 // set all data members to 0
00083 /*void FedmIscTagHandler_ISO15693_NXP_ICODE_SLIX_L::Init()
00084 {
00085 }*/
00086 
00087 /***************************************************************************
00088   Begin                 :       04.05.02 / 02.07.2013 / M. Hultsch
00089 
00090   Version               :       04.05.02 / 02.07.2013 / M. Hultsch
00091 
00092   Function                      :       [0xB1][0xA6] PasswordProtectAFI
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_SLIX_L::PasswordProtectAFI()
00101 {
00102         int iErr = 0;
00103         
00104         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA6));
00105         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0x10));
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)0xA6));
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 #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