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