NMEA: remove deprecated type talker_id
[marnav.git] / src / marnav / nmea / mss.cpp
blobfacbf92a9af2f0ed5484c5ee7f521801daf3b38f
1 #include <marnav/nmea/mss.hpp>
2 #include <marnav/nmea/io.hpp>
3 #include <stdexcept>
5 namespace marnav
7 namespace nmea
9 constexpr sentence_id mss::ID;
10 constexpr const char * mss::TAG;
12 mss::mss()
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_));