FedmIscTagHandler_ISO15693_Maxim.cpp
Go to the documentation of this file.
00001 /*-------------------------------------------------------
00002 |                                                       |
00003 |      FedmIscTagHandler_ISO15693_Maxim.cpp                             |
00004 |                                                       |
00005 ---------------------------------------------------------
00006 
00007 Copyright © 2010-2011   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                  :       Marcel Raner
00017 Begin                   :       20.09.2010
00018 
00019 Version                 :       03.03.02 / 29.04.2011 / M. Raner, M. Hultsch
00020 
00021 Operation Systems       :       independent
00022 
00023 Function                        :       class for OBID i-scan® HF transponder ISO15693 of manufacturer MAXIM
00024 
00025 NOTE                            :       this class supports selected, addressed and Nonaddressed mode in Host-Mode
00026 
00027 
00028 Trademarks:
00029 -----------
00030 OBID®, OBID i-scan® and OBID myAXXESS® are registered Trademarks of FEIG ELECTRONIC GmbH
00031 Other Trademarks: see FEDM.h
00032 */
00033 
00034 #if !defined(_FEDM_NO_TAG_HANDLER_ISO15693)
00035 
00036 #include "FedmIscTagHandler_ISO15693_Maxim.h"
00037 #include "../FEDM_ISCReader.h"
00038 #include "../FEDM_ISOTabItem.h"
00039 #include "../FEDM_ISCReaderID.h"
00040 #include "../FEDM_ISC.h"
00041 #include "../../FEDM_Functions.h"
00042 
00043 
00044 #if _MSC_VER >= 1400
00045         #pragma warning(disable : 4996)
00046 #endif
00047 
00048 // constructor
00049 FedmIscTagHandler_ISO15693_Maxim::FedmIscTagHandler_ISO15693_Maxim(
00050         FEDM_ISCReader* pReader,
00051         FEDM_ISOTabItem* pTabItem )
00052         : FedmIscTagHandler_ISO15693(pReader, FedmIscTagHandler::TYPE_ISO15693_MAXIM, pTabItem)
00053 {
00054         m_sTagName = "ISO 15693 : ";
00055         m_sTagName += FEDM_TabItem::GetISO15693Manufacturer(FEDM_ISC_ISO_MFR_MAXIM);
00056 }
00057 
00058 FedmIscTagHandler_ISO15693_Maxim::FedmIscTagHandler_ISO15693_Maxim(
00059         FEDM_ISCReader* pReader,
00060         unsigned int uiTagHandlerType,
00061         FEDM_ISOTabItem* pTabItem )
00062         : FedmIscTagHandler_ISO15693(pReader, uiTagHandlerType, pTabItem)
00063 {
00064         m_sTagName = "ISO 15693 : ";
00065         m_sTagName += FEDM_TabItem::GetISO15693Manufacturer(FEDM_ISC_ISO_MFR_MAXIM);
00066 }
00067 
00068 // destructor
00069 FedmIscTagHandler_ISO15693_Maxim::~FedmIscTagHandler_ISO15693_Maxim()
00070 {
00071 }
00072 
00073 // set all data members to 0
00074 /*void Init()
00075 {
00076 }*/
00077 
00078 std::string FedmIscTagHandler_ISO15693_Maxim::GetErrorText(unsigned char ucErrorCode)
00079 {
00080         switch(ucErrorCode)
00081         {
00082         case 0x01:
00083                 return "The memory block is write protected";
00084                 break;
00085         case 0x02: 
00086                 return "The memory block is read protected";
00087                 break;
00088         case 0x03: 
00089                 return "The memory block is read protected and write protected";
00090                 break;
00091         case 0x50: 
00092                 return "The memory page involved in the computation did not end with a correct 8-bit CRC";
00093                 break;
00094         case 0x10: 
00095                 return "Invalid block number";
00096                 break;
00097         case 0x11: 
00098                 return "Already locked";
00099                 break;
00100         case 0x12: 
00101                 return "Write access failed because block is locked";
00102                 break;
00103         case 0x13: 
00104                 return "Power failure during generate secret";
00105                 break;
00106         case 0xA0: 
00107                 return "Invalid generate secret control code";
00108                 break;
00109         case 0xA1: 
00110                 return "The computed secret was not locked because secret locking was not enabled";
00111                 break;
00112         case 0xA2: 
00113                 return "Invalid compute page MAC page number";
00114                 break;
00115         case 0xA3: 
00116                 return "No valid data in read/write buffer";
00117                 break;
00118         case 0xA4: 
00119                 return "Copy buffer block number mismatch";
00120                 break;
00121         case 0xA6: 
00122                 return "Copy buffer invalid MAC";
00123                 break;
00124         case 0xA7: 
00125                 return "Secret in memory corrupted";
00126                 break;
00127         case 0xA8: 
00128                 return "The computed secret was not locked because secret locking was not enabled in conjunction with 8-bit page CRC";
00129                 break;
00130         default:
00131                 return "";
00132         }
00133 }
00134 
00135 #endif // #if !defined(_FEDM_NO_TAG_HANDLER_ISO15693)


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