23 #ifndef BluefinFrontSeat20130220H 24 #define BluefinFrontSeat20130220H 26 #include <boost/bimap.hpp> 28 #include "goby/util/linebasedcomms/nmea_sentence.h" 29 #include "goby/util/linebasedcomms/tcp_client.h" 31 #include "goby/moos/frontseat/frontseat.h" 33 #include "goby/moos/frontseat/bluefin/bluefin.pb.h" 34 #include "goby/moos/frontseat/bluefin/bluefin_config.pb.h" 53 goby::moos::protobuf::FrontSeatState frontseat_state()
const {
return frontseat_state_; }
55 bool frontseat_providing_data()
const {
return frontseat_providing_data_; }
58 void load_nmea_mappings();
59 void initialize_huxley();
61 void remove_from_write_queue();
63 void check_send_heartbeat();
86 std::string unix_time2nmea_time(
double time);
91 bool frontseat_providing_data_;
92 double last_frontseat_data_time_;
93 goby::moos::protobuf::FrontSeatState frontseat_state_;
94 double next_connect_attempt_time_;
96 double last_write_time_;
97 std::deque<goby::util::NMEASentence> out_;
98 std::deque<goby::util::NMEASentence> pending_;
99 bool waiting_for_huxley_;
100 unsigned nmea_demerits_;
101 unsigned nmea_present_fail_count_;
103 double last_heartbeat_time_;
107 TALKER_NOT_DEFINED = 0,
114 SENTENCE_NOT_DEFINED = 0,
181 std::map<std::string, TalkerIDs> talker_id_map_;
182 boost::bimap<std::string, SentenceIDs> sentence_id_map_;
183 std::map<std::string, std::string> description_map_;
189 std::map<goby::moos::protobuf::BluefinExtraCommands::BluefinCommand,
191 outstanding_requests_;
194 std::multimap<goby::uint64, goby::moos::protobuf::BluefinExtraData::PayloadStatus>
provides a basic TCP client for line by line text based communications to a remote TCP server ...