canboat_rs/pgns/
user_datum.rs

1use crate::pgn_types::PgnType;
2pub const LENGTH: usize = 40usize;
3pub const PGN: u32 = 129045u32;
4use bitfield::bitfield;
5bitfield! {
6    #[doc = "User Datum"] pub struct UserDatum([u8]); impl Debug; u32; pub delta_x, _ :
7    31usize, 0usize; pub delta_y, _ : 63usize, 32usize; pub delta_z, _ : 95usize,
8    64usize; pub rotation_in_x, _ : 127usize, 96usize; pub rotation_in_y, _ : 159usize,
9    128usize; pub rotation_in_z, _ : 191usize, 160usize; pub scale, _ : 223usize,
10    192usize; pub ellipsoid_semi_major_axis, _ : 255usize, 224usize; pub
11    ellipsoid_flattening_inverse, _ : 287usize, 256usize; pub datum_name, _ : 319usize,
12    288usize;
13}
14impl UserDatum<&[u8]> {
15    pub fn is_match(&self, pgn: u32) -> bool {
16        129045u32 == pgn
17    }
18    pub fn get_pgn() -> u32 {
19        129045u32
20    }
21    pub fn get_message_type() -> PgnType {
22        PgnType::Fast
23    }
24}