25 #ifndef GOBY_MIDDLEWARE_FRONTSEAT_IVER_IVER_DRIVER_H
26 #define GOBY_MIDDLEWARE_FRONTSEAT_IVER_IVER_DRIVER_H
33 #include <boost/units/quantity.hpp>
34 #include <boost/units/systems/angle/degrees.hpp>
36 #include <dccl/common.h>
67 void send_raw_to_frontseat(
const protobuf::Raw& data)
override;
69 bool frontseat_providing_data()
const override;
72 void check_connection_state();
74 void process_receive(
const std::string& s);
75 void write(
const std::string& s);
80 boost::units::quantity<boost::units::si::time> nmea_time_to_seconds(
double nmea_time,
85 boost::units::quantity<boost::units::degree::plane_angle> nmea_geo_to_degrees(
double nmea_geo,
89 std::string tenths_precision_str(
double d)
92 ss << std::fixed << std::setprecision(1) << dccl::round(d, 1);
100 std::shared_ptr<goby::util::SerialClient> ntp_serial_;
102 bool frontseat_providing_data_;