Asynchronous communication class for a serial port. More...
#include <serial.h>
Public Member Functions | |
Serial (std::string port, unsigned int baud_rate, MessageHandler &message_handler=default_message_handler_) | |
Open a serial port. More... | |
bool | set_baud_rate (unsigned int baud_rate) |
Set serial port baud rate. More... | |
~Serial () | |
Public Member Functions inherited from async_comm::Comm | |
void | close () |
Closes the port. More... | |
Comm (MessageHandler &message_handler=default_message_handler_) | |
Set up asynchronous communication base class. More... | |
bool | init () |
Initializes and opens the port. More... | |
void | register_listener (CommListener &listener) |
Register a listener for when bytes are received on the port. More... | |
void | register_receive_callback (std::function< void(const uint8_t *, size_t)> fun) |
Register a callback function for when bytes are received on the port. More... | |
void | send_byte (uint8_t data) |
Send a single byte over the port. More... | |
void | send_bytes (const uint8_t *src, size_t len) |
Send bytes from a buffer over the port. More... | |
virtual | ~Comm () |
Private Member Functions | |
void | do_async_read (const boost::asio::mutable_buffers_1 &buffer, boost::function< void(const boost::system::error_code &, size_t)> handler) override |
void | do_async_write (const boost::asio::const_buffers_1 &buffer, boost::function< void(const boost::system::error_code &, size_t)> handler) override |
void | do_close () override |
bool | do_init () override |
bool | is_open () override |
Private Attributes | |
unsigned int | baud_rate_ |
std::string | port_ |
boost::asio::serial_port | serial_port_ |
Additional Inherited Members | |
Protected Attributes inherited from async_comm::Comm | |
boost::asio::io_service | io_service_ |
MessageHandler & | message_handler_ |
Static Protected Attributes inherited from async_comm::Comm | |
static DefaultMessageHandler | default_message_handler_ |
static constexpr size_t | READ_BUFFER_SIZE = 1024 |
static constexpr size_t | WRITE_BUFFER_SIZE = 1024 |
async_comm::Serial::Serial | ( | std::string | port, |
unsigned int | baud_rate, | ||
MessageHandler & | message_handler = default_message_handler_ |
||
) |
Open a serial port.
port | The port to open (e.g. "/dev/ttyUSB0") |
baud_rate | The baud rate for the serial port (e.g. 115200) |
message_handler | Custom message handler, or omit for default handler |
Definition at line 47 of file serial.cpp.
async_comm::Serial::~Serial | ( | ) |
Definition at line 55 of file serial.cpp.
|
overrideprivatevirtual |
Implements async_comm::Comm.
Definition at line 106 of file serial.cpp.
|
overrideprivatevirtual |
Implements async_comm::Comm.
Definition at line 112 of file serial.cpp.
|
overrideprivatevirtual |
Implements async_comm::Comm.
Definition at line 101 of file serial.cpp.
|
overrideprivatevirtual |
Implements async_comm::Comm.
Definition at line 81 of file serial.cpp.
|
overrideprivatevirtual |
Implements async_comm::Comm.
Definition at line 76 of file serial.cpp.
bool async_comm::Serial::set_baud_rate | ( | unsigned int | baud_rate | ) |
Set serial port baud rate.
baud_rate | The baud rate for the serial port (e.g. 115200) |
Definition at line 60 of file serial.cpp.
|
private |