autd3_cpu_wire/payload/
config_pattern.rs1use zerocopy::little_endian::{U16, U32};
2use zerocopy::{FromBytes, Immutable, IntoBytes, KnownLayout, Unaligned};
3
4#[derive(FromBytes, IntoBytes, KnownLayout, Immutable, Unaligned)]
5#[repr(C)]
6pub struct ConfigPatternPayload {
7 pub bank: u8,
8 pub emission_type: u8,
9 pub divider: U16,
10 pub size: U32,
11 pub num_foci: u8,
12 pub reserved: u8,
13 pub sound_speed: U16,
14 pub rep: U16,
15}
16
17const _: () = assert!(core::mem::offset_of!(ConfigPatternPayload, bank) == 0);
18const _: () = assert!(core::mem::offset_of!(ConfigPatternPayload, emission_type) == 1);
19const _: () = assert!(core::mem::offset_of!(ConfigPatternPayload, divider) == 2);
20const _: () = assert!(core::mem::offset_of!(ConfigPatternPayload, size) == 4);
21const _: () = assert!(core::mem::offset_of!(ConfigPatternPayload, num_foci) == 8);
22const _: () = assert!(core::mem::offset_of!(ConfigPatternPayload, sound_speed) == 10);
23const _: () = assert!(core::mem::offset_of!(ConfigPatternPayload, rep) == 12);
24const _: () = assert!(core::mem::size_of::<ConfigPatternPayload>() == 14);