87 static unsigned packet_size(
int rate) {
return PACKET_SIZE[rate]; }
95 SENTENCE_NOT_DEFINED = 0,
152 void initialize_talkers();
155 void query_all_cfg();
156 void set_hydroid_gateway_prefix(
int id);
177 void increment_present_fail();
178 void present_fail_exceeds_retries();
181 void process_receive(
190 void handle_ack(std::uint32_t src, std::uint32_t dest, std::uint32_t frame,
226 void set_rts(
bool state);
248 MAX_FAILS_BEFORE_DEAD = 5
257 ROUGH_SPEED_OF_SOUND = 1500
267 static const std::string SERIAL_DELIMITER;
269 static const unsigned PACKET_FRAME_COUNT[];
271 static const unsigned PACKET_SIZE[];
274 protobuf::DriverConfig driver_cfg_;
278 std::deque<util::NMEASentence> out_;
284 bool waiting_for_modem_{
false};
287 bool waiting_for_multimsg_{
false};
291 bool startup_done_{
false};
294 unsigned global_fail_count_{0};
298 unsigned present_fail_count_{0};
304 bool clock_set_{
false};
308 TALKER_NOT_DEFINED = 0,
315 std::map<std::string, TalkerIDs> talker_id_map_;
316 std::map<std::string, SentenceIDs> sentence_id_map_;
317 std::map<std::string, std::string> description_map_;
318 std::map<std::string, std::string> cfg_map_;
327 HYDROID_GATEWAY_PREFIX_LENGTH = 3
332 bool is_hydroid_gateway_{
false};
333 std::string hydroid_gateway_modem_prefix_;
334 std::string hydroid_gateway_gps_request_;
337 std::map<std::string, int> nvram_cfg_;
339 protobuf::ModemTransmission transmit_msg_;
340 unsigned expected_remaining_caxst_{
343 protobuf::ModemTransmission receive_msg_;
344 unsigned expected_remaining_cacst_{
350 std::set<unsigned> frames_waiting_for_ack_;
354 unsigned expected_ack_destination_{0};
356 std::set<unsigned> frames_waiting_to_receive_;
360 bool local_cccyc_{
false};
371 MMRevision() =
default;
376 MMRevision revision_;
378 bool using_application_acks_{
false};
379 int application_ack_max_frames_{0};
382 std::set<unsigned> application_ack_ids_;
387 std::map<unsigned, std::set<unsigned> > frames_to_ack_;
389 std::unique_ptr<dccl::Codec> dccl_;
391 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