return ret;
}
-static int jtagkey_init(unsigned short vid, unsigned short pid) {
+static int jtagkey_init(unsigned short vid, unsigned short pid, unsigned short iface) {
int ret = 0;
unsigned char c;
return ret;
}
+ if ((ret = ftdi_set_interface(&ftdic, iface)) != 0) {
+ fprintf(stderr, "unable to set interface: %d (%s)\n", ret, ftdi_get_error_string(&ftdic));
+ return ret;
+ }
+
if ((ret = ftdi_usb_open(&ftdic, vid, pid)) != 0) {
fprintf(stderr, "unable to open ftdi device: %d (%s)\n", ret, ftdi_get_error_string(&ftdic));
return ret;
return ret;
}
- if ((ret = ftdi_set_interface(&ftdic, INTERFACE_A)) != 0) {
- fprintf(stderr, "unable to set interface: %d (%s)\n", ret, ftdi_get_error_string(&ftdic));
- return ret;
- }
-
if ((ret = ftdi_write_data_set_chunksize(&ftdic, USBBUFSIZE)) != 0) {
fprintf(stderr, "unable to set write chunksize: %d (%s)\n", ret, ftdi_get_error_string(&ftdic));
return ret;
int jtagkey_open(int num) {
int ret;
- ret = jtagkey_init(config_usb_vid(num), config_usb_pid(num));
+ ret = jtagkey_init(config_usb_vid(num), config_usb_pid(num), config_usb_iface(num));
if (ret >= 0)
ret = 0xff;