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);