Blob Blame History Raw
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);