binex/message/record/monument/
src.rs

1//! Monument / Geodetic marker source description
2
3/// [MonumentGeoMetadata] describes the source of information
4/// of the Monument marker record
5#[derive(Debug, Clone, Copy, Default, PartialEq)]
6pub enum MonumentGeoMetadata {
7    /// Monument marker was generated by the firmware
8    /// of a GNSS receiver
9    ReceiverFirmware = 0,
10    #[default]
11    /// Monument marker was generated by RINEX to BINEX conversion
12    RNX2BIN = 1,
13    /// Created from IGS data (by software)
14    IGS = 2,
15    /// Information supplied by external user (like configuration file)
16    External = 3,
17    /// Created from other formats or streams (not RINEX nor BINEX)
18    Other = 4,
19}
20
21impl From<u8> for MonumentGeoMetadata {
22    fn from(val: u8) -> Self {
23        match val {
24            0 => Self::ReceiverFirmware,
25            1 => Self::RNX2BIN,
26            2 => Self::IGS,
27            3 => Self::External,
28            _ => Self::Other,
29        }
30    }
31}
32
33impl From<MonumentGeoMetadata> for u8 {
34    fn from(val: MonumentGeoMetadata) -> Self {
35        match val {
36            MonumentGeoMetadata::ReceiverFirmware => 0,
37            MonumentGeoMetadata::RNX2BIN => 1,
38            MonumentGeoMetadata::IGS => 2,
39            MonumentGeoMetadata::External => 3,
40            MonumentGeoMetadata::Other => 4,
41        }
42    }
43}