1 #ifndef __MARNAV__NMEA__CONSTANTS__HPP__
2 #define __MARNAV__NMEA__CONSTANTS__HPP__
10 /// Enumeration of all possible directions.
11 enum class direction
: char {
12 east
, ///< NMEA representation: 'E'
13 west
, ///< NMEA representation: 'W'
14 north
, ///< NMEA representation: 'N'
15 south
, ///< NMEA representation: ' S'
16 none
///< To silence the compiler
19 /// Status values used in NMEA.
20 enum class status
: char {
21 ok
, ///< NMEA representation: 'A'
22 warning
///< NMEA representation: 'V'
25 /// Positioning System Mode Indicator constants.
26 enum class mode_indicator
: char {
27 invalid
, ///< NMEA representation: 'V'
28 autonomous
, ///< NMEA representation: 'A'
29 differential
, ///< NMEA representation: 'D'
30 estimated
, ///< NMEA representation: 'E'
31 manual_input
, ///< NMEA representation: 'M'
32 simulated
, ///< NMEA representation: 'S'
33 data_not_valid
, ///< NMEA representation: 'N'
34 precise
///< NMEA representation: 'P'
38 enum class quality
: uint32_t {
39 invalid
= 0, ///< NMEA representation: 0
40 gps_fix
= 1, ///< NMEA representation: 1
41 dgps_fix
= 2, ///< NMEA representation: 2
42 guess
= 6, ///< NMEA representation: 6
43 simulation
= 8 ///< NMEA representation: 8
47 enum class target_status
: char {
48 lost
, ///< NMEA representation: 'L'
49 query
, ///< NMEA representation: 'Q'
50 tracking
///< NMEA representation: 'T'
53 /// Contains enumerations of units.
56 /// Enumeration of unis of distance.
57 enum class distance
: char {
58 meter
, ///< NMEA representation: 'M'
59 feet
, ///< NMEA representation: 'f'
60 nm
, ///< NMEA representation: 'N' / nautical miles
61 km
, ///< NMEA representation: 'K' / kilometers
62 fathom
///< NMEA representation: 'F'
65 /// Enumeration of unis of velocity.
66 enum class velocity
: char {
67 knot
, ///< NMEA representation: 'N'
68 kmh
, ///< NMEA representation: 'K' / kilometers per hour
69 mps
///< NMEA representation: 'M' / meters per second
72 /// Enumeration of unis of temperature.
73 enum class temperature
: char {
74 celsius
///< NMEA representation: 'C'
77 /// Enumeration of unis of pressure.
78 enum class pressure
: char {
79 bar
, ///< NMEA representation: 'B'
80 pascal ///< NMEA representation: 'P'
84 /// Enumeration of all possible references of data.
85 enum class reference
: char {
86 TRUE
, ///< NMEA representation: 'T'
87 MAGNETIC
, ///< NMEA representation: 'M'
88 RELATIVE
///< NMEA representation: 'R'
91 /// Side of the vessel.
92 enum class side
: char {
93 left
, ///< NMEA representation: 'L'
94 right
///< NMEA Representation: 'R'
98 enum class route
: char {
99 complete
, ///< NMEA representation: 'c'
100 working
///< NMEA representation: 'w'
103 enum class selection_mode
: char {
104 manual
, ///< NMEA representation: 'M'
105 automatic
///< NMEA representation: 'A'
108 enum class ais_channel
: char {
109 A
, ///< NMEA representation: 'A'
110 B
///< NMEA representation: 'B'
113 enum class type_of_point
: char {
114 collision
, ///< NMEA representation: 'C'
115 turning_point
, ///< NMEA representation: 'T'
116 reference
, ///< NMEA representation: 'R'
117 wheelover
, ///< NMEA representation: 'W'