3 UsbDriver::UsbDriver() :
11 bool UsbDriver::USBInit(uint16_t vendor, uint16_t device)
13 if(initialized) return true;
16 r = libusb_init(&ctx);
18 dev_handle = libusb_open_device_with_vid_pid(ctx, vendor, device);
19 if(dev_handle == NULL) {
24 r = libusb_claim_interface(dev_handle, 0);
34 void UsbDriver::USBRelease(void)
37 libusb_release_interface(dev_handle, 0);
38 libusb_close(dev_handle);
49 UsbDriver::~UsbDriver()
54 /*bool UsbDriver::IsInitialized(void)
59 bool UsbDriver::WriteData(unsigned char data[], int size)
61 if(!initialized) return false;
63 int r,actual,writed = 0;
65 r = libusb_bulk_transfer(dev_handle, (2 | LIBUSB_ENDPOINT_OUT),
66 &data[writed], size-writed, &actual, 0);
69 } while (writed < size);
73 bool UsbDriver::ReadData(unsigned char data[], int size)
75 if(!initialized) return false;
77 int r,actual = 0,readed = 0;
79 r = libusb_bulk_transfer(dev_handle, (2 | LIBUSB_ENDPOINT_IN),
80 &data[readed], size-readed, &actual, 0);
83 } while(readed < size);