Advertisement
Guest User

Untitled

a guest
Jul 30th, 2012
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.75 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <libusb.h>
  3. #define TIMEOUT 50000
  4.  
  5. int main(int argc, char **argv)
  6. {
  7. if (libusb_init(0)){
  8.         printf("INITIALIZATION ERROR \n");
  9.         return 1;
  10.     }
  11.  
  12. libusb_device_handle *lettore;
  13. lettore = libusb_open_device_with_vid_pid(NULL,0x147e,0x2020);
  14. if (lettore == NULL){
  15.         printf("ERROR OPEN DEVICE! \n");
  16.         return 1;
  17.     }
  18.  libusb_set_debug(NULL,3);
  19. unsigned char setup_packet[8];
  20. struct libusb_transfer *controllo;
  21. controllo = libusb_alloc_transfer(0);
  22. libusb_fill_control_setup(setup_packet,0xc0,0x04,0x00,0x00,0x08);
  23. libusb_fill_control_transfer(controllo,lettore,setup_packet,NULL,NULL,TIMEOUT);//20, 10???
  24. if (libusb_submit_transfer(controllo)){
  25.         printf("SETUP DEVICE ERROR! \n");
  26.         return 1;
  27.     }
  28. libusb_handle_events(NULL);
  29. controllo = libusb_alloc_transfer(0);
  30. libusb_fill_control_setup(setup_packet,0xc0,0x04,0x00,0x00,0x08);
  31. libusb_fill_control_transfer(controllo,lettore,setup_packet,NULL,NULL,TIMEOUT);
  32. if (libusb_submit_transfer(controllo)){
  33.         printf("SETUP DEVICE ERROR! \n");
  34.         return 1;
  35.     }
  36.     libusb_handle_events(NULL);
  37. controllo = libusb_alloc_transfer(0);
  38. libusb_fill_control_setup(setup_packet,0x40,0x0c,0x100,0x400,0x01);
  39. libusb_fill_control_transfer(controllo,lettore,setup_packet,NULL,NULL,TIMEOUT);
  40. if (libusb_submit_transfer(controllo)){
  41.         printf("SETUP DEVICE ERROR! \n");
  42.         return 1;
  43.     }
  44.     libusb_handle_events(NULL);
  45. /******************************* START TRANSFER DATA */
  46. struct libusb_transfer *pacchetto;
  47. unsigned char buffer2[64];
  48. pacchetto = libusb_alloc_transfer(0);
  49. libusb_fill_bulk_transfer(pacchetto,lettore,0x81,buffer2,64,NULL,NULL,TIMEOUT); //HERE LIBUSB FAIL!
  50. if (libusb_submit_transfer(pacchetto)){
  51.         printf("RECEIVE DATA ERROR! \n");
  52.         return 1;
  53.     }
  54.     libusb_handle_events(NULL);
  55. return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement