Ftdi::Context Class Reference

FTDI device context. Represents single FTDI device context. More...

`#include <ftdi.hpp>`

## Classes

class | Private

## Public Types

enum | Direction { Input = 0x2 , Output = 0x1 }
| Direction flags for flush(). More...
enum | ModemCtl { Dtr = 0x2 , Rts = 0x1 }
| Modem control flags. More...

## Public Member Functions

| Context ()
| Constructor.
| ~Context ()
| Destructor.
Eeprom * | eeprom ()
const std::string & | vendor ()
| Device strings properties.
const std::string & | description ()
| Device strings properties.
const std::string & | serial ()
| Device strings properties.
bool | is_open ()
int | open (struct libusb_device *dev=0)
int | open (int vendor, int product)
int | open (int vendor, int product, const std::string &description, const std::string &serial=std::string(), unsigned int index=0)
int | open (const std::string &description)
int | close ()
int | reset ()
int DEPRECATED() | flush (int mask=Input|Output)
int | tcflush (int mask=Input|Output)
int | set_interface (enum ftdi_interface interface)
void | set_usb_device (struct libusb_device_handle *dev)
int | set_baud_rate (int baudrate)
int | set_line_property (enum ftdi_bits_type bits, enum ftdi_stopbits_type sbit, enum ftdi_parity_type parity)
int | set_line_property (enum ftdi_bits_type bits, enum ftdi_stopbits_type sbit, enum ftdi_parity_type parity, enum ftdi_break_type break_type)
int | get_usb_read_timeout () const
void | set_usb_read_timeout (int usb_read_timeout)
int | get_usb_write_timeout () const
void | set_usb_write_timeout (int usb_write_timeout)
int | read (unsigned char *buf, int size)
int | write (const unsigned char *buf, int size)
int | set_read_chunk_size (unsigned int chunksize)
int | set_write_chunk_size (unsigned int chunksize)
int | read_chunk_size ()
int | write_chunk_size ()
int | set_event_char (unsigned char eventch, unsigned char enable)
int | set_error_char (unsigned char errorch, unsigned char enable)
int | set_flow_control (int flowctrl)
int | set_modem_control (int mask=Dtr|Rts)
int | set_latency (unsigned char latency)
int | set_dtr (bool state)
int | set_rts (bool state)
unsigned short | poll_modem_status ()
unsigned | latency ()
int | set_bitmode (unsigned char bitmask, unsigned char mode)
int | set_bitmode (unsigned char bitmask, enum ftdi_mpsse_mode mode)
int | bitbang_disable ()
int | read_pins (unsigned char *pins)
const char * | error_string ()

## Protected Member Functions

int | get_strings (bool vendor=true, bool description=true, bool serial=true)
int | get_strings_and_reopen (bool vendor=true, bool description=true, bool serial=true)
struct ftdi_context * | context ()
void | set_context (struct ftdi_context *context)
void | set_usb_device (struct libusb_device *dev)

## Friends

class | Eeprom
class | List

## Detailed Description

FTDI device context. Represents single FTDI device context.

Definition at line 47 of file ftdi.hpp.

## Member Enumeration Documentation

## Direction

enum Ftdi::Context::Direction

Direction flags for flush().

Enumerator
Input |
Output |

Definition at line 56 of file ftdi.hpp.

## ModemCtl

enum Ftdi::Context::ModemCtl

Modem control flags.

Enumerator
Dtr |
Rts |

Definition at line 64 of file ftdi.hpp.

## Constructor & Destructor Documentation

## Context()

Ftdi::Context::Context | ( |  | ) |

Constructor.

Definition at line 67 of file ftdi.cpp.

## ~Context()

Ftdi::Context::~Context | ( |  | ) |

Destructor.

Definition at line 74 of file ftdi.cpp.

## Member Function Documentation

## eeprom()

Eeprom * Ftdi::Context::eeprom | ( |  | ) |

## vendor()

const std::string & Ftdi::Context::vendor | ( |  | ) |

Device strings properties.

Definition at line 409 of file ftdi.cpp.

References get_strings_and_reopen().

Referenced by get_strings(), get_strings_and_reopen(), open(), and open().

## description()

const std::string & Ftdi::Context::description | ( |  | ) |

Device strings properties.

Definition at line 418 of file ftdi.cpp.

References get_strings_and_reopen().

Referenced by get_strings(), get_strings_and_reopen(), open(), and open().

## serial()

const std::string & Ftdi::Context::serial | ( |  | ) |

Device strings properties.

Definition at line 427 of file ftdi.cpp.

References get_strings_and_reopen().

Referenced by get_strings(), get_strings_and_reopen(), and open().

## is_open()

bool Ftdi::Context::is_open | ( |  | ) |

Definition at line 78 of file ftdi.cpp.

## open() [1/4]

