1 #include <marnav/nmea/mss.hpp>
2 #include <marnav/nmea/io.hpp>
9 constexpr sentence_id
mss::ID
;
10 constexpr const char * mss::TAG
;
13 : sentence(ID
, TAG
, talker::global_positioning_system
)
17 mss::mss(talker talk
, fields::const_iterator first
, fields::const_iterator last
)
18 : sentence(ID
, TAG
, talk
)
20 if (std::distance(first
, last
) != 5)
21 throw std::invalid_argument
{"invalid number of fields in mss"};
23 read(*(first
+ 0), signal_strength_
);
24 read(*(first
+ 1), signal_to_noise_ratio_
);
25 read(*(first
+ 2), beacon_frequency_
);
26 read(*(first
+ 3), beacon_datarate_
);
27 read(*(first
+ 4), unknown_
);
30 void mss::append_data_to(std::string
& s
) const
32 append(s
, format(signal_strength_
, 2));
33 append(s
, format(signal_to_noise_ratio_
, 2));
34 append(s
, format(beacon_frequency_
, 3));
35 append(s
, format(beacon_datarate_
, 3));
36 append(s
, to_string(unknown_
));