FedmIscTagHandler_ISO15693_Fujitsu_MB89R1xx.cpp
Go to the documentation of this file.
00001 /*-------------------------------------------------------
00002 |                                                       |
00003 |      FedmIscTagHandler_ISO15693_Fujitsu_MB89R1xx.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 Fujitsu Limited
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_Fujitsu_MB89R1xx.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_Fujitsu_MB89R1xx
00054 // >> supports only ISO Host Commands <<
00055 //####################################################################
00056 
00057 FedmIscTagHandler_ISO15693_Fujitsu_MB89R1xx::FedmIscTagHandler_ISO15693_Fujitsu_MB89R1xx(
00058         FEDM_ISCReader* pReader,
00059         FEDM_ISOTabItem* pTabItem )
00060         : FedmIscTagHandler_ISO15693_Fujitsu(pReader, FedmIscTagHandler::TYPE_ISO15693_Fujitsu_MB89R1xx, pTabItem)
00061 {
00062         m_sTagName = "ISO 15693 : ";
00063         m_sTagName += FEDM_TabItem::GetISO15693Manufacturer(FEDM_ISC_ISO_MFR_FUJITSU);
00064         m_sTagName += " MB89R1xx";
00065 }
00066 
00067 FedmIscTagHandler_ISO15693_Fujitsu_MB89R1xx::FedmIscTagHandler_ISO15693_Fujitsu_MB89R1xx(
00068         FEDM_ISCReader* pReader,
00069         unsigned int uiTagHandlerType,
00070         FEDM_ISOTabItem* pTabItem )
00071         : FedmIscTagHandler_ISO15693_Fujitsu(pReader, uiTagHandlerType, pTabItem)
00072 {
00073         m_sTagName = "ISO 15693 : ";
00074         m_sTagName += FEDM_TabItem::GetISO15693Manufacturer(FEDM_ISC_ISO_MFR_FUJITSU);
00075         m_sTagName += " MB89R1xx";
00076 }
00077 
00078 FedmIscTagHandler_ISO15693_Fujitsu_MB89R1xx::~FedmIscTagHandler_ISO15693_Fujitsu_MB89R1xx()
00079 {
00080 }
00081 
00082 // set all data members to 0
00083 /*void FedmIscTagHandler_ISO15693_Fujitsu_MB89R1xx::Init()
00084 {
00085 }*/
00086 
00087 /***************************************************************************
00088   Begin                 :       09.10.2009 / M. Hultsch
00089 
00090   Version               :       03.01.00 / 12.10.2009 / M. Hultsch
00091 
00092   Function                      :       [0xB1][0xA0] EAS
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_Fujitsu_MB89R1xx::EAS()
00101 {
00102         int iErr = 0;
00103         
00104         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA0));
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
00112         {
00113                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00114         }
00115 
00116         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_FUJITSU));
00117         
00118         // ... and execute
00119         return m_pReader->SendProtocol(0xB1);
00120 }
00121 
00122 /***************************************************************************
00123   Begin                 :       09.10.2009 / M. Hultsch
00124 
00125   Version               :       03.01.00 / 12.10.2009 / M. Hultsch
00126 
00127   Function                      :       [0xB1][0xA1] WriteEAS
00128 
00129   Parameters            :       unsigned char ucData
00130 
00131   Return value          :       0                               - if tramsmission was successful
00132                                                 status byte (>1)- if the reader signals a problem
00133                                                 error code (<0) - if something goes wrong
00134 ***************************************************************************/
00135 int FedmIscTagHandler_ISO15693_Fujitsu_MB89R1xx::WriteEAS(
00136         unsigned char ucData)
00137 {
00138         int iErr = 0;
00139         
00140         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA1));
00141         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00142 
00143         if(m_bNonAddressedMode)
00144         {
00145                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00146         }
00147         else if(m_pTabItem->m_bIsSelected)
00148         {
00149                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00150         }
00151         else
00152         {
00153                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00154                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00155         }
00156 
00157         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_FUJITSU_DATA, ucData));
00158 
00159         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_FUJITSU));
00160         
00161         // ... and execute
00162         return m_pReader->SendProtocol(0xB1);
00163 }
00164 
00165 /***************************************************************************
00166   Begin                 :       09.10.2009 / M. Hultsch
00167 
00168   Version               :       03.01.00 / 12.10.2009 / M. Hultsch
00169 
00170   Function                      :       [0xB1][0xA2] Refresh
00171 
00172   Parameters            :
00173 
00174   Return value          :       0                               - if tramsmission was successful
00175                                                 status byte (>1)- if the reader signals a problem
00176                                                 error code (<0) - if something goes wrong
00177 ***************************************************************************/
00178 int FedmIscTagHandler_ISO15693_Fujitsu_MB89R1xx::Refresh()
00179 {
00180         int iErr = 0;
00181 
00182         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA2));
00183         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00184 
00185         if(m_bNonAddressedMode)
00186         {
00187                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_NONADR));
00188         }
00189         else if(m_pTabItem->m_bIsSelected)
00190         {
00191                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_SEL));
00192         }
00193         else
00194         {
00195                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE_ADR, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00196                 FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_REQ_UID, m_pTabItem->m_ucSnr, m_pTabItem->m_ucSnrLen));
00197         }
00198 
00199         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_FUJITSU));
00200         
00201         // ... and execute
00202         return m_pReader->SendProtocol(0xB1);
00203 }
00204 
00205 /***************************************************************************
00206   Begin                 :       09.10.2009 / M. Hultsch
00207 
00208   Version               :       03.01.00 / 12.10.2009 / M. Hultsch
00209 
00210   Function                      :       [0xB1][0xA6] Kill
00211 
00212   Parameters            :
00213 
00214   Return value          :       0                               - if tramsmission was successful
00215                                                 status byte (>1)- if the reader signals a problem
00216                                                 error code (<0) - if something goes wrong
00217 ***************************************************************************/
00218 int FedmIscTagHandler_ISO15693_Fujitsu_MB89R1xx::Kill()
00219 {
00220         int iErr = 0;
00221         
00222         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_CMD, (unsigned char)0xA6));
00223         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)0));
00224         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MODE, (unsigned char)FEDM_ISC_ISO_MODE_ADR));
00225 
00226         FEDM_CHK1(iErr, m_pReader->SetData(FEDM_ISC_TMP_B1_MFR, (unsigned char)FEDM_ISC_ISO_MFR_FUJITSU));
00227         
00228         // ... and execute
00229         return m_pReader->SendProtocol(0xB1);
00230 }
00231 
00232 #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