24 #ifndef GOBY_MIDDLEWARE_IO_COBS_SERIAL_H
25 #define GOBY_MIDDLEWARE_IO_COBS_SERIAL_H
30 #include <boost/asio/read_until.hpp>
31 #include <boost/asio/streambuf.hpp>
32 #include <boost/system/error_code.hpp>
70 bool use_indexed_groups =
false>
73 ThreadType, use_indexed_groups>
76 ThreadType, use_indexed_groups>;
89 template <
class Thread>
91 std::shared_ptr<const goby::middleware::protobuf::IOData> io_msg);
93 template <
class Thread,
class ThreadBase>
99 void async_write(std::shared_ptr<const goby::middleware::protobuf::IOData> io_msg)
override
105 boost::asio::streambuf buffer_;
Class for grouping publications in the Goby middleware. Analogous to "topics" in ROS,...
Implements Thread for a three layer middleware setup ([ intervehicle [ interprocess [ interthread ] ]...
Represents a thread of execution within the Goby middleware, interleaving periodic events (loop()) wi...
Reads/Writes strings from/to serial port using a line-based (typically ASCII) protocol with a defined...
SerialThreadCOBS(const goby::middleware::protobuf::SerialConfig &config, int index=-1)
Constructs the thread.
friend void cobs_async_write(Thread *this_thread, std::shared_ptr< const goby::middleware::protobuf::IOData > io_msg)
friend void cobs_async_read(Thread *this_thread, std::shared_ptr< ThreadBase > self)
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::goby::acomms::protobuf::DriverConfig, ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::goby::acomms::abc::protobuf::Config >, 11, false > config
The global namespace for the Goby project.