Goby v2
Classes | Public Member Functions | Static Public Member Functions | List of all members

provides an API to the WHOI Micro-Modem driver More...

#include <goby/acomms/modem_driver.h>

Inheritance diagram for goby::acomms::MMDriver:
Inheritance graph
[legend]

Public Member Functions

 MMDriver ()
 Default constructor.
 
 ~MMDriver ()
 Destructor.
 
void startup (const protobuf::DriverConfig &cfg)
 Starts the driver. More...
 
void update_cfg (const protobuf::DriverConfig &cfg)
 Update configuration while running (not required to be implemented)
 
void shutdown ()
 Stops the driver.
 
void do_work ()
 See ModemDriverBase::do_work()
 
void handle_initiate_transmission (const protobuf::ModemTransmission &m)
 See ModemDriverBase::handle_initiate_transmission()
 
int clk_mode ()
 Current clock mode of the modem, necessary for synchronous navigation.
 
bool is_started () const
 
void set_silent (bool silent)
 
void write_single_cfg (const std::string &s)
 
- Public Member Functions inherited from goby::acomms::ModemDriverBase
virtual ~ModemDriverBase ()
 Public Destructor.
 
int driver_order ()
 

Static Public Member Functions

static unsigned packet_frame_count (int rate)
 
static unsigned packet_size (int rate)
 

Additional Inherited Members

- Public Attributes inherited from goby::acomms::ModemDriverBase
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...
 
- Protected Member Functions inherited from goby::acomms::ModemDriverBase
 ModemDriverBase ()
 Constructor.
 
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)
 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.
 
const std::string & glog_out_group () const
 
const std::string & glog_in_group () const
 
util::LineBasedInterfacemodem ()
 use for direct access to the modem
 
- Static Protected Attributes inherited from goby::acomms::ModemDriverBase
static int count_ = 0
 

Detailed Description

provides an API to the WHOI Micro-Modem driver

Examples:
acomms/chat/chat.cpp, and acomms/modemdriver/driver_simple/driver_simple.cpp.

Definition at line 41 of file mm_driver.h.

Member Function Documentation

void goby::acomms::MMDriver::startup ( const protobuf::DriverConfig cfg)
virtual

Starts the driver.

Parameters
cfgConfiguration 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.

Examples:
acomms/chat/chat.cpp.

Definition at line 76 of file mm_driver.cpp.


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