OpenCores
URL https://opencores.org/ocsvn/adv_debug_sys/adv_debug_sys/trunk

Subversion Repositories adv_debug_sys

[/] [adv_debug_sys/] [trunk/] [Software/] [adv_jtag_bridge/] [cable_ft2232.c] - Diff between revs 55 and 58

Show entire file | Details | Blame | View Log

Rev 55 Rev 58
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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.