Goby3  3.1.4
2024.02.22
goby::middleware::io Namespace Reference

Namespaces

 can_id
 
 detail
 
 groups
 

Classes

class  CanThread
 
class  IOThreadMAVLink
 
class  match_regex
 Provides a matching function object for the boost::asio::async_read_until based on a std::regex. More...
 
class  PTYThreadCOBS
 Reads/Writes strings from/to serial port using a line-based (typically ASCII) protocol with a defined end-of-line regex. More...
 
class  PTYThreadLineBased
 Reads/Writes strings from/to serial port using a line-based (typically ASCII) protocol with a defined end-of-line regex. More...
 
class  SerialThreadCOBS
 Reads/Writes strings from/to serial port using a line-based (typically ASCII) protocol with a defined end-of-line regex. More...
 
class  SerialThreadLineBased
 Reads/Writes strings from/to serial port using a line-based (typically ASCII) protocol with a defined end-of-line regex. More...
 
class  SerialThreadMAVLink
 Reads/Writes MAVLink message packages from/to serial port. More...
 
class  TCPClientThreadCOBS
 Reads/Writes strings from/to a TCP connection using a Consistent Overhead Byte Stuffing (COBS) binary protocol. More...
 
class  TCPClientThreadLineBased
 Reads/Writes strings from/to a TCP connection using a line-based (typically ASCII) protocol with a defined end-of-line regex. More...
 
class  TCPServerThreadCOBS
 
class  TCPServerThreadLineBased
 
class  TCPSessionCOBS
 
class  TCPSessionLineBased
 
class  UDPOneToManyThread
 
class  UDPPointToPointThread
 
class  UDPThreadMAVLink
 Reads/Writes MAVLink message packages from/to udp socket. More...
 

Typedefs

template<const goby::middleware::Group & line_in_group, const goby::middleware::Group & line_out_group, PubSubLayer publish_layer, PubSubLayer subscribe_layer, template< class > class ThreadType>
using SerialThreadMAVLinkBase = IOThreadMAVLink< line_in_group, line_out_group, publish_layer, subscribe_layer, detail::SerialThread< line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType >, goby::middleware::protobuf::SerialConfig >
 
template<const goby::middleware::Group & line_in_group, const goby::middleware::Group & line_out_group, PubSubLayer publish_layer, PubSubLayer subscribe_layer, template< class > class ThreadType>
using UDPThreadMAVLinkBase = IOThreadMAVLink< line_in_group, line_out_group, publish_layer, subscribe_layer, UDPPointToPointThread< line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType >, goby::middleware::protobuf::UDPPointToPointConfig >
 

Enumerations

enum  ThreadState { ThreadState::SUBSCRIPTIONS_COMPLETE }
 
enum  PubSubLayer { PubSubLayer::INTERTHREAD, PubSubLayer::INTERPROCESS }
 

Functions

std::uint32_t make_extended_format_can_id (std::uint32_t pgn, std::uint8_t priority, std::uint8_t source=0)
 
std::tuple< std::uint32_t, std::uint8_t, std::uint8_t > parse_extended_format_can_id (std::uint32_t can_id)
 
template<class Thread >
void cobs_async_write (Thread *this_thread, std::shared_ptr< const goby::middleware::protobuf::IOData > io_msg)
 
template<class Thread , class ThreadBase = Thread>
void cobs_async_read (Thread *this_thread, std::shared_ptr< ThreadBase > self=std::shared_ptr< ThreadBase >())
 

Typedef Documentation

◆ SerialThreadMAVLinkBase

template<const goby::middleware::Group & line_in_group, const goby::middleware::Group & line_out_group, PubSubLayer publish_layer, PubSubLayer subscribe_layer, template< class > class ThreadType>
using goby::middleware::io::SerialThreadMAVLinkBase = typedef IOThreadMAVLink< line_in_group, line_out_group, publish_layer, subscribe_layer, detail::SerialThread<line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType>, goby::middleware::protobuf::SerialConfig>

Definition at line 68 of file serial.h.

◆ UDPThreadMAVLinkBase

template<const goby::middleware::Group & line_in_group, const goby::middleware::Group & line_out_group, PubSubLayer publish_layer, PubSubLayer subscribe_layer, template< class > class ThreadType>
using goby::middleware::io::UDPThreadMAVLinkBase = typedef IOThreadMAVLink<line_in_group, line_out_group, publish_layer, subscribe_layer, UDPPointToPointThread<line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType>, goby::middleware::protobuf::UDPPointToPointConfig>

Definition at line 68 of file udp.h.

Enumeration Type Documentation

◆ PubSubLayer

Enumerator
INTERTHREAD 
INTERPROCESS 

Definition at line 38 of file io_transporters.h.

◆ ThreadState

Enumerator
SUBSCRIPTIONS_COMPLETE 

Definition at line 59 of file io_interface.h.

Function Documentation

◆ cobs_async_read()

template<class Thread , class ThreadBase = Thread>
void goby::middleware::io::cobs_async_read ( Thread this_thread,
std::shared_ptr< ThreadBase >  self = std::shared_ptr<ThreadBase>() 
)

Definition at line 90 of file common.h.

◆ cobs_async_write()

template<class Thread >
void goby::middleware::io::cobs_async_write ( Thread this_thread,
std::shared_ptr< const goby::middleware::protobuf::IOData io_msg 
)

Definition at line 44 of file common.h.

◆ make_extended_format_can_id()

std::uint32_t goby::middleware::io::make_extended_format_can_id ( std::uint32_t  pgn,
std::uint8_t  priority,
std::uint8_t  source = 0 
)
inline

Definition at line 65 of file can.h.

◆ parse_extended_format_can_id()

std::tuple<std::uint32_t, std::uint8_t, std::uint8_t> goby::middleware::io::parse_extended_format_can_id ( std::uint32_t  can_id)
inline

Definition at line 80 of file can.h.