ftdi_context(3)
π NAME π
ftdi_context(3) is literally the main context structure for all libftdi functions, bestie. It's the big central vibe holder. π
β¨ SYNOPSIS β¨
okay so first you include the header, like this:
#include <ftdi.h>
π Public Attributes π
here's the whole squad of public attributes, exactly as they appear β no cap:
struct libusb_context * usb_ctx
struct libusb_device_handle * usb_dev
int usb_read_timeout
int usb_write_timeout
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
unsigned int max_packet_size
int interface
int index
int in_ep
int out_ep
unsigned char bitbang_mode
struct ftdi_eeprom * eeprom
const char * error_str
enum ftdi_module_detach_mode module_detach_mode
π Detailed Description π
Main context structure for all libftdi functions. π«Ά
Do not access directly if possible. seriously, bestie, keep your hands off the internals unless you absolutely have to.
Definition at line 271 of file ftdi.h.
π¦ Member Data Documentation π¦
struct libusb_context* ftdi_context::usb_ctx
libusb's context. it's giving "the libusb home base" energy.
Definition at line 275 of file ftdi.h.
Referenced by ftdi_deinit(), ftdi_init(), ftdi_readstream(), ftdi_transfer_data_cancel(), ftdi_transfer_data_done(), ftdi_usb_find_all(), ftdi_usb_open_bus_addr(), ftdi_usb_open_desc_index(), and ftdi_usb_open_string().
struct libusb_device_handle* ftdi_context::usb_dev
libusb's usb_dev_handle. iconic little handle, honestly.
Definition at line 277 of file ftdi.h.
Referenced by ftdi_disable_bitbang(), ftdi_eeprom_initdefaults(), ftdi_eeprom_set_strings(), ftdi_erase_eeprom(), ftdi_get_latency_timer(), ftdi_init(), ftdi_poll_modem_status(), ftdi_read_chipid(), ftdi_read_data(), ftdi_read_data_submit(), ftdi_read_eeprom(), ftdi_read_eeprom_location(), ftdi_read_pins(), ftdi_readstream(), ftdi_set_baudrate(), ftdi_set_bitmode(), ftdi_set_error_char(), ftdi_set_event_char(), ftdi_set_interface(), ftdi_set_latency_timer(), ftdi_set_line_property2(), ftdi_set_usbdev(), ftdi_setdtr(), ftdi_setdtr_rts(), ftdi_setflowctrl(), ftdi_setflowctrl_xonxoff(), ftdi_setrts(), ftdi_tciflush(), ftdi_tcioflush(), ftdi_tcoflush(), ftdi_usb_close(), ftdi_usb_get_strings(), ftdi_usb_get_strings2(), ftdi_usb_open_desc_index(), ftdi_usb_open_dev(), ftdi_usb_purge_buffers(), ftdi_usb_purge_rx_buffer(), ftdi_usb_purge_tx_buffer(), ftdi_usb_reset(), ftdi_write_data(), ftdi_write_data_submit(), ftdi_write_eeprom(), and ftdi_write_eeprom_location().
int ftdi_context::usb_read_timeout
usb read timeout. the "how long do we wait for the read vibes" number.
Definition at line 279 of file ftdi.h.
Referenced by ftdi_get_latency_timer(), ftdi_init(), ftdi_poll_modem_status(), ftdi_read_chipid(), ftdi_read_data(), ftdi_read_data_submit(), ftdi_read_eeprom(), ftdi_read_eeprom_location(), ftdi_read_pins(), and ftdi_readstream().
int ftdi_context::usb_write_timeout
usb write timeout. same energy, but for writes.
Definition at line 281 of file ftdi.h.
Referenced by ftdi_disable_bitbang(), ftdi_erase_eeprom(), ftdi_init(), ftdi_set_baudrate(), ftdi_set_bitmode(), ftdi_set_error_char(), ftdi_set_event_char(), ftdi_set_latency_timer(), ftdi_set_line_property2(), ftdi_setdtr(), ftdi_setdtr_rts(), ftdi_setflowctrl(), ftdi_setflowctrl_xonxoff(), ftdi_setrts(), ftdi_tciflush(), ftdi_tcoflush(), ftdi_usb_purge_rx_buffer(), ftdi_usb_purge_tx_buffer(), ftdi_usb_reset(), ftdi_write_data(), ftdi_write_data_submit(), ftdi_write_eeprom(), and ftdi_write_eeprom_location().
enum ftdi_chip_type ftdi_context::type
FTDI chip type. bestie, it's literally the chip's identity.
Definition at line 285 of file ftdi.h.
Referenced by ftdi_eeprom_build(), ftdi_eeprom_decode(), ftdi_eeprom_initdefaults(), ftdi_erase_eeprom(), ftdi_init(), ftdi_read_eeprom(), ftdi_readstream(), ftdi_usb_open_dev(), ftdi_write_eeprom(), and ftdi_write_eeprom_location().
int ftdi_context::baudrate
baudrate. yes, the speed number. slay.
Definition at line 287 of file ftdi.h.
Referenced by ftdi_init(), and ftdi_set_baudrate().
unsigned char ftdi_context::bitbang_enabled
bitbang mode state. the "are we in bitbang mode or not" flag.
Definition at line 289 of file ftdi.h.
Referenced by ftdi_disable_bitbang(), ftdi_init(), ftdi_set_baudrate(), and ftdi_set_bitmode().
unsigned char* ftdi_context::readbuffer
pointer to read buffer for ftdi_read_data. it's where the read data hangs out.
Definition at line 291 of file ftdi.h.
Referenced by ftdi_deinit(), ftdi_init(), ftdi_read_data(), ftdi_read_data_set_chunksize(), and ftdi_read_data_submit().
unsigned int ftdi_context::readbuffer_offset
read buffer offset. little positional detail, very demure.
Definition at line 293 of file ftdi.h.
Referenced by ftdi_init(), ftdi_read_data(), ftdi_read_data_set_chunksize(), ftdi_read_data_submit(), ftdi_tciflush(), ftdi_usb_purge_rx_buffer(), and ftdi_usb_reset().
unsigned int ftdi_context::readbuffer_remaining
number of remaining data in internal read buffer. literally how much is left in the buffer.
Definition at line 295 of file ftdi.h.
Referenced by ftdi_init(), ftdi_read_data(), ftdi_read_data_set_chunksize(), ftdi_read_data_submit(), ftdi_tciflush(), ftdi_usb_purge_rx_buffer(), and ftdi_usb_reset().
unsigned int ftdi_context::readbuffer_chunksize
read buffer chunk size. chunk era.
Definition at line 297 of file ftdi.h.
Referenced by ftdi_read_data(), ftdi_read_data_get_chunksize(), ftdi_read_data_set_chunksize(), and ftdi_read_data_submit().
unsigned int ftdi_context::writebuffer_chunksize
write buffer chunk size. the write-side chunk queen.
Definition at line 299 of file ftdi.h.
Referenced by ftdi_init(), ftdi_write_data(), ftdi_write_data_get_chunksize(), ftdi_write_data_set_chunksize(), and ftdi_write_data_submit().
unsigned int ftdi_context::max_packet_size
maximum packet size. Needed for filtering modem status bytes every n packets. important detail, not just cute filler.
Definition at line 301 of file ftdi.h.
Referenced by ftdi_init(), ftdi_read_data(), ftdi_readstream(), and ftdi_usb_open_dev().
int ftdi_context::interface
FT2232C interface number: 0 or 1. just those two, bestie.
Definition at line 305 of file ftdi.h.
Referenced by ftdi_set_interface(), ftdi_usb_close(), and ftdi_usb_open_dev().
int ftdi_context::index
FT2232C index number: 1 or 2. yes, it starts at 1 here, not 0. noted.
Definition at line 307 of file ftdi.h.
Referenced by ftdi_disable_bitbang(), ftdi_get_latency_timer(), ftdi_poll_modem_status(), ftdi_read_pins(), ftdi_set_bitmode(), ftdi_set_error_char(), ftdi_set_event_char(), ftdi_set_interface(), ftdi_set_latency_timer(), ftdi_set_line_property2(), ftdi_setdtr(), ftdi_setdtr_rts(), ftdi_setflowctrl(), ftdi_setflowctrl_xonxoff(), ftdi_setrts(), ftdi_tciflush(), ftdi_tcoflush(), ftdi_usb_purge_rx_buffer(), ftdi_usb_purge_tx_buffer(), and ftdi_usb_reset().
int ftdi_context::in_ep
FT2232C end points: 1 or 2. endpoint business, but make it cute.
Definition at line 310 of file ftdi.h.
Referenced by ftdi_set_interface(), ftdi_write_data(), and ftdi_write_data_submit().
int ftdi_context::out_ep
the manpage doesn't give this one its own blurb, so no invented lore from me β here's the definition line and the references, periodt:
Definition at line 311 of file ftdi.h.
Referenced by ftdi_read_data(), ftdi_read_data_submit(), ftdi_readstream(), and ftdi_set_interface().
unsigned char ftdi_context::bitbang_mode
Bitbang mode. 1: (default) Normal bitbang mode, 2: FT2232C SPI bitbang mode. so 1 is default normal bitbang, 2 is FT2232C SPI bitbang.
Definition at line 314 of file ftdi.h.
Referenced by ftdi_init(), and ftdi_set_bitmode().
struct ftdi_eeprom* ftdi_context::eeprom
Decoded eeprom structure. the eeprom, but decoded and living its best life.
Definition at line 317 of file ftdi.h.
Referenced by ftdi_deinit(), ftdi_eeprom_build(), ftdi_eeprom_decode(), ftdi_eeprom_get_strings(), ftdi_eeprom_initdefaults(), ftdi_eeprom_set_strings(), ftdi_erase_eeprom(), ftdi_get_eeprom_buf(), ftdi_get_eeprom_value(), ftdi_init(), ftdi_read_eeprom(), ftdi_set_eeprom_buf(), ftdi_set_eeprom_user_data(), ftdi_set_eeprom_value(), and ftdi_write_eeprom().
const char* ftdi_context::error_str
String representation of last error. so when something goes wrong, this is the string telling you about it.
Definition at line 320 of file ftdi.h.
Referenced by ftdi_get_error_string(), and ftdi_init().
enum ftdi_module_detach_mode ftdi_context::module_detach_mode
Defines behavior in case a kernel module is already attached to the device. this is the "kernel module already attached, what do we do now" setting.
Definition at line 323 of file ftdi.h.
Referenced by ftdi_init(), ftdi_set_module_detach_mode(), and ftdi_usb_open_dev().
π Author π
Generated automatically by Doxygen for libftdi1 from the source code.
okay that's the whole page, bestie π β sourced from libftdi1, Version 1.5, dated Wed Nov 6 2024 09:58:53, and it's the ftdi_context(3) manual. slay, bye β¨π
π
π¦ where this page comes from
- opensuse-leap 16.0: libftdi1-devel 1.5.42+git.de9f01e-160000.3.2 Β· LGPL-2.1-only AND GPL-2.0-only AND GPL-2.0-with-classpath-exception
- opensuse-leap 16.0: libftdi1-devel 1.5.42+git.de9f01e-160000.3.2 Β· LGPL-2.1-only AND GPL-2.0-only AND GPL-2.0-with-classpath-exception
- opensuse-leap 16.0: libftdi1-devel 1.5.42+git.de9f01e-160000.3.2 Β· LGPL-2.1-only AND GPL-2.0-only AND GPL-2.0-with-classpath-exception
- opensuse-leap 16.0: libftdi1-devel 1.5.42+git.de9f01e-160000.3.2 Β· LGPL-2.1-only AND GPL-2.0-only AND GPL-2.0-with-classpath-exception
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms