Enum unbounded_gpsd::types::DeviceObject
source · pub enum DeviceObject {
ActiveSeenPackets {
path: Option<String>,
activated: DateTime<Utc>,
flags: u8,
driver: String,
subtype: Option<String>,
bps: Option<u32>,
parity: Option<String>,
stopbits: Option<String>,
native: Option<u8>,
cycle: Option<f32>,
minicycle: Option<f32>,
},
Active {
path: Option<String>,
activated: DateTime<Utc>,
subtype: Option<String>,
bps: Option<u32>,
parity: Option<String>,
stopbits: Option<String>,
native: Option<u8>,
cycle: Option<f32>,
minicycle: Option<f32>,
},
Inactive {
path: Option<String>,
},
}
Expand description
Information about a device known to gpsd.
The API splits the DEVICE object into three variants:
ActiveSeenPackets
: the device is active, and we’ve seen packets from it.Active
: the device is active, but we haven’t seen any packets.Inactive
: the device is inactive.
Basically, the aim here is to reduce the amount of Option unwrapping you have to do, as gpsd specifies that all these fields are optional.
Variants§
ActiveSeenPackets
Fields
path: Option<String>
Name the device for which the control bits are being reported, or for which they are to be applied. This attribute may be omitted only when there is exactly one subscribed channel
activated: DateTime<Utc>
Time the device was activated as an ISO8601 timestamp. If the device is inactive this attribute is absent.
flags: u8
Bit vector of property flags. Currently defined flags are: describe packet types seen so far (GPS, RTCM2, RTCM3, AIS). Won’t be reported if empty, e.g. before gpsd has seen identifiable packets from the device.
Flags
- 0x01: GPS data seen
- 0x02: RTCM2 data seen
- 0x04: RTCM3 data seen
- 0x08: AIS data seen
Yes, I know manual bitflags suck. I’ll fix it one day if you bug me.
driver: String
GPSD’s name for the device driver type. Won’t be reported before gpsd has seen identifiable packets from the device.