Line 42... |
Line 42... |
.bit_out_func = cable_ftdi_write_bit,
|
.bit_out_func = cable_ftdi_write_bit,
|
.bit_inout_func = cable_ftdi_read_write_bit,
|
.bit_inout_func = cable_ftdi_read_write_bit,
|
.stream_out_func = cable_ftdi_write_stream,
|
.stream_out_func = cable_ftdi_write_stream,
|
.stream_inout_func = cable_ftdi_read_stream,
|
.stream_inout_func = cable_ftdi_read_stream,
|
.flush_func = cable_ftdi_flush,
|
.flush_func = cable_ftdi_flush,
|
.opts = "",
|
.opts = "p:v:",
|
.help = "no options\n",
|
.help = "-p [PID] Alteranate PID for USB device (hex value)\n\t-v [VID] Alternate VID for USB device (hex value)\n",
|
};
|
};
|
|
|
usbconn_t * usbconn_ftdi_connect();
|
usbconn_t * usbconn_ftdi_connect();
|
int my_ftdi_write_data(struct ftdi_context *ftdi, unsigned char *buf, int size);
|
int my_ftdi_write_data(struct ftdi_context *ftdi, unsigned char *buf, int size);
|
char *my_ftdi_get_error_string (struct ftdi_context *ftdi);
|
char *my_ftdi_get_error_string (struct ftdi_context *ftdi);
|
Line 214... |
Line 214... |
printf("Initializing USB device\n");
|
printf("Initializing USB device\n");
|
|
|
if ((error = my_ftdi_usb_open_desc(ftdic, conn->cable->vid, conn->cable->pid, NULL, NULL))) {
|
if ((error = my_ftdi_usb_open_desc(ftdic, conn->cable->vid, conn->cable->pid, NULL, NULL))) {
|
if (error == -1) printf("usb_find_busses() failed\n");
|
if (error == -1) printf("usb_find_busses() failed\n");
|
else if (error == -2) printf("usb_find_devices() failed\n");
|
else if (error == -2) printf("usb_find_devices() failed\n");
|
else if (error == -3) printf("usb device not found\n");
|
else if (error == -3) printf("usb device not found with VID 0x%0X, PID 0x%0X\n", conn->cable->vid, conn->cable->pid);
|
else if (error == -4) printf("unable to open device\n");
|
else if (error == -4) printf("unable to open device\n");
|
else if (error == -5) printf("unable to claim device\n");
|
else if (error == -5) printf("unable to claim device\n");
|
else if (error == -6) printf("reset failed\n");
|
else if (error == -6) printf("reset failed\n");
|
else if (error == -7) printf("set baudrate failed\n");
|
else if (error == -7) printf("set baudrate failed\n");
|
else if (error == -8) printf("get product description failed\n");
|
else if (error == -8) printf("get product description failed\n");
|
Line 820... |
Line 820... |
printf("Open MPSSE mode returned: %s\n", ((res != 0) ? "FAIL" : "OK") );
|
printf("Open MPSSE mode returned: %s\n", ((res != 0) ? "FAIL" : "OK") );
|
|
|
ftdi_param_t *params = ft2232_device->params;
|
ftdi_param_t *params = ft2232_device->params;
|
//struct ftdi_context * ftdic = params->ftdic;
|
//struct ftdi_context * ftdic = params->ftdic;
|
|
|
buf[0]= SET_BITS_LOW;
|
buf[0]= SET_BITS_LOW; // Set value & direction of ADBUS lines
|
buf[1]= 0x00;
|
buf[1]= 0x00; // values
|
buf[2]= 0x0b;
|
buf[2]= 0x1b; // direction (1 == output)
|
buf[3]= TCK_DIVISOR;
|
buf[3]= TCK_DIVISOR;
|
buf[4]= 0x01;
|
buf[4]= 0x01;
|
buf[5]= 0x00;
|
buf[5]= 0x00;
|
buf[6]= SET_BITS_HIGH;
|
buf[6]= SET_BITS_HIGH;
|
buf[7]= ~0x04;
|
buf[7]= ~0x04;
|
Line 911... |
Line 911... |
|
|
return err;
|
return err;
|
}
|
}
|
|
|
int cable_ftdi_opt(int c, char *str) {
|
int cable_ftdi_opt(int c, char *str) {
|
|
uint32_t newvid;
|
|
uint32_t newpid;
|
|
|
|
switch(c) {
|
|
case 'p':
|
|
if(!sscanf(str, "%x", &newpid)) {
|
|
fprintf(stderr, "p parameter must have a hex number as parameter\n");
|
|
return APP_ERR_BAD_PARAM;
|
|
}
|
|
else {
|
|
usbconn_ft2232_mpsse_CableID2.pid = newpid;
|
|
}
|
|
break;
|
|
|
|
case 'v':
|
|
if(!sscanf(str, "%x", &newvid)) {
|
|
fprintf(stderr, "v parameter must have a hex number as parameter\n");
|
|
return APP_ERR_BAD_PARAM;
|
|
}
|
|
else {
|
|
usbconn_ft2232_mpsse_CableID2.vid = newvid;
|
|
}
|
|
break;
|
|
|
|
default:
|
fprintf(stderr, "Unknown parameter '%c'\n", c);
|
fprintf(stderr, "Unknown parameter '%c'\n", c);
|
return APP_ERR_BAD_PARAM;
|
return APP_ERR_BAD_PARAM;
|
}
|
}
|
|
return APP_ERR_NONE;
|
|
}
|
|
|
/// ----------------------------------------------------------------------------------------------
|
/// ----------------------------------------------------------------------------------------------
|
|
|
|
|
No newline at end of file
|
No newline at end of file
|