Skip to content

Commit

Permalink
ulp: fix incorrect bit-width operator while reading RTC_CNTL_LOW_POWE…
Browse files Browse the repository at this point in the history
…R_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.
  • Loading branch information
sudeep-mohanty committed Oct 17, 2022
1 parent dc09f30 commit a28791d
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion docs/en/api-reference/system/ulp_instruction_set.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.

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
READ_RTC_FIELD(RTC_CNTL_LOW_POWER_ST_REG, RTC_CNTL_RDY_FOR_WAKEUP)
OR r0, r0, r1
Expand Down
2 changes: 1 addition & 1 deletion examples/system/ulp_fsm/ulp/main/ulp/wake_up.S
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
wake_up:
/* Check if the system is in sleep mode */
#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
READ_RTC_FIELD(RTC_CNTL_LOW_POWER_ST_REG, RTC_CNTL_MAIN_STATE_IN_IDLE)
#endif
Expand Down

0 comments on commit a28791d

Please sign in to comment.