Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESP32-S3 wake on UART edge threshold off by 1 (IDFGH-11451) #12586

Closed
3 tasks done
xyzzy42 opened this issue Nov 14, 2023 · 0 comments
Closed
3 tasks done

ESP32-S3 wake on UART edge threshold off by 1 (IDFGH-11451) #12586

xyzzy42 opened this issue Nov 14, 2023 · 0 comments
Assignees
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally Type: Bug bugs in IDF

Comments

@xyzzy42
Copy link

xyzzy42 commented Nov 14, 2023

Answers checklist.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

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.

  1. Run light_sleep example.
  2. Attempt to wake with single 'a' character, which should wake.
  3. Does not wake on UART.
  4. Sending additional 'a' character will wake.

Debug Logs.

No response

More Information.

No response

@xyzzy42 xyzzy42 added the Type: Bug bugs in IDF label Nov 14, 2023
@espressif-bot espressif-bot added the Status: Opened Issue is new label Nov 14, 2023
@github-actions github-actions bot changed the title ESP32-S3 wake on UART edge threshold off by 1 ESP32-S3 wake on UART edge threshold off by 1 (IDFGH-11451) Nov 14, 2023
@espressif-bot espressif-bot added Status: In Progress Work is in progress and removed Status: Opened Issue is new labels Jan 9, 2024
@espressif-bot espressif-bot added Status: Done Issue is done internally Resolution: Done Issue is done internally and removed Status: In Progress Work is in progress labels Mar 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally Type: Bug bugs in IDF
Projects
None yet
Development

No branches or pull requests

4 participants