X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=ftdi%2Fftdi.h;h=6fa8a60d4708fd81a1844f651aa4260d84989d58;hp=9e8615a0decfe20df655c91f76df3adf88edad35;hb=545820ceb5da92df4e4f3094e161c5fd4c0f56fe;hpb=be5d7eec32353ad4e86ec996d7c25a1063e46fcb diff --git a/ftdi/ftdi.h b/ftdi/ftdi.h index 9e8615a..6fa8a60 100644 --- a/ftdi/ftdi.h +++ b/ftdi/ftdi.h @@ -3,7 +3,7 @@ ------------------- begin : Fri Apr 4 2003 copyright : (C) 2003 by Intra2net AG - email : info@intra2net.com + email : opensource@intra2net.com ***************************************************************************/ /*************************************************************************** @@ -22,21 +22,36 @@ struct ftdi_context { // USB specific struct usb_dev_handle *usb_dev; - int usb_timeout; + int usb_read_timeout; + int usb_write_timeout; // FTDI specific int baudrate; unsigned char bitbang_enabled; + unsigned char *readbuffer; + unsigned int readbuffer_offset; + unsigned int readbuffer_remaining; + unsigned int readbuffer_chunksize; + unsigned int writebuffer_chunksize; + + // FTDI FT2232C requirecments + int interface; // 0 or 1 + int index; // 1 or 2 + // Endpoints + int in_ep; + int out_ep; // 1 or 2 + + int reading; // 0 or 1 - for performance increase in SPI mode // misc char *error_str; }; struct ftdi_eeprom { - int vendor_id; + int vendor_id; int product_id; - int self_powered; + int self_powered; int remote_wakeup; int BM_type_chip; @@ -48,7 +63,7 @@ struct ftdi_eeprom { int change_usb_version; int usb_version; int max_power; - + char *manufacturer; char *product; char *serial; @@ -59,14 +74,22 @@ extern "C" { #endif int ftdi_init(struct ftdi_context *ftdi); + void ftdi_deinit(struct ftdi_context *ftdi); void ftdi_set_usbdev (struct ftdi_context *ftdi, usb_dev_handle *usbdev); int ftdi_usb_open(struct ftdi_context *ftdi, int vendor, int product); int ftdi_usb_close(struct ftdi_context *ftdi); int ftdi_usb_reset(struct ftdi_context *ftdi); + int ftdi_usb_purge_buffers(struct ftdi_context *ftdi); int ftdi_set_baudrate(struct ftdi_context *ftdi, int baudrate); - int ftdi_write_data(struct ftdi_context *ftdi, unsigned char *buf, int size); + int ftdi_read_data(struct ftdi_context *ftdi, unsigned char *buf, int size); + int ftdi_read_data_set_chunksize(struct ftdi_context *ftdi, unsigned int chunksize); + 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_set_chunksize(struct ftdi_context *ftdi, unsigned int chunksize); + int ftdi_write_data_get_chunksize(struct ftdi_context *ftdi, unsigned int *chunksize); int ftdi_enable_bitbang(struct ftdi_context *ftdi, unsigned char bitmask); int ftdi_disable_bitbang(struct ftdi_context *ftdi);