1 #ifndef __SEATALK__MESSAGE_51__HPP__
2 #define __SEATALK__MESSAGE_51__HPP__
4 #include <marnav/seatalk/message.hpp>
5 #include <marnav/geo/angle.hpp>
12 /// @brief Position Longitude
18 /// XX degrees, (YYYY & 0x7FFF)/100 minutes
19 /// MSB of Y = YYYY & 0x8000 = East if set, West if cleared
20 /// Z = 0xA or 0x0 (reported for Raystar 120 GPS),
21 /// meaning unknown Stable filtered position, for raw data use command 58
24 /// Corresponding NMEA sentences: RMC, GAA, GLL
26 class message_51
: public message
29 constexpr static const message_id ID
= message_id::position_longitude
;
32 message_51(const message_51
&) = default;
33 message_51
& operator=(const message_51
&) = default;
35 virtual raw
get_data() const override
;
37 static std::unique_ptr
<message
> parse(const raw
& data
);
43 const geo::longitude
& get_lon() const noexcept
{ return lon
; }
45 void set_lon(const geo::longitude
& t
) noexcept
{ lon
= t
; }