libftdi1 1.5
Classes | Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
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. More...
 
 ~Context ()
 Destructor. More...
 
Eepromeeprom ()
 
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 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_contextcontext ()
 
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

Direction flags for flush().

Enumerator
Input 
Output 

Definition at line 56 of file ftdi.hpp.

◆ 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(), 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(), 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 
)

◆ 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)

◆ 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(), 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 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: