get_wakeup_cause: fix comparison error

This commit is contained in:
Christopher Liebman 2023-04-07 15:24:05 -07:00
parent e5d1c603b0
commit 85a76f88dd

View File

@ -779,49 +779,49 @@ pub fn get_wakeup_cause() -> SleepSource {
let wakeup_cause = let wakeup_cause =
unsafe { (&*RTC_CNTL::PTR).wakeup_state.read().wakeup_cause().bits() as u32 }; unsafe { (&*RTC_CNTL::PTR).wakeup_state.read().wakeup_cause().bits() as u32 };
if (wakeup_cause & WakeupReason::TimerTrigEn as u32) == 0 { if (wakeup_cause & WakeupReason::TimerTrigEn as u32) != 0 {
return SleepSource::Timer; return SleepSource::Timer;
} }
if (wakeup_cause & WakeupReason::GpioTrigEn as u32) == 0 { if (wakeup_cause & WakeupReason::GpioTrigEn as u32) != 0 {
return SleepSource::Gpio; return SleepSource::Gpio;
} }
if (wakeup_cause & (WakeupReason::Uart0TrigEn as u32 | WakeupReason::Uart1TrigEn as u32)) == 0 { if (wakeup_cause & (WakeupReason::Uart0TrigEn as u32 | WakeupReason::Uart1TrigEn as u32)) != 0 {
return SleepSource::Uart; return SleepSource::Uart;
} }
#[cfg(pm_support_ext0_wakeup)] #[cfg(pm_support_ext0_wakeup)]
if (wakeup_cause & WakeupReason::ExtEvent0Trig as u32) == 0 { if (wakeup_cause & WakeupReason::ExtEvent0Trig as u32) != 0 {
return SleepSource::Ext0; return SleepSource::Ext0;
} }
#[cfg(pm_support_ext1_wakeup)] #[cfg(pm_support_ext1_wakeup)]
if (wakeup_cause & WakeupReason::ExtEvent1Trig as u32) == 0 { if (wakeup_cause & WakeupReason::ExtEvent1Trig as u32) != 0 {
return SleepSource::Ext1; return SleepSource::Ext1;
} }
#[cfg(pm_support_touch_sensor_wakeup)] #[cfg(pm_support_touch_sensor_wakeup)]
if (wakeup_cause & WakeupReason::TouchTrigEn as u32) == 0 { if (wakeup_cause & WakeupReason::TouchTrigEn as u32) != 0 {
return SleepSource::TouchPad; return SleepSource::TouchPad;
} }
#[cfg(ulp_supported)] #[cfg(ulp_supported)]
if (wakeup_cause & WakeupReason::UlpTrigEn as u32) == 0 { if (wakeup_cause & WakeupReason::UlpTrigEn as u32) != 0 {
return SleepSource::Ulp; return SleepSource::Ulp;
} }
#[cfg(pm_support_wifi_wakeup)] #[cfg(pm_support_wifi_wakeup)]
if (wakeup_cause & WakeupReason::WifiTrigEn as u32) == 0 { if (wakeup_cause & WakeupReason::WifiTrigEn as u32) != 0 {
return SleepSource::Wifi; return SleepSource::Wifi;
} }
#[cfg(pm_support_bt_wakeup)] #[cfg(pm_support_bt_wakeup)]
if (wakeup_cause & WakeupReason::BtTrigEn as u32) == 0 { if (wakeup_cause & WakeupReason::BtTrigEn as u32) != 0 {
return SleepSource::BT; return SleepSource::BT;
} }
#[cfg(riscv_coproc_supported)] #[cfg(riscv_coproc_supported)]
if (wakeup_cause & WakeupReason::CocpuTrigEn as u32) == 0 { if (wakeup_cause & WakeupReason::CocpuTrigEn as u32) != 0 {
return SleepSource::Ulp; return SleepSource::Ulp;
} else if (wakeup_cause & WakeupReason::CocpuTrapTrigEn as u32) == 0 { } else if (wakeup_cause & WakeupReason::CocpuTrapTrigEn as u32) != 0 {
return SleepSource::CocpuTrapTrig; return SleepSource::CocpuTrapTrig;
} }