#include #include #include #include "libstand.h" #define idVendor 0x072f #define idProduct 0x90cc libusb_t libusb; tag_t tag; reader_t reader; void sigfun (int sig){ printf("Quit\n\n\n"); libstand_poweroff(&libusb, &reader); libusb_closeAll(&libusb); exit(-1); } int main(){ int numtags = 0; int i; //Look for all Touchatag reader and get the connection libusb_init(libusb); libusb_search(&libusb, idVendor, idProduct); libusb_openAll(&libusb); (void) signal(SIGINT, sigfun); if (libusb.dev_number != 0){ //setting time reader libstand_set_time(5000,0); //init reader libstand_init(&libusb, &reader); libstand_get_firm(&libusb, &reader); while (1){ numtags = libstand_polling(&libusb, &reader, &tag); switch(numtags){ case 0: printf("timeout: no tags found\n"); break; case 1: printf("\n** 1 TAG TROVATO **\n"); printf("ID:\n"); for (i = 0; i <= 6 ; i++){ printf("%x ",(unsigned char)tag.UID1[i]); } printf("\n"); printf("DATA:\n"); libstand_stamp_link(&tag); break; case 2: printf("\n** 2 TAGS TROVATI **\n"); printf("ID 1:\n"); for (i = 0; i <= 6 ; i++){ printf("%x ",(unsigned char)tag.UID1[i]); } printf("\n"); printf("ID 2:\n"); for (i = 0; i <= 6 ; i++){ printf("%x ",(unsigned char)tag.UID2[i]); } printf("\n"); break; default: printf("ERRORE: numero di tags trovati: %d\n", numtags); } } } return 0; }