23 #ifndef IverFrontSeat20171117H 24 #define IverFrontSeat20171117H 26 #include <boost/bimap.hpp> 27 #include <boost/units/quantity.hpp> 28 #include <boost/units/systems/angle/degrees.hpp> 29 #include <boost/units/systems/si.hpp> 30 #include <boost/units/systems/si/prefixes.hpp> 32 #include "goby/util/linebasedcomms/serial_client.h" 33 #include "goby/util/primitive_types.h" 34 #include "goby/util/sci.h" 36 #include "goby/moos/frontseat/frontseat.h" 37 #include "goby/moos/frontseat/iver/iver_driver.pb.h" 39 #include "iver_driver_config.pb.h" 57 goby::moos::protobuf::FrontSeatState frontseat_state()
const;
58 bool frontseat_providing_data()
const;
61 void check_connection_state();
63 void process_receive(
const std::string& s);
64 void write(
const std::string& s);
69 boost::units::quantity<boost::units::si::time> nmea_time_to_seconds(
double nmea_time,
74 boost::units::quantity<boost::units::degree::plane_angle> nmea_geo_to_degrees(
double nmea_geo,
78 std::string tenths_precision_str(
double d)
81 ss << std::fixed << std::setprecision(1) << goby::util::unbiased_round(d, 1);
90 boost::shared_ptr<goby::util::SerialClient> ntp_serial_;
92 bool frontseat_providing_data_;
93 double last_frontseat_data_time_;
94 goby::moos::protobuf::FrontSeatState frontseat_state_;
95 goby::moos::protobuf::IverState::IverMissionMode reported_mission_mode_;
provides a basic client for line by line text based communications over a 8N1 tty (such as an RS-232 ...