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, INTERFACE_A)) != 0) {
+ 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;
}
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;
unsigned char *pos = writebuf;
int len;
- DPRINTF("writing %d bytes due to %d following reads in %d chunks or full buffer\n", writepos-writebuf, nread, num);
+ DPRINTF("writing %zd bytes due to %d following reads in %d chunks or full buffer\n", writepos-writebuf, nread, num);
jtagkey_latency(BULK_LATENCY);
targ.num = writepos-pos;
if (len > USBBUFSIZE)
len = USBBUFSIZE;
- DPRINTF("combined write of %d/%d\n",len,writepos-pos);
+ DPRINTF("combined write of %d/%zd\n",len,writepos-pos);
ftdi_write_data(&ftdic, pos, len);
pos += len;
}
if (nread)
{
- DPRINTF("writing %d bytes\n", writepos-writebuf);
+ DPRINTF("writing %zd bytes\n", writepos-writebuf);
*writepos = last_data;
writepos++;
pthread_join(reader_thread, NULL);
#ifdef DEBUG
- DPRINTF("write: ");
- hexdump(writebuf, writepos-writebuf);
- DPRINTF("read: ");
- hexdump(readbuf, i);
+ hexdump(writebuf, writepos-writebuf, "->");
+ hexdump(readbuf, i, "<-");
#endif
writepos = writebuf;