mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-06 14:14:33 +02:00
ulp: fix incorrect bit-width operator while reading RTC_CNTL_LOW_POWER_ST_REG during wakeup
This commit fixes a bug wherein an incorrect bit-width of 0 was being used while reading the RTC_CNTL_LOW_POWER_ST_REG in ulp_fsm example code while judging whether the system is ready for wakeup. The correct value should be a bit-width of 1 to read bit#27 (RTC_CNTL_MAIN_STATE_IDLE) of the RTC_CNTL_LOW_POWER_ST_REG register on esp32.
This commit is contained in:
@@ -1001,7 +1001,7 @@ The detailed description of all instructions is presented below:
|
|||||||
// and ULP will not run again until started by the main program.
|
// and ULP will not run again until started by the main program.
|
||||||
|
|
||||||
1: check_wakeup: // Read RTC_CNTL_RDY_FOR_WAKEUP and RTC_CNTL_MAIN_STATE_IN_IDLE bit
|
1: check_wakeup: // Read RTC_CNTL_RDY_FOR_WAKEUP and RTC_CNTL_MAIN_STATE_IN_IDLE bit
|
||||||
READ_RTC_REG(RTC_CNTL_LOW_POWER_ST_REG, 27, 0)
|
READ_RTC_REG(RTC_CNTL_LOW_POWER_ST_REG, 27, 1)
|
||||||
MOVE r1, r0 // Copy result in to r1
|
MOVE r1, r0 // Copy result in to r1
|
||||||
READ_RTC_FIELD(RTC_CNTL_LOW_POWER_ST_REG, RTC_CNTL_RDY_FOR_WAKEUP)
|
READ_RTC_FIELD(RTC_CNTL_LOW_POWER_ST_REG, RTC_CNTL_RDY_FOR_WAKEUP)
|
||||||
OR r0, r0, r1
|
OR r0, r0, r1
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
wake_up:
|
wake_up:
|
||||||
/* Check if the system is in sleep mode */
|
/* Check if the system is in sleep mode */
|
||||||
#if CONFIG_IDF_TARGET_ESP32
|
#if CONFIG_IDF_TARGET_ESP32
|
||||||
READ_RTC_REG(RTC_CNTL_LOW_POWER_ST_REG, 27, 0)
|
READ_RTC_REG(RTC_CNTL_LOW_POWER_ST_REG, 27, 1)
|
||||||
#else
|
#else
|
||||||
READ_RTC_FIELD(RTC_CNTL_LOW_POWER_ST_REG, RTC_CNTL_MAIN_STATE_IN_IDLE)
|
READ_RTC_FIELD(RTC_CNTL_LOW_POWER_ST_REG, RTC_CNTL_MAIN_STATE_IN_IDLE)
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user