Reads/Writes strings from/to serial port using a line-based (typically ASCII) protocol with a defined end-of-line regex.
More...
|
| SerialThreadCOBS (const goby::middleware::protobuf::SerialConfig &config, int index=-1) |
| Constructs the thread. More...
|
|
| ~SerialThreadCOBS () |
|
| SerialThread (const goby::middleware::protobuf::SerialConfig &config, int index=-1) |
| Constructs the thread. More...
|
|
virtual | ~SerialThread () override |
|
| IOThread (const goby::middleware::protobuf::SerialConfig &config, int index, std::string glog_group="i/o") |
| Constructs the thread. More...
|
|
void | initialize () override |
|
void | finalize () override |
|
virtual | ~IOThread () |
|
| SimpleThread (const goby::middleware::protobuf::SerialConfig &cfg, double loop_freq_hertz=0, int index=-1) |
| Construct a thread with a given configuration, optionally a loop frequency and/or index. More...
|
|
| SimpleThread (const goby::middleware::protobuf::SerialConfig &cfg, boost::units::quantity< boost::units::si::frequency > loop_freq, int index=-1) |
| Construct a thread with a given configuration, a loop frequency (using boost::units) and optionally an index. More...
|
|
InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > & | intervehicle () |
| Access the transporter on the intervehicle layer (which wraps interprocess and interthread) More...
|
|
InterProcessForwarder< InterThreadTransporter > & | interprocess () |
| Access the transporter on the interprocess layer (which wraps interthread) More...
|
|
InterThreadTransporter & | interthread () |
| Access the transporter on the interthread layer (this is the innermost transporter) More...
|
|
| Thread (const goby::middleware::protobuf::SerialConfig &cfg, InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > *transporter, int index) |
| Construct a thread with a given configuration, underlying transporter, and index (for multiple instantiations), but without any loop() frequency. More...
|
|
| Thread (const goby::middleware::protobuf::SerialConfig &cfg, InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > *transporter, double loop_freq_hertz=0, int index=-1) |
| Construct a thread with all possible metadata (using double to specify frequency in Hertz) More...
|
|
| Thread (const goby::middleware::protobuf::SerialConfig &cfg, InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > *transporter, boost::units::quantity< boost::units::si::frequency > loop_freq, int index=-1) |
| Construct a thread with all possible metadata (using boost::units to specify frequency) More...
|
|
virtual | ~Thread () |
|
void | run (std::atomic< bool > &alive) |
| Run the thread until the boolean reference passed is set false. This call blocks, and should be run in a std::thread by the caller. More...
|
|
int | index () const |
|
std::type_index | type_index () |
|
void | set_type_index (std::type_index type_i) |
|
std::string | name () |
|
void | set_name (const std::string &name) |
|
int | uid () |
|
void | set_uid (int uid) |
|
template<const goby::middleware::Group & line_in_group, const goby::middleware::Group & line_out_group, PubSubLayer publish_layer = PubSubLayer::INTERPROCESS, PubSubLayer subscribe_layer = PubSubLayer::INTERTHREAD, template< class > class ThreadType = goby::middleware::SimpleThread, bool use_indexed_groups = false>
class goby::middleware::io::SerialThreadCOBS< line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType, use_indexed_groups >
Reads/Writes strings from/to serial port using a line-based (typically ASCII) protocol with a defined end-of-line regex.
- Template Parameters
-
Definition at line 71 of file serial.h.
template<const goby::middleware::Group & line_in_group, const goby::middleware::Group & line_out_group, PubSubLayer publish_layer = PubSubLayer::INTERPROCESS, PubSubLayer subscribe_layer = PubSubLayer::INTERTHREAD, template< class > class ThreadType = goby::middleware::SimpleThread, bool use_indexed_groups = false>
template<class Thread , class ThreadBase >
void cobs_async_read |
( |
Thread * |
this_thread, |
|
|
std::shared_ptr< ThreadBase > |
self = std::shared_ptr<ThreadBase>() |
|
) |
| |
|
friend |
template<const goby::middleware::Group & line_in_group, const goby::middleware::Group & line_out_group, PubSubLayer publish_layer = PubSubLayer::INTERPROCESS, PubSubLayer subscribe_layer = PubSubLayer::INTERTHREAD, template< class > class ThreadType = goby::middleware::SimpleThread, bool use_indexed_groups = false>
template<class Thread >