X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=src%2Fftdi.h;h=d8b4001987e6f4100b2671fd7e39016b8bc78e37;hp=2d3a5ccacee7ca877e955dc4c3e9af32257dd797;hb=4c9e381219d807ff74556eb35cae1c90986242bc;hpb=b5ec1820000c433ddc9ca648b1a0d9f8d43a9d49 diff --git a/src/ftdi.h b/src/ftdi.h index 2d3a5cc..d8b4001 100644 --- a/src/ftdi.h +++ b/src/ftdi.h @@ -20,7 +20,7 @@ #include /// FTDI chip type -enum ftdi_chip_type { TYPE_AM=0, TYPE_BM=1, TYPE_2232C=2 }; +enum ftdi_chip_type { TYPE_AM=0, TYPE_BM=1, TYPE_2232C=2, TYPE_R=3 }; /// Parity mode for ftdi_set_line_property() enum ftdi_parity_type { NONE=0, ODD=1, EVEN=2, MARK=3, SPACE=4 }; /// Number of stop bits for ftdi_set_line_property() @@ -35,7 +35,9 @@ enum ftdi_mpsse_mode { BITMODE_MPSSE = 0x02, BITMODE_SYNCBB = 0x04, BITMODE_MCU = 0x08, - BITMODE_OPTO = 0x10 + // CPU-style fifo mode gets set via EEPROM + BITMODE_OPTO = 0x10, + BITMODE_CBUS = 0x20 }; /// Port interface for FT2232C @@ -223,6 +225,10 @@ extern "C" { int ftdi_usb_find_all(struct ftdi_context *ftdi, struct ftdi_device_list **devlist, int vendor, int product); void ftdi_list_free(struct ftdi_device_list **devlist); + int ftdi_usb_get_strings(struct ftdi_context *ftdi, struct usb_device *dev, + char * manufacturer, int mnf_len, + char * description, int desc_len, + char * serial, int serial_len); int ftdi_usb_open(struct ftdi_context *ftdi, int vendor, int product); int ftdi_usb_open_desc(struct ftdi_context *ftdi, int vendor, int product, @@ -242,6 +248,7 @@ extern "C" { int ftdi_read_data_get_chunksize(struct ftdi_context *ftdi, unsigned int *chunksize); int ftdi_write_data(struct ftdi_context *ftdi, unsigned char *buf, int size); + int ftdi_write_data_async(struct ftdi_context *ftdi, unsigned char *buf, int size); int ftdi_write_data_set_chunksize(struct ftdi_context *ftdi, unsigned int chunksize); int ftdi_write_data_get_chunksize(struct ftdi_context *ftdi, unsigned int *chunksize); @@ -260,6 +267,7 @@ extern "C" { // "eeprom" needs to be valid 128 byte eeprom (generated by the eeprom generator) // the checksum of the eeprom is valided int ftdi_read_eeprom(struct ftdi_context *ftdi, unsigned char *eeprom); + int ftdi_read_chipid(struct ftdi_context *ftdi, unsigned int *chipid); int ftdi_write_eeprom(struct ftdi_context *ftdi, unsigned char *eeprom); int ftdi_erase_eeprom(struct ftdi_context *ftdi);