1use super::{emit_intensity::EmitIntensity, phase::Phase};
2
3use zerocopy::{Immutable, IntoBytes};
4
5#[derive(Clone, Copy, Debug, PartialEq, Eq, IntoBytes, Immutable)]
7#[repr(C)]
8pub struct Drive {
9 pub phase: Phase,
11 pub intensity: EmitIntensity,
13}
14
15impl Drive {
16 pub const NULL: Self = Self {
18 phase: Phase::ZERO,
19 intensity: EmitIntensity::MIN,
20 };
21}
22
23#[cfg(test)]
24mod tests {
25 use super::*;
26
27 #[test]
28 fn test_null() {
29 assert_eq!(
30 Drive {
31 phase: Phase::ZERO,
32 intensity: EmitIntensity::MIN
33 },
34 Drive::NULL
35 );
36 }
37}