int Ftdi::Context::open | ( | struct libusb_device * | dev = `0` | ) |

Definition at line 123 of file ftdi.cpp.

References get_strings_and_reopen().

## open() [2/4]

int Ftdi::Context::open | ( | int | vendor,
|  | int | product
| ) |  |

Definition at line 83 of file ftdi.cpp.

References ftdi_usb_open(), get_strings_and_reopen(), and vendor().

## open() [3/4]

int Ftdi::Context::open | ( | int | vendor,
|  | int | product,
|  | const std::string & | description,
|  | const std::string & | serial = `std::string()`,
|  | unsigned int | index = `0`
| ) |  |

Definition at line 94 of file ftdi.cpp.

References description(), ftdi_usb_open_desc_index(), get_strings_and_reopen(), serial(), and vendor().

## open() [4/4]

int Ftdi::Context::open | ( | const std::string & | description | ) |

Definition at line 113 of file ftdi.cpp.

References description(), ftdi_usb_open_string(), and get_strings_and_reopen().

## close()

int Ftdi::Context::close | ( |  | ) |

Definition at line 134 of file ftdi.cpp.

References ftdi_usb_close().

## reset()

int Ftdi::Context::reset | ( |  | ) |

Definition at line 141 of file ftdi.cpp.

References ftdi_usb_reset().

## flush()

int Ftdi::Context::flush | ( | int | mask = `Input|Output` | ) |

Definition at line 146 of file ftdi.cpp.

References ftdi_usb_purge_buffers(), ftdi_usb_purge_rx_buffer(), ftdi_usb_purge_tx_buffer(), Input, and Output.

## tcflush()

int Ftdi::Context::tcflush | ( | int | mask = `Input|Output` | ) |

Definition at line 172 of file ftdi.cpp.

References ftdi_tciflush(), ftdi_tcioflush(), ftdi_tcoflush(), Input, and Output.

## set_interface()

int Ftdi::Context::set_interface | ( | enum ftdi_interface | interface | ) |

Definition at line 198 of file ftdi.cpp.

References ftdi_set_interface().

## set_usb_device() [1/2]

void Ftdi::Context::set_usb_device | ( | struct libusb_device_handle * | dev | ) |

Definition at line 203 of file ftdi.cpp.

References ftdi_set_usbdev().

Referenced by Ftdi::List::List().

## set_baud_rate()

int Ftdi::Context::set_baud_rate | ( | int | baudrate | ) |

Definition at line 209 of file ftdi.cpp.

References ftdi_set_baudrate().

## set_line_property() [1/2]

int Ftdi::Context::set_line_property | ( | enum ftdi_bits_type | bits,
|  | enum ftdi_stopbits_type | sbit,
|  | enum ftdi_parity_type | parity
| ) |  |

Definition at line 214 of file ftdi.cpp.

References ftdi_set_line_property().

## set_line_property() [2/2]

int Ftdi::Context::set_line_property | ( | enum ftdi_bits_type | bits,
|  | enum ftdi_stopbits_type | sbit,
|  | enum ftdi_parity_type | parity,
|  | enum ftdi_break_type | break_type
| ) |  |

Definition at line 219 of file ftdi.cpp.

References ftdi_set_line_property2().

## get_usb_read_timeout()

int Ftdi::Context::get_usb_read_timeout | ( |  | ) | const

Definition at line 224 of file ftdi.cpp.

## set_usb_read_timeout()

void Ftdi::Context::set_usb_read_timeout | ( | int | usb_read_timeout | ) |

Definition at line 229 of file ftdi.cpp.

## get_usb_write_timeout()

int Ftdi::Context::get_usb_write_timeout | ( |  | ) | const

Definition at line 234 of file ftdi.cpp.

## set_usb_write_timeout()

void Ftdi::Context::set_usb_write_timeout | ( | int | usb_write_timeout | ) |

Definition at line 239 of file ftdi.cpp.

## read()

int Ftdi::Context::read | ( | unsigned char * | buf,
|  | int | size
| ) |  |

Definition at line 244 of file ftdi.cpp.

References ftdi_read_data().

## write()

int Ftdi::Context::write | ( | const unsigned char * | buf,
|  | int | size
| ) |  |

Definition at line 263 of file ftdi.cpp.

References ftdi_write_data().

## set_read_chunk_size()

int Ftdi::Context::set_read_chunk_size | ( | unsigned int | chunksize | ) |

Definition at line 249 of file ftdi.cpp.

References ftdi_read_data_set_chunksize().

## set_write_chunk_size()

int Ftdi::Context::set_write_chunk_size | ( | unsigned int | chunksize | ) |

Definition at line 268 of file ftdi.cpp.

References ftdi_write_data_set_chunksize().

## read_chunk_size()

int Ftdi::Context::read_chunk_size | ( |  | ) |

Definition at line 254 of file ftdi.cpp.

