ESP32-S3 wake on UART edge threshold off by 1 (IDFGH-11451) #12586
Labels
Resolution: Done
Issue is done internally
Status: Done
Issue is done internally
Type: Bug
bugs in IDF
Answers checklist.
IDF version.
v5.3-dev-277-gc8243465e4
Espressif SoC revision.
ESP32-S3 revision v0.2
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
ESP32-S3 DevkitC
Power Supply used.
USB
What is the expected behavior?
When
uart_set_wakeup_threshold(EXAMPLE_UART_NUM, 3)
is called the UART should wake the device from lightsleep after 3 edges. This is in the light_sleep example program.What is the actual behavior?
It takes 4 edges to wake from light sleep.
Example given in documentation is
'a'
has 3 edges. However 'a' does not wake the UART. It takes two 'a' to wake.Another test, 'e', which has four edges
(0 10100110 1)
, does with with a single 'e'.I also tried sending binary 0 byte. This has one edge. It takes four to wake.
If I set set the threshold higher, for example to 4, then it takes 5 zero bytes to wake.
It seems value is off by one and takes one additional edge to wake than it should.
Note that the test script for light_sleep sends 'U' with 8 edges, so it will not fail even if the threshold is off by one.
Steps to reproduce.
'a'
character, which should wake.'a'
character will wake.Debug Logs.
No response
More Information.
No response
The text was updated successfully, but these errors were encountered: