NMEA: changed type of talker id from 'std::string' to its own type.
[marnav.git] / src / marnav / nmea / rot.cpp
blob47ebda9618aa10fc0cc08d7a937c491a75b32c7c
1 #include "rot.hpp"
2 #include <marnav/nmea/io.hpp>
4 namespace marnav
6 namespace nmea
8 MARNAV_NMEA_DEFINE_SENTENCE_PARSE_FUNC(rot)
10 constexpr const char * rot::TAG;
12 rot::rot()
13 : sentence(ID, TAG, talker_id::global_positioning_system)
17 rot::rot(talker talk, fields::const_iterator first, fields::const_iterator last)
18 : sentence(ID, TAG, talk)
20 if (std::distance(first, last) != 2)
21 throw std::invalid_argument{"invalid number of fields in rot"};
23 read(*(first + 0), deg_per_minute);
24 read(*(first + 1), data_valid);
27 std::vector<std::string> rot::get_data() const
29 return {format(deg_per_minute, 1), to_string(data_valid)};