libftdi  0.20
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, Output }
 Direction flags for flush(). More...
 
enum  ModemCtl { Dtr, Rts }
 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 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_contextcontext ()
 
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

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

◆ description()

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

Device strings properties.

Definition at line 347 of file ftdi.cpp.

◆ serial()

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

Device strings properties.

Definition at line 354 of file ftdi.cpp.

Referenced by get_strings().

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

◆ 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 ftdi_usb_open_desc_index(), and get_strings_and_reopen().

◆ open() [4/4]

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

Definition at line 110 of file ftdi.cpp.

References 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 BITMODE_BITBANG, ftdi_set_bitmode(), and 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().

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

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