Goby3
3.1.5a
2024.05.23
|
provides an API to the WHOI Micro-Modem driver More...
#include <goby/acomms/modem_driver.h>
Public Member Functions | |
MMDriver () | |
Default constructor. More... | |
~MMDriver () override | |
Destructor. More... | |
void | startup (const protobuf::DriverConfig &cfg) override |
Starts the driver. More... | |
void | update_cfg (const protobuf::DriverConfig &cfg) override |
Update configuration while running (not required to be implemented) More... | |
void | shutdown () override |
Stops the driver. More... | |
void | do_work () override |
See ModemDriverBase::do_work() More... | |
void | handle_initiate_transmission (const protobuf::ModemTransmission &m) override |
See ModemDriverBase::handle_initiate_transmission() More... | |
int | clk_mode () |
Current clock mode of the modem, necessary for synchronous navigation. More... | |
bool | is_started () const |
void | set_silent (bool silent) |
void | write_single_cfg (const std::string &s) |
![]() | |
virtual | ~ModemDriverBase () |
Public Destructor. More... | |
virtual void | report (protobuf::ModemReport *report) |
Returns report including modem availability and signal quality (if known) More... | |
int | driver_order () |
Integer for the order in which this driver was started (first driver started is 1, second driver is 2, etc.) More... | |
Static Public Member Functions | |
static unsigned | packet_frame_count (int rate) |
static unsigned | packet_size (int rate) |
![]() | |
static std::string | driver_name (const protobuf::DriverConfig &cfg) |
Unique driver name (e.g. UDP_MULTICAST::1 or my_driver_name::2) More... | |
Additional Inherited Members | |
![]() | |
boost::signals2::signal< void(const protobuf::ModemTransmission &message)> | signal_receive |
Called when a binary data transmission is received from the modem. More... | |
boost::signals2::signal< void(const protobuf::ModemTransmission &message)> | signal_transmit_result |
Called when a transmission is completed. More... | |
boost::signals2::signal< void(protobuf::ModemTransmission *msg)> | signal_data_request |
Called when the modem or modem driver needs data to send. The returned data should be stored in ModemTransmission::frame. More... | |
boost::signals2::signal< void(protobuf::ModemTransmission *msg_request)> | signal_modify_transmission |
Called before the modem driver begins processing a transmission. This allows a third party to modify the parameters of the transmission (such as destination or rate) on the fly. More... | |
boost::signals2::signal< void(const protobuf::ModemRaw &msg)> | signal_raw_incoming |
Called after any message is received from the modem by the driver. Used by the MACManager for auto-discovery of vehicles. Also useful for higher level analysis and debugging of the transactions between the driver and the modem. More... | |
boost::signals2::signal< void(const protobuf::ModemRaw &msg)> | signal_raw_outgoing |
Called after any message is sent from the driver to the modem. Useful for higher level analysis and debugging of the transactions between the driver and the modem. More... | |
![]() | |
ModemDriverBase () | |
Constructor. More... | |
void | modem_write (const std::string &out) |
write a line to the serial port. More... | |
bool | modem_read (std::string *in) |
read a line from the serial port, including end-of-line character(s) More... | |
void | modem_start (const protobuf::DriverConfig &cfg, bool modem_connection_expected=true) |
start the physical connection to the modem (serial port, TCP, etc.). must be called before ModemDriverBase::modem_read() or ModemDriverBase::modem_write() More... | |
void | modem_close () |
closes the serial port. Use modem_start to reopen the port. More... | |
const std::string & | glog_out_group () const |
const std::string & | glog_in_group () const |
util::LineBasedInterface & | modem () |
use for direct access to the modem More... | |
![]() | |
static std::atomic< int > | count_ |
provides an API to the WHOI Micro-Modem driver
Definition at line 56 of file mm_driver.h.
goby::acomms::MMDriver::MMDriver | ( | ) |
Default constructor.
|
override |
Destructor.
|
inline |
Current clock mode of the modem, necessary for synchronous navigation.
Definition at line 81 of file mm_driver.h.
|
overridevirtual |
See ModemDriverBase::do_work()
Implements goby::acomms::ModemDriverBase.
|
overridevirtual |
|
inline |
Definition at line 83 of file mm_driver.h.
|
inlinestatic |
Definition at line 85 of file mm_driver.h.
|
inlinestatic |
Definition at line 87 of file mm_driver.h.
void goby::acomms::MMDriver::set_silent | ( | bool | silent | ) |
|
overridevirtual |
Stops the driver.
Implements goby::acomms::ModemDriverBase.
|
overridevirtual |
Starts the driver.
cfg | Configuration for the Micro-Modem driver. DriverConfig is defined in acomms_driver_base.proto, and various extensions specific to the WHOI Micro-Modem are defined in acomms_mm_driver.proto. |
Implements goby::acomms::ModemDriverBase.
|
overridevirtual |
Update configuration while running (not required to be implemented)
Reimplemented from goby::acomms::ModemDriverBase.
void goby::acomms::MMDriver::write_single_cfg | ( | const std::string & | s | ) |