1 #include <marnav/nmea/rsa.hpp>
2 #include <marnav/nmea/io.hpp>
7 constexpr sentence_id
rsa::ID
;
8 constexpr const char * rsa::TAG
;
11 : sentence(ID
, TAG
, talker::integrated_instrumentation
)
15 rsa::rsa(talker talk
, fields::const_iterator first
, fields::const_iterator last
)
16 : sentence(ID
, TAG
, talk
)
18 if (std::distance(first
, last
) != 4)
19 throw std::invalid_argument
{"invalid number of fields in rsa"};
21 read(*(first
+ 0), rudder1_
);
22 read(*(first
+ 1), rudder1_valid_
);
23 read(*(first
+ 2), rudder2_
);
24 read(*(first
+ 3), rudder2_valid_
);
27 void rsa::set_rudder1(double t
) noexcept
30 rudder1_valid_
= status::ok
;
33 void rsa::set_rudder2(double t
) noexcept
36 rudder2_valid_
= status::ok
;
39 void rsa::append_data_to(std::string
& s
, const version
&) const
41 append(s
, format(rudder1_
, 1));
42 append(s
, to_string(rudder1_valid_
));
43 append(s
, format(rudder2_
, 1));
44 append(s
, to_string(rudder2_valid_
));