rfid_driver_wrapper.h
Go to the documentation of this file.
00001 #ifndef __RFID_DRIVER_WRAPPER_H__
00002 #define __RFID_DRIVER_WRAPPER_H__
00003 
00029 #include <ros/ros.h>
00030 #include "rfid_driver_interface.h"
00031 
00032 // third party driver headers
00033 #include <feusb.h>
00034 #include <feisc.h>
00035 #include <FedmIscCore.h>
00036 #include <impl/core/i_scan/tag_handler/FedmIscTagHandler_EPC_Class1_Gen2.h>
00037 
00038 class RfidDriverWrapper : public RfidDriverInterface {
00039     public:
00043         RfidDriverWrapper();
00044 
00048         ~RfidDriverWrapper();
00049 
00055         int open_device(long num_device);
00056 
00062         int close_device();
00063 
00069         std::string get_uid_label();
00070 
00076         std::string* get_tags();
00077 
00082         std::string get_type_reader();
00083 
00089         int get_num_labels();
00090 
00096         void set_num_labels(int num_labels);
00097 
00104         void read_hf(unsigned char data[BLOCK_SIZE_HF], unsigned char uc_db_address);
00105 
00113         void write_hf(unsigned char data[BLOCK_SIZE_HF], unsigned char uc_db_address, std::string uid);
00114 
00124         int write_tag_epc(unsigned char* data, std::string epc, unsigned int mem_bank, unsigned int address,
00125                           unsigned int num_blocks);
00126 
00132         int inventory();
00133 
00134     private:
00140         int set_type_reader(int index);
00141 
00148         int set_port_hand(long num_device);
00149 
00150         int _device_handle, _reader_handle, _lenght, _num_max_labels, _num_devices;
00151         long _id_device;
00152 
00153         std::string _device_name;
00154         std::string _snr;
00155         std::string _DSFID;
00156 
00157         std::vector<std::string> _labels;
00158 
00159         FEDM_ISCReaderModule _rfid_reader;
00160 };
00161 #endif


maggie_rfid_drivers
Author(s): Raul Perula-Martinez
autogenerated on Mon Sep 14 2015 03:05:31