canboat_rs/pgns/
user_datum.rs1use 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}