#include #include int main(void) { int ret; struct ftdi_context ftdic; struct ftdi_device_list *devlist; // Init context if((ret = ftdi_init(&ftdic)) < 0) { fprintf(stderr, "ERROR: ftdi_init(%d), %s\n", ret, ftdi_get_error_string(&ftdic)); return EXIT_FAILURE; } // Find connected USB devices if((ret = ftdi_usb_find_all(&ftdic, &devlist, 0x0403, 0x6010)) < 0) { fprintf(stderr, "ERROR: ftdi_usb_find_all(%d), %s\n", ret, ftdi_get_error_string(&ftdic)); return EXIT_FAILURE; } else { printf("Found %d device(s)\n", ret); } // Open device if((ret = ftdi_usb_open_dev(&ftdic, devlist->dev)) < 0) { fprintf(stderr, "ERROR: ftdi_usb_open_dev(%d): %s\n", ret, ftdi_get_error_string(&ftdic)); return EXIT_FAILURE; } // Set interface if((ret = ftdi_set_interface(&ftdic, INTERFACE_B)) < 0) { fprintf(stderr, "ERROR: ftdi_set_interface(%d), %s\n", ret, ftdi_get_error_string(&ftdic)); return EXIT_FAILURE; } // Close device if((ret = ftdi_usb_close(&ftdic)) < 0) { fprintf(stderr, "ERROR: ftdi_usb_close(%d): %s\n", ret, ftdi_get_error_string(&ftdic)); return EXIT_FAILURE; } ftdi_list_free(&devlist); ftdi_deinit(&ftdic); return EXIT_SUCCESS; }