diff -up ./server/drivers/rfid/phidgetRFID.cc.phidgetrfid ./server/drivers/rfid/phidgetRFID.cc --- ./server/drivers/rfid/phidgetRFID.cc.phidgetrfid 2013-01-26 12:56:48.934013187 -0500 +++ ./server/drivers/rfid/phidgetRFID.cc 2013-01-26 13:32:31.206068369 -0500 @@ -109,8 +109,8 @@ inline float timediffms(struct timeval s return(end.tv_sec*1000.0 + end.tv_usec/1000.0 - (start.tv_sec*1000.0 + start.tv_usec/1000.0)); } -int TagLost(CPhidgetRFIDHandle rfid,void *hola, unsigned char *usrchar); -int TagFound(CPhidgetRFIDHandle rfid,void *hola, unsigned char *usrchar); +int TagLost(CPhidgetRFIDHandle rfid, void *hola, char *usrchar, CPhidgetRFID_Protocol protocol); +int TagFound(CPhidgetRFIDHandle rfid, void *hola, char *usrchar, CPhidgetRFID_Protocol protocol); @@ -220,8 +220,8 @@ int Phidgetrfid::MainSetup() { PLAYER_MSG0(1,"Connection granted to the PhidgetRFID Reader."); } - CPhidgetRFID_set_OnTagLost_Handler(rfid,TagLost,NULL); - CPhidgetRFID_set_OnTag_Handler(rfid,TagFound,NULL); + CPhidgetRFID_set_OnTagLost2_Handler(rfid,TagLost,NULL); + CPhidgetRFID_set_OnTag2_Handler(rfid,TagFound,NULL); //Turning on the Antena. CPhidgetRFID_setAntennaOn(rfid,1); CPhidgetRFID_setLEDOn(rfid,1); @@ -361,8 +361,9 @@ void Phidgetrfid::Main() { - unsigned char tag[20]; - CPhidgetRFID_getLastTag(rfid,tag); + char* tag = new char [20]; + CPhidgetRFID_Protocol proto = PHIDGET_RFID_PROTOCOL_PHIDGETS; + CPhidgetRFID_getLastTag2(rfid,&tag,&proto); int ledstate; player_rfid_data_t data_rfid; data_rfid.tags = new player_rfid_tag_t[1]; @@ -397,6 +398,7 @@ void Phidgetrfid::Main() { } CPhidgetRFID_setLEDOn(rfid,0); } + delete [] tag; //Publishing data. @@ -439,13 +441,13 @@ void Phidgetrfid::Main() { } //Handler functions to check if there is a new tag there. They are handlers as seen on the Phidget library. -int TagLost(CPhidgetRFIDHandle rfid,void *dummy, unsigned char *usrchar) { +int TagLost(CPhidgetRFIDHandle rfid, void *dummy, char *usrchar, CPhidgetRFID_Protocol protocol) { tagControl.rfid_present=rfid; tagControl.tagPresent=0; return (0); } -int TagFound(CPhidgetRFIDHandle rfid,void *dummy, unsigned char *usrchar) { +int TagFound(CPhidgetRFIDHandle rfid, void *dummy, char *usrchar, CPhidgetRFID_Protocol protocol) { tagControl.rfid_present=rfid; tagControl.tagPresent=1; return (0);