Ftdi::Context Class Reference

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

`#include <ftdi.hpp>`

## Classes

class | Private

## Public Types

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

## Public Member Functions

| Context ()
| Constructor. More...
| ~Context ()
| Destructor. More...
Eeprom * | eeprom ()
const std::string & | vendor ()
| Device strings properties. More...
const std::string & | description ()
| Device strings properties. More...
const std::string & | serial ()
| Device strings properties. More...
bool | is_open ()
int | open (struct usb_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 | flush (int mask=Input|Output)
int | set_interface (enum ftdi_interface interface)
void | set_usb_device (struct usb_dev_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 | read (unsigned char *buf, int size)
int | write (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 | DEPRECATED (bitbang_enable(unsigned char bitmask))
int | bitbang_disable ()
int | read_pins (unsigned char *pins)
char * | error_string ()

## Protected Member Functions

int | get_strings ()
int | get_strings_and_reopen ()
struct ftdi_context * | context ()
void | set_context (struct ftdi_context *context)
void | set_usb_device (struct usb_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 64 of file ftdi.cpp.

## ~Context()

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

Destructor.

Definition at line 71 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 340 of file ftdi.cpp.

Referenced by get_strings(), and open().

## description()

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

Device strings properties.

Definition at line 347 of file ftdi.cpp.

Referenced by open().

## serial()

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

Device strings properties.

Definition at line 354 of file ftdi.cpp.

Referenced by get_strings(), and open().

## is_open()

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

Definition at line 75 of file ftdi.cpp.

## open() [1/4]

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

Definition at line 120 of file ftdi.cpp.

References get_strings_and_reopen().

## open() [2/4]

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

Definition at line 80 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 91 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 110 of file ftdi.cpp.

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

## close()

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

Definition at line 131 of file ftdi.cpp.

References ftdi_usb_close().

## reset()

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

Definition at line 137 of file ftdi.cpp.

References ftdi_usb_reset().

## flush()

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

Definition at line 142 of file ftdi.cpp.

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

## set_interface()

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

Definition at line 154 of file ftdi.cpp.

References ftdi_set_interface().

## set_usb_device() [1/2]

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

Definition at line 159 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 165 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 170 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 175 of file ftdi.cpp.

References ftdi_set_line_property2().

## read()

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

Definition at line 180 of file ftdi.cpp.

References ftdi_read_data().

## write()

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

Definition at line 199 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 185 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 204 of file ftdi.cpp.

References ftdi_write_data_set_chunksize().

## read_chunk_size()

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

Definition at line 190 of file ftdi.cpp.

References ftdi_read_data_get_chunksize().

## write_chunk_size()

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

Definition at line 209 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 264 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 269 of file ftdi.cpp.

References ftdi_set_error_char().

## set_flow_control()

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

Definition at line 218 of file ftdi.cpp.

References ftdi_setflowctrl().

## set_modem_control()

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

Definition at line 223 of file ftdi.cpp.

References Dtr, ftdi_setdtr_rts(), and Rts.

## set_latency()

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

Definition at line 245 of file ftdi.cpp.

References ftdi_set_latency_timer(), and latency().

## set_dtr()

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

Definition at line 235 of file ftdi.cpp.

References ftdi_setdtr().

## set_rts()

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

Definition at line 240 of file ftdi.cpp.

References ftdi_setrts().

## poll_modem_status()

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

Definition at line 257 of file ftdi.cpp.

References ftdi_poll_modem_status().

## latency()

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

Definition at line 250 of file ftdi.cpp.

References ftdi_get_latency_timer().

Referenced by set_latency().

## set_bitmode() [1/2]

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

Definition at line 284 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 289 of file ftdi.cpp.

References ftdi_set_bitmode().

## DEPRECATED()

int Ftdi::Context::DEPRECATED | ( | bitbang_enable(unsigned char bitmask) |  | ) |

## bitbang_disable()

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

Definition at line 279 of file ftdi.cpp.

References ftdi_disable_bitbang().

## read_pins()

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

Definition at line 294 of file ftdi.cpp.

References ftdi_read_pins().

## error_string()

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

Definition at line 299 of file ftdi.cpp.

References ftdi_get_error_string().

## get_strings()

int Ftdi::Context::get_strings | ( |  | ) |

protected

Definition at line 304 of file ftdi.cpp.

References 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 | ( |  | ) |

protected

Definition at line 321 of file ftdi.cpp.

References ftdi_usb_open_dev(), and get_strings().

Referenced by open().

## context()

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

protected

Definition at line 370 of file ftdi.cpp.

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

## set_context()

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

protected

Definition at line 359 of file ftdi.cpp.

References context(), and ftdi_free().

## set_usb_device() [2/2]

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

protected

Definition at line 365 of file ftdi.cpp.

## Friends And Related Function 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