88 static unsigned packet_size(
int rate) {
return PACKET_SIZE[rate]; }
96 SENTENCE_NOT_DEFINED = 0,
153 void initialize_talkers();
156 void query_all_cfg();
157 void set_hydroid_gateway_prefix(
int id);
178 void increment_present_fail();
179 void present_fail_exceeds_retries();
182 void process_receive(
191 void handle_ack(std::uint32_t src, std::uint32_t dest, std::uint32_t frame,
227 void set_rts(
bool state);
249 MAX_FAILS_BEFORE_DEAD = 5
258 ROUGH_SPEED_OF_SOUND = 1500
268 static const std::string SERIAL_DELIMITER;
270 static const unsigned PACKET_FRAME_COUNT[];
272 static const unsigned PACKET_SIZE[];
275 protobuf::DriverConfig driver_cfg_;
279 std::deque<util::NMEASentence> out_;
285 bool waiting_for_modem_{
false};
288 bool waiting_for_multimsg_{
false};
292 bool startup_done_{
false};
295 unsigned global_fail_count_{0};
299 unsigned present_fail_count_{0};
305 bool clock_set_{
false};
309 TALKER_NOT_DEFINED = 0,
316 std::map<std::string, TalkerIDs> talker_id_map_;
317 std::map<std::string, SentenceIDs> sentence_id_map_;
318 std::map<std::string, std::string> description_map_;
319 std::map<std::string, std::string> cfg_map_;
328 HYDROID_GATEWAY_PREFIX_LENGTH = 3
333 bool is_hydroid_gateway_{
false};
334 std::string hydroid_gateway_modem_prefix_;
335 std::string hydroid_gateway_gps_request_;
338 std::map<std::string, int> nvram_cfg_;
340 protobuf::ModemTransmission transmit_msg_;
341 unsigned expected_remaining_caxst_{
344 protobuf::ModemTransmission receive_msg_;
345 unsigned expected_remaining_cacst_{
351 std::set<unsigned> frames_waiting_for_ack_;
355 unsigned expected_ack_destination_{0};
357 std::set<unsigned> frames_waiting_to_receive_;
361 bool local_cccyc_{
false};
372 MMRevision() =
default;
377 MMRevision revision_;
379 bool using_application_acks_{
false};
380 int application_ack_max_frames_{0};
383 std::set<unsigned> application_ack_ids_;
388 std::map<unsigned, std::set<unsigned> > frames_to_ack_;
390 std::unique_ptr<dccl::Codec> dccl_;
392 static std::mutex dccl_mutex_;
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::PROTOBUF_NAMESPACE_ID::MessageOptions, ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::goby::GobyMessageOptions >, 11, false > msg