Project

General

Profile

Serial Scol plugin
CallbackAsyncSerial Class Reference

#include <AsyncSerial.h>

Inheritance diagram for CallbackAsyncSerial:
AsyncSerial

Public Member Functions

 CallbackAsyncSerial (const std::string &devname, unsigned int baud_rate, boost::asio::serial_port_base::parity opt_parity=boost::asio::serial_port_base::parity(boost::asio::serial_port_base::parity::none), boost::asio::serial_port_base::character_size opt_csize=boost::asio::serial_port_base::character_size(8), boost::asio::serial_port_base::flow_control opt_flow=boost::asio::serial_port_base::flow_control(boost::asio::serial_port_base::flow_control::none), boost::asio::serial_port_base::stop_bits opt_stop=boost::asio::serial_port_base::stop_bits(boost::asio::serial_port_base::stop_bits::one))
 
void setCallback (const boost::function< void(const char *, size_t)> &callback)
 
void clearCallback ()
 
- Public Member Functions inherited from AsyncSerial
 AsyncSerial (const std::string &devname, unsigned int baud_rate, boost::asio::serial_port_base::parity opt_parity=boost::asio::serial_port_base::parity(boost::asio::serial_port_base::parity::none), boost::asio::serial_port_base::character_size opt_csize=boost::asio::serial_port_base::character_size(8), boost::asio::serial_port_base::flow_control opt_flow=boost::asio::serial_port_base::flow_control(boost::asio::serial_port_base::flow_control::none), boost::asio::serial_port_base::stop_bits opt_stop=boost::asio::serial_port_base::stop_bits(boost::asio::serial_port_base::stop_bits::one))
 
void open (const std::string &devname, unsigned int baud_rate, boost::asio::serial_port_base::parity opt_parity=boost::asio::serial_port_base::parity(boost::asio::serial_port_base::parity::none), boost::asio::serial_port_base::character_size opt_csize=boost::asio::serial_port_base::character_size(8), boost::asio::serial_port_base::flow_control opt_flow=boost::asio::serial_port_base::flow_control(boost::asio::serial_port_base::flow_control::none), boost::asio::serial_port_base::stop_bits opt_stop=boost::asio::serial_port_base::stop_bits(boost::asio::serial_port_base::stop_bits::one))
 
bool isOpen () const
 
bool errorStatus () const
 
void close ()
 
void write (const char *data, size_t size)
 
void write (const std::vector< char > &data)
 
void writeString (const std::string &s)
 

Additional Inherited Members

- Static Public Attributes inherited from AsyncSerial
static const int readBufferSize = 512
 
- Protected Member Functions inherited from AsyncSerial
void setErrorStatus (bool e)
 
void setReadCallback (const boost::function< void(const char *, size_t)> &callback)
 
void clearReadCallback ()
 
void retry ()
 

Detailed Description

Asynchronous serial class with read callback. User code can write data from one thread, and read data will be reported through a callback called from a separate thred.

Definition at line 214 of file AsyncSerial.h.

Constructor & Destructor Documentation

◆ CallbackAsyncSerial() [1/2]

CallbackAsyncSerial::CallbackAsyncSerial ( )

Definition at line 404 of file AsyncSerial.cpp.

◆ CallbackAsyncSerial() [2/2]

CallbackAsyncSerial::CallbackAsyncSerial ( const std::string &  devname,
unsigned int  baud_rate,
boost::asio::serial_port_base::parity  opt_parity = boost::asio::serial_port_base::parity(    boost::asio::serial_port_base::parity::none),
boost::asio::serial_port_base::character_size  opt_csize = boost::asio::serial_port_base::character_size(8),
boost::asio::serial_port_base::flow_control  opt_flow = boost::asio::serial_port_base::flow_control(    boost::asio::serial_port_base::flow_control::none),
boost::asio::serial_port_base::stop_bits  opt_stop = boost::asio::serial_port_base::stop_bits(    boost::asio::serial_port_base::stop_bits::one) 
)

Opens a serial device.

Parameters
devnameserial device name, example "/dev/ttyS0" or "COM1"
baud_rateserial baud rate
opt_parityserial parity, default none
opt_csizeserial character size, default 8bit
opt_flowserial flow control, default none
opt_stopserial stop bits, default 1
Exceptions
boost::system::system_errorif cannot open the serial device

Definition at line 409 of file AsyncSerial.cpp.

◆ ~CallbackAsyncSerial()

CallbackAsyncSerial::~CallbackAsyncSerial ( )
virtual

Definition at line 431 of file AsyncSerial.cpp.

Member Function Documentation

◆ clearCallback()

void CallbackAsyncSerial::clearCallback ( )

Removes the callback. Any data received after this function call will be lost.

Definition at line 426 of file AsyncSerial.cpp.

◆ setCallback()

void CallbackAsyncSerial::setCallback ( const boost::function< void(const char *, size_t)> &  callback)

Set the read callback, the callback will be called from a thread owned by the CallbackAsyncSerial class when data arrives from the serial port.

Parameters
callbackthe receive callback

Definition at line 420 of file AsyncSerial.cpp.


The documentation for this class was generated from the following files:
  • G:/work/subversion/scol-technologies/trunk/scol/plugins/serialio/include/AsyncSerial.h
  • G:/work/subversion/scol-technologies/trunk/scol/plugins/serialio/src/AsyncSerial.cpp