#include <AsyncSerial.h>
|
| 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 | close () |
|
bool | errorStatus () const |
|
bool | isOpen () const |
|
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)) |
|
void | write (const char *data, size_t size) |
|
void | write (const std::vector< char > &data) |
|
void | writeString (const std::string &s) |
|
virtual | ~AsyncSerial ()=0 |
|
|
void | doClose () |
|
void | doRead () |
|
void | doWrite () |
|
void | readEnd (const boost::system::error_code &error, size_t bytes_transferred) |
|
void | writeEnd (const boost::system::error_code &error) |
|
Asyncronous serial class. Intended to be a base class.
Definition at line 28 of file AsyncSerial.h.
AsyncSerial::AsyncSerial |
( |
| ) |
|
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) |
|
) |
| |
Constructor. Creates and opens a serial device.
- Parameters
-
devname | serial device name, example "/dev/ttyS0" or "COM1" |
baud_rate | serial baud rate |
opt_parity | serial parity, default none |
opt_csize | serial character size, default 8bit |
opt_flow | serial flow control, default none |
opt_stop | serial stop bits, default 1 |
- Exceptions
-
boost::system::system_error | if cannot open the serial device |
AsyncSerial::~AsyncSerial |
( |
| ) |
|
|
pure virtual |
void AsyncSerial::clearReadCallback |
( |
| ) |
|
|
protected |
To unregister the read callback in the derived class destructor so it does not get called after the derived class destructor but before the base class destructor
Definition at line 291 of file AsyncSerial.cpp.
void AsyncSerial::close |
( |
| ) |
|
Close the serial device
- Exceptions
-
boost::system::system_error | if any error |
Definition at line 127 of file AsyncSerial.cpp.
void AsyncSerial::doClose |
( |
| ) |
|
|
private |
void AsyncSerial::doRead |
( |
| ) |
|
|
private |
Callback called to start an asynchronous read operation. This callback is called by the io_service in the spawned thread.
Definition at line 184 of file AsyncSerial.cpp.
void AsyncSerial::doWrite |
( |
| ) |
|
|
private |
Callback called to start an asynchronous write operation. If it is already in progress, does nothing. This callback is called by the io_service in the spawned thread.
Definition at line 228 of file AsyncSerial.cpp.
bool AsyncSerial::errorStatus |
( |
| ) |
const |
bool AsyncSerial::isOpen |
( |
| ) |
const |
void AsyncSerial::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) |
|
) |
| |
Opens a serial device.
- Parameters
-
devname | serial device name, example "/dev/ttyS0" or "COM1" |
baud_rate | serial baud rate |
opt_parity | serial parity, default none |
opt_csize | serial character size, default 8bit |
opt_flow | serial flow control, default none |
opt_stop | serial stop bits, default 1 |
- Exceptions
-
boost::system::system_error | if cannot open the serial device |
Definition at line 84 of file AsyncSerial.cpp.
void AsyncSerial::readEnd |
( |
const boost::system::error_code & |
error, |
|
|
size_t |
bytes_transferred |
|
) |
| |
|
private |
Callback called at the end of the asynchronous operation. This callback is called by the io_service in the spawned thread.
Definition at line 197 of file AsyncSerial.cpp.
void AsyncSerial::setErrorStatus |
( |
bool |
e | ) |
|
|
protected |
To allow derived classes to report errors
- Parameters
-
Definition at line 280 of file AsyncSerial.cpp.
void AsyncSerial::setReadCallback |
( |
const boost::function< void(const char *, size_t)> & |
callback | ) |
|
|
protected |
To allow derived classes to set a read callback
Definition at line 286 of file AsyncSerial.cpp.
void AsyncSerial::write |
( |
const char * |
data, |
|
|
size_t |
size |
|
) |
| |
Write data asynchronously. Returns immediately.
- Parameters
-
data | array of char to be sent through the serial device |
size | array size |
Definition at line 142 of file AsyncSerial.cpp.
void AsyncSerial::write |
( |
const std::vector< char > & |
data | ) |
|
Write data asynchronously. Returns immediately.
- Parameters
-
data | to be sent through the serial device |
Definition at line 151 of file AsyncSerial.cpp.
void AsyncSerial::writeEnd |
( |
const boost::system::error_code & |
error | ) |
|
|
private |
Callback called at the end of an asynchronuous write operation, if there is more data to write, restarts a new write operation. This callback is called by the io_service in the spawned thread.
Definition at line 243 of file AsyncSerial.cpp.
void AsyncSerial::writeString |
( |
const std::string & |
s | ) |
|
Write a string asynchronously. Returns immediately. Can be used to send ASCII data to the serial device. To send binary data, use write()
- Parameters
-
Definition at line 160 of file AsyncSerial.cpp.
const int AsyncSerial::readBufferSize = 1024 |
|
static |
The documentation for this class was generated from the following files: