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>
65 void send_command_to_frontseat(
const protobuf::CommandRequest& command)
override;
66 void send_data_to_frontseat(
const protobuf::InterfaceData& data)
override;
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);
97 const protobuf::IverConfig iver_config_;
100 std::shared_ptr<goby::util::SerialClient> ntp_serial_;
102 bool frontseat_providing_data_;
106 protobuf::IverState::IverMissionMode reported_mission_mode_;
108 protobuf::CommandRequest last_request_;
110 protobuf::NodeStatus status_;
const protobuf::Config & cfg() const
Iver(const protobuf::Config &cfg)
provides a basic client for line by line text based communications over a 8N1 tty (such as an RS-232 ...
The global namespace for the Goby project.
std::chrono::time_point< SystemClock > time_point