References ftdi_read_data_get_chunksize().

## write_chunk_size()

int Ftdi::Context::write_chunk_size | ( |  | ) |

Definition at line 273 of file ftdi.cpp.

References ftdi_write_data_get_chunksize().

## set_event_char()

int Ftdi::Context::set_event_char | ( | unsigned char | eventch,
|  | unsigned char | enable
| ) |  |

Definition at line 328 of file ftdi.cpp.

References ftdi_set_event_char().

## set_error_char()

int Ftdi::Context::set_error_char | ( | unsigned char | errorch,
|  | unsigned char | enable
| ) |  |

Definition at line 333 of file ftdi.cpp.

References ftdi_set_error_char().

## set_flow_control()

int Ftdi::Context::set_flow_control | ( | int | flowctrl | ) |

Definition at line 282 of file ftdi.cpp.

References ftdi_setflowctrl().

## set_modem_control()

int Ftdi::Context::set_modem_control | ( | int | mask = `Dtr|Rts` | ) |

Definition at line 287 of file ftdi.cpp.

References Dtr, ftdi_setdtr_rts(), and Rts.

## set_latency()

int Ftdi::Context::set_latency | ( | unsigned char | latency | ) |

Definition at line 309 of file ftdi.cpp.

References ftdi_set_latency_timer(), and latency().

## set_dtr()

int Ftdi::Context::set_dtr | ( | bool | state | ) |

Definition at line 299 of file ftdi.cpp.

References ftdi_setdtr().

## set_rts()

int Ftdi::Context::set_rts | ( | bool | state | ) |

Definition at line 304 of file ftdi.cpp.

References ftdi_setrts().

## poll_modem_status()

unsigned short Ftdi::Context::poll_modem_status | ( |  | ) |

Definition at line 321 of file ftdi.cpp.

References ftdi_poll_modem_status().

## latency()

unsigned Ftdi::Context::latency | ( |  | ) |

Definition at line 314 of file ftdi.cpp.

References ftdi_get_latency_timer(), and latency().

Referenced by latency(), and set_latency().

## set_bitmode() [1/2]

int Ftdi::Context::set_bitmode | ( | unsigned char | bitmask,
|  | unsigned char | mode
| ) |  |

Definition at line 338 of file ftdi.cpp.

References ftdi_set_bitmode().

## set_bitmode() [2/2]

int Ftdi::Context::set_bitmode | ( | unsigned char | bitmask,
|  | enum ftdi_mpsse_mode | mode
| ) |  |

Definition at line 343 of file ftdi.cpp.

References ftdi_set_bitmode().

## bitbang_disable()

int Ftdi::Context::bitbang_disable | ( |  | ) |

Definition at line 348 of file ftdi.cpp.

References ftdi_disable_bitbang().

## read_pins()

int Ftdi::Context::read_pins | ( | unsigned char * | pins | ) |

Definition at line 353 of file ftdi.cpp.

References ftdi_read_pins().

## error_string()

const char * Ftdi::Context::error_string | ( |  | ) |

Definition at line 358 of file ftdi.cpp.

References ftdi_get_error_string().

## get_strings()

int Ftdi::Context::get_strings | ( | bool | vendor = `true`,
|  | bool | description = `true`,
|  | bool | serial = `true`
| ) |  |

protected

Definition at line 363 of file ftdi.cpp.

References description(), ftdi_usb_get_strings(), serial(), and vendor().

Referenced by get_strings_and_reopen(), and Ftdi::List::List().

## get_strings_and_reopen()

int Ftdi::Context::get_strings_and_reopen | ( | bool | vendor = `true`,
|  | bool | description = `true`,
|  | bool | serial = `true`
| ) |  |

protected

Definition at line 380 of file ftdi.cpp.

References description(), ftdi_usb_open_dev(), get_strings(), serial(), and vendor().

Referenced by description(), open(), open(), open(), open(), serial(), and vendor().

## context()

struct ftdi_context * Ftdi::Context::context | ( |  | ) |

protected

Definition at line 445 of file ftdi.cpp.

Referenced by Ftdi::Eeprom::Eeprom(), Ftdi::List::find_all(), and set_context().

## set_context()

void Ftdi::Context::set_context | ( | struct ftdi_context * | context | ) |

protected

Definition at line 434 of file ftdi.cpp.

References context(), and ftdi_free().

## set_usb_device() [2/2]

void Ftdi::Context::set_usb_device | ( | struct libusb_device * | dev | ) |

protected

Definition at line 440 of file ftdi.cpp.

## Friends And Related Symbol Documentation

## Eeprom

friend class Eeprom

friend

Definition at line 50 of file ftdi.hpp.

## List

friend class List

friend

Definition at line 51 of file ftdi.hpp.

The documentation for this class was generated from the following files:

- ftdi.hpp
- ftdi.cpp