1#![allow(unused_imports)]
9
10use zerocopy::IntoBytes;
11
12#[repr(u32)]
14#[derive(Clone, Copy, Debug, Eq, IntoBytes, PartialEq)]
15pub enum HwRebootReason {
16 Undefined = 0,
17 Cold = 1,
18 Warm = 2,
19 Brownout = 3,
20 Watchdog = 4,
21}
22
23impl HwRebootReason {
24 pub fn from_raw(raw: u32) -> Option<Self> {
25 match raw {
26 0 => Some(Self::Undefined),
27
28 1 => Some(Self::Cold),
29
30 2 => Some(Self::Warm),
31
32 3 => Some(Self::Brownout),
33
34 4 => Some(Self::Watchdog),
35
36 _ => None,
37 }
38 }
39}