48 #include <boost/asio.hpp>
49 #include <boost/bind.hpp>
50 #include <boost/thread.hpp>
51 #include <boost/utility.hpp>
52 #include <boost/function.hpp>
53 #include <boost/shared_array.hpp>
82 AsyncSerial (
const std::string & devname,
unsigned int baud_rate,
83 boost::asio::serial_port_base::parity opt_parity =
84 boost::asio::serial_port_base::parity ( boost::asio::
85 serial_port_base::parity::none ),
86 boost::asio::serial_port_base::character_size opt_csize =
87 boost::asio::serial_port_base::character_size ( 8 ),
88 boost::asio::serial_port_base::flow_control opt_flow =
89 boost::asio::serial_port_base::flow_control ( boost::
90 asio::serial_port_base::flow_control::
92 boost::asio::serial_port_base::stop_bits opt_stop =
93 boost::asio::serial_port_base::stop_bits ( boost::asio::
94 serial_port_base::stop_bits::
111 open (
const std::string & devname,
unsigned int baud_rate,
112 boost::asio::serial_port_base::parity opt_parity =
113 boost::asio::serial_port_base::parity ( boost::asio::serial_port_base::
115 boost::asio::serial_port_base::character_size opt_csize =
116 boost::asio::serial_port_base::character_size ( 8 ),
117 boost::asio::serial_port_base::flow_control opt_flow =
118 boost::asio::serial_port_base::flow_control ( boost::asio::
119 serial_port_base::flow_control::
121 boost::asio::serial_port_base::stop_bits opt_stop =
122 boost::asio::serial_port_base::stop_bits ( boost::asio::
123 serial_port_base::stop_bits::
151 write (
const char *data,
size_t size );
158 write (
const std::vector < char >&data );
191 readEnd (
const boost::system::error_code & error,
size_t bytes_transferred );
207 writeEnd (
const boost::system::error_code & error );
233 setReadCallback (
const boost::function <
void (
const char *,
size_t ) >
270 boost::asio::serial_port_base::parity opt_parity =
271 boost::asio::serial_port_base::parity ( boost::
272 asio::serial_port_base::parity::
274 boost::asio::serial_port_base::character_size opt_csize =
275 boost::asio::serial_port_base::character_size ( 8 ),
276 boost::asio::serial_port_base::flow_control opt_flow =
277 boost::asio::serial_port_base::flow_control ( boost::
278 asio::serial_port_base::flow_control::
280 boost::asio::serial_port_base::stop_bits opt_stop =
281 boost::asio::serial_port_base::stop_bits ( boost::
282 asio::serial_port_base::stop_bits::
292 setCallback (
const boost::function <
void (
const char *,
size_t ) > &callback );
304 #endif //ASYNCSERIAL_H
void setCallback(const boost::function< void(const char *, size_t) > &callback)
Asynchronous serial class with read callback 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.
Asyncronous serial class Asyncronous serial class. Intended to be a base class.
void writeString(const std::string &s)
boost::shared_ptr< AsyncSerialImpl > pimpl
static const int readBufferSize
void setErrorStatus(bool e)
void writeEnd(const boost::system::error_code &error)
void setReadCallback(const boost::function< void(const char *, size_t) > &callback)
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 readEnd(const boost::system::error_code &error, size_t bytes_transferred)
virtual ~CallbackAsyncSerial()