25 #ifndef GOBY_ACOMMS_MODEMDRIVER_IRIDIUM_DRIVER_H
26 #define GOBY_ACOMMS_MODEMDRIVER_IRIDIUM_DRIVER_H
52 void startup(
const protobuf::DriverConfig& cfg)
override;
63 void process_transmission(protobuf::ModemTransmission
msg,
bool dial);
65 void receive(
const protobuf::ModemTransmission&
msg);
66 void send(
const protobuf::ModemTransmission&
msg);
69 void display_state_cfg(std::ostream* os);
72 void set_dtr(
bool state);
75 const iridium::protobuf::Config& iridium_driver_cfg()
82 protobuf::DriverConfig driver_cfg_;
84 std::shared_ptr<goby::util::TCPClient> debug_client_;
86 double last_triple_plus_time_{0};
92 protobuf::ModemTransmission rudics_mac_msg_;
94 std::uint32_t next_frame_{0};
void handle_initiate_transmission(const protobuf::ModemTransmission &m) override
Virtual initiate_transmission method. Typically connected to MACManager::signal_initiate_transmission...
void do_work() override
Allows the modem driver to do its work.
void report(goby::acomms::protobuf::ModemReport *report) override
void startup(const protobuf::DriverConfig &cfg) override
Starts the modem driver. Must be called before poll().
void shutdown() override
Shuts down the modem driver.
~IridiumDriver() override
provides an abstract base class for acoustic modem drivers. This is subclassed by the various drivers...
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::goby::acomms::protobuf::DriverConfig, ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::goby::acomms::iridium::protobuf::Config >, 11, false > config
The global namespace for the Goby project.
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::google::protobuf::MessageOptions, ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::goby::GobyMessageOptions >, 11, false > msg