Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
mavconn::MAVConnSerial Class Reference

Serial interface. More...

#include <serial.h>

Inheritance diagram for mavconn::MAVConnSerial:
Inheritance graph

Public Member Functions

void close () override
 Close connection. More...
bool is_open () override
 MAVConnSerial (uint8_t system_id=1, uint8_t component_id=MAV_COMP_ID_UDP_BRIDGE, std::string device=DEFAULT_DEVICE, unsigned baudrate=DEFAULT_BAUDRATE, bool hwflow=false)
void send_bytes (const uint8_t *bytes, size_t length) override
 Send raw bytes (for some quirks) More...
void send_message (const mavlink::mavlink_message_t *message) override
 Send message (mavlink_message_t) More...
void send_message (const mavlink::Message &message, const uint8_t source_compid) override
 Send message (child of mavlink::Message) More...
virtual ~MAVConnSerial ()
- Public Member Functions inherited from mavconn::MAVConnInterface
uint8_t get_component_id ()
virtual IOStat get_iostat ()
Protocol get_protocol_version ()
virtual mavlink::mavlink_status_t get_status ()
uint8_t get_system_id ()
 MAVConnInterface (uint8_t system_id=1, uint8_t component_id=MAV_COMP_ID_UDP_BRIDGE)
virtual void send_message (const mavlink::Message &message)
 Send message (child of mavlink::Message) More...
void send_message_ignore_drop (const mavlink::mavlink_message_t *message)
 Send message and ignore possible drop due to Tx queue limit. More...
void send_message_ignore_drop (const mavlink::Message &message)
 Send message and ignore possible drop due to Tx queue limit. More...
void send_message_ignore_drop (const mavlink::Message &message, const uint8_t src_compid)
 Send message and ignore possible drop due to Tx queue limit. More...
void set_component_id (uint8_t compid)
void set_protocol_version (Protocol pver)
void set_system_id (uint8_t sysid)

Static Public Attributes

static constexpr auto DEFAULT_BAUDRATE = 57600
static constexpr auto DEFAULT_DEVICE = "/dev/ttyACM0"

Private Member Functions

void do_read ()
void do_write (bool check_tx_state)

Private Attributes

boost::asio::io_service io_service
std::thread io_thread
std::recursive_mutex mutex
std::array< uint8_t, MsgBuffer::MAX_SIZErx_buf
boost::asio::serial_port serial_dev
std::atomic< bool > tx_in_progress
std::deque< MsgBuffertx_q

Additional Inherited Members

- Public Types inherited from mavconn::MAVConnInterface
using ClosedCb = std::function< void(void)>
using ConstPtr = std::shared_ptr< MAVConnInterface const >
using Ptr = std::shared_ptr< MAVConnInterface >
using ReceivedCb = std::function< void(const mavlink::mavlink_message_t *message, const Framing framing)>
using WeakPtr = std::weak_ptr< MAVConnInterface >
- Static Public Member Functions inherited from mavconn::MAVConnInterface
static std::vector< std::string > get_known_dialects ()
static Ptr open_url (std::string url, uint8_t system_id=1, uint8_t component_id=MAV_COMP_ID_UDP_BRIDGE)
 Construct connection from URL. More...
- Public Attributes inherited from mavconn::MAVConnInterface
ReceivedCb message_received_cb
 Message receive callback. More...
ClosedCb port_closed_cb
 Port closed notification callback. More...
- Protected Member Functions inherited from mavconn::MAVConnInterface
mavlink::mavlink_message_tget_buffer_p ()
mavlink::mavlink_status_tget_status_p ()
void iostat_rx_add (size_t bytes)
void iostat_tx_add (size_t bytes)
void log_recv (const char *pfx, mavlink::mavlink_message_t &msg, Framing framing)
void log_send (const char *pfx, const mavlink::mavlink_message_t *msg)
void log_send_obj (const char *pfx, const mavlink::Message &msg)
void parse_buffer (const char *pfx, uint8_t *buf, const size_t bufsize, size_t bytes_received)
- Protected Attributes inherited from mavconn::MAVConnInterface
uint8_t comp_id
 Connection Component Id. More...
size_t conn_id
 Channel number used for logging. More...
uint8_t sys_id
 Connection System Id. More...
- Static Protected Attributes inherited from mavconn::MAVConnInterface
static constexpr size_t MAX_PACKET_SIZE = MAVLINK_MAX_PACKET_LEN + 16
 Maximum mavlink packet size + some extra bytes for padding. More...
static constexpr size_t MAX_TXQ_SIZE = 1000
 Maximum count of transmission buffers. More...
static std::unordered_map< mavlink::msgid_t, const mavlink::mavlink_msg_entry_t * > message_entries {}
 This map merge all dialect mavlink_msg_entry_t structs. Needed for packet parser. More...

Detailed Description

Serial interface.

Definition at line 29 of file serial.h.

The documentation for this class was generated from the following files:

Author(s): Vladimir Ermakov
autogenerated on Tue Jun 1 2021 02:36:22