6 #define ROCON_VID 0x1669
7 #define ROCON_PID 0x1023
8 #define ROCON_CONFIGURATION 1
9 #define ROCON_INTFERFACE 0
15 #define BUFFER_SIZE 1024
17 int opening_rocon = 0;
19 usb_dev_handle *open_dev(void)
22 struct usb_device *dev;
24 for (bus = usb_get_busses(); bus; bus = bus->next)
26 for (dev = bus->devices; dev; dev = dev->next)
28 if (dev->descriptor.idVendor == ROCON_VID && dev->descriptor.idProduct == ROCON_PID)
38 int main(int argc, char** argv)
40 usb_dev_handle *dev = NULL;
41 char buffer[BUFFER_SIZE];
50 if (!(dev = open_dev()))
53 printf("Error opening ROCON:\n%s\n", usb_strerror());
55 printf("ROCON not connected!\n");
60 /* Set configuration */
61 if (usb_set_configuration(dev, ROCON_CONFIGURATION) < 0)
63 printf("Error setting configuration #%d:\n%s\n", ROCON_CONFIGURATION, usb_strerror());
69 if (usb_claim_interface(dev, ROCON_INTFERFACE) < 0)
71 printf("Error claiming interface #%d:\n%s\n", ROCON_INTFERFACE, usb_strerror());
77 snprintf(buffer, sizeof(buffer), "%s\n", argv[1]);
78 ret = usb_bulk_write(dev, EP_OUT, buffer, strlen(buffer), 5000);
81 printf("Error sending command %s:\n%s\n", argv[1], usb_strerror());
82 usb_release_interface(dev, 0);
88 ret = usb_bulk_read(dev, EP_IN, buffer, sizeof(buffer), 5000);
90 printf("Error reading response:\n%s\n", usb_strerror());
95 usb_release_interface(dev, 0);