std::vector<unsigned char> RFIDeasReaderUnit::getTagId()
    {
        std::vector<unsigned char> tagid;

#ifdef _WINDOWS
        unsigned char idbuf[32];
        memset(idbuf, 0x00, sizeof(idbuf));
        d_lastTagIdBitsLength = fnGetActiveID(idbuf, sizeof(idbuf));
        if (d_lastTagIdBitsLength > 16)
        {
            int bytes = (d_lastTagIdBitsLength + 7) / 8;

            tagid.insert(tagid.end(), idbuf, idbuf + bytes);
            // Swap LSByte => MSByte
            std::reverse(tagid.begin(), tagid.end());
        }
        else
        {
            long err = fnGetLastLibErr();
            if (err > 0)
            {
                LOG(LogLevel::WARNINGS) << "An error occured when getting the active ID (" << err << ")";
                LOG(LogLevel::INFOS) << "Disconnecting from the reader...";
                disconnectFromReader();
                LOG(LogLevel::INFOS) << "Reconnecting to the reader...";
                connectToReader();
            }
        }
#endif

        return tagid;
    }
示例#2
0
 void ReaderUnit::unSerialize(boost::property_tree::ptree& node)
 {
     disconnectFromReader();
     d_readerUnitConfig->unSerialize(node.get_child(d_readerUnitConfig->getDefaultXmlNodeName()));
     std::string transportType = node.get_child("TransportType").get_value<std::string>();
     std::shared_ptr<DataTransport> dataTransport = LibraryManager::getInstance()->getDataTransport(transportType);
     // Cannot create data transport instance from xml, use default one
     if (!dataTransport)
     {
         dataTransport = getDataTransport();
     }
     if (dataTransport && transportType == dataTransport->getTransportType())
     {
         dataTransport->unSerialize(node.get_child(dataTransport->getDefaultXmlNodeName()));
         setDataTransport(dataTransport);
     }
 }
	DeisterReaderUnit::~DeisterReaderUnit()
	{
		disconnectFromReader();
	}
 IdOnDemandReaderUnit::~IdOnDemandReaderUnit()
 {
     disconnectFromReader();
 }
 NFCReaderUnit::~NFCReaderUnit()
 {
     disconnectFromReader();
 }
 OK5553ReaderUnit::~OK5553ReaderUnit()
 {
     disconnectFromReader();
 }
 AxessTMC13ReaderUnit::~AxessTMC13ReaderUnit()
 {
     disconnectFromReader();
 }
示例#8
0
	OSDPReaderUnit::~OSDPReaderUnit()
	{
		disconnectFromReader();
	}
	AxessTMCLegicReaderUnit::~AxessTMCLegicReaderUnit()
	{
		disconnectFromReader();
	}