X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=ftdi%2Fftdi.h;fp=ftdi%2Fftdi.h;h=0000000000000000000000000000000000000000;hp=7d74701966af671802d272ce4c44acb98eb5736e;hb=9b25468762155e45dd48df4b9d6c9021f602fc2c;hpb=1c733d337b6383a0202220a52a2fbe74209180a4 diff --git a/ftdi/ftdi.h b/ftdi/ftdi.h deleted file mode 100644 index 7d74701..0000000 --- a/ftdi/ftdi.h +++ /dev/null @@ -1,121 +0,0 @@ -/*************************************************************************** - ftdi.h - description - ------------------- - begin : Fri Apr 4 2003 - copyright : (C) 2003 by Intra2net AG - email : opensource@intra2net.com - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU Lesser General Public License * - * version 2.1 as published by the Free Software Foundation; * - * * - ***************************************************************************/ - -#ifndef __libftdi_h__ -#define __libftdi_h__ - -#include - -enum ftdi_chip_type { TYPE_AM=0, TYPE_BM=1, TYPE_2232C=2 }; - -struct ftdi_context { - // USB specific - struct usb_dev_handle *usb_dev; - int usb_read_timeout; - int usb_write_timeout; - - // FTDI specific - enum ftdi_chip_type type; - 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 - - /* 1: (default) Normal bitbang mode, 2: FT2232C SPI bitbang mode */ - unsigned char bitbang_mode; - - // misc - char *error_str; -}; - -struct ftdi_eeprom { - int vendor_id; - int product_id; - - int self_powered; - int remote_wakeup; - int BM_type_chip; - - int in_is_isochronous; - int out_is_isochronous; - int suspend_pull_downs; - - int use_serial; - int change_usb_version; - int usb_version; - int max_power; - - char *manufacturer; - char *product; - char *serial; -}; - -#ifdef __cplusplus -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_open_desc(struct ftdi_context *ftdi, int vendor, int product, - const char* description, const char* serial); - 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_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); - int ftdi_read_pins(struct ftdi_context *ftdi, unsigned char *pins); - - int ftdi_set_latency_timer(struct ftdi_context *ftdi, unsigned char latency); - int ftdi_get_latency_timer(struct ftdi_context *ftdi, unsigned char *latency); - - // init and build eeprom from ftdi_eeprom structure - void ftdi_eeprom_initdefaults(struct ftdi_eeprom *eeprom); - int ftdi_eeprom_build(struct ftdi_eeprom *eeprom, unsigned char *output); - - // "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_write_eeprom(struct ftdi_context *ftdi, unsigned char *eeprom); - int ftdi_erase_eeprom(struct ftdi_context *ftdi); - -#ifdef __cplusplus -} -#endif - -#endif /* __libftdi_h__ */