Merge pull request #472 from liebman/fix-get_wakeup_cause

get_wakeup_cause: fix comparison error
This commit is contained in:
Björn Quentin 2023-04-08 11:17:06 +02:00 committed by GitHub
commit 61aaf69aeb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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;
} }