NMEA: remove deprecated type talker_id
[marnav.git] / src / marnav / nmea / rsa.cpp
blob3d6b4425a62bc9b8d2b37982b9f0ac40f21d4188
1 #include <marnav/nmea/rsa.hpp>
2 #include <marnav/nmea/io.hpp>
3 #include <stdexcept>
5 namespace marnav
7 namespace nmea
9 constexpr sentence_id rsa::ID;
10 constexpr const char * rsa::TAG;
12 rsa::rsa()
13 : sentence(ID, TAG, talker::integrated_instrumentation)
17 rsa::rsa(talker talk, fields::const_iterator first, fields::const_iterator last)
18 : sentence(ID, TAG, talk)
20 if (std::distance(first, last) != 4)
21 throw std::invalid_argument{"invalid number of fields in rsa"};
23 read(*(first + 0), rudder1_);
24 read(*(first + 1), rudder1_valid_);
25 read(*(first + 2), rudder2_);
26 read(*(first + 3), rudder2_valid_);
29 void rsa::set_rudder1(double t) noexcept
31 rudder1_ = t;
32 rudder1_valid_ = status::ok;
35 void rsa::set_rudder2(double t) noexcept
37 rudder2_ = t;
38 rudder2_valid_ = status::ok;
41 void rsa::append_data_to(std::string & s) const
43 append(s, format(rudder1_, 1));
44 append(s, to_string(rudder1_valid_));
45 append(s, format(rudder2_, 1));
46 append(s, to_string(rudder2_valid_));