You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Environment
Development Kit: [ESP32-DevKitC]
Kit version (for WroverKit/PicoKit/DevKitC): [|v3]
Module or chip used: [ESP32-WROVER]
IDF version (run git describe --tags to find it): v4.4-dev-2030-gd93887f9f0
Build System: [idf.py]
Compiler version (run xtensa-esp32-elf-gcc --version to find it):
// 1.22.0-80-g6c4433a
Operating System: [Linux]
Using an IDE?: [No]
Power Supply: [USB]
Problem Description
xTimerIsTimerActive returns pdTRUE even though the timer has expired if checked in the callback function.
This causes the NimBLE scan timer to fail to stop the scan when using FreeRTOS timers instead of esp-timer.
Expected Behavior
xTimerIsTimerActive should return pdFALSE when the timer is no longer active.
Actual Behavior
xTimerIsTimerActive returns pdTRUE when the timer is not active.
Steps to reproduce
Using NimBLE blecent example, set a time for the scanner to stop (I used 5000ms).
Restart the scanner.
Eventually the scan stop timer will fail and just continue scanning.
github-actionsbot
changed the title
xTimerIsTimerActive incorrectly returns pdTRUE when called from the timer callback.
xTimerIsTimerActive incorrectly returns pdTRUE when called from the timer callback. (IDFGH-6353)
Dec 5, 2021
Environment
git describe --tags
to find it): v4.4-dev-2030-gd93887f9f0xtensa-esp32-elf-gcc --version
to find it):// 1.22.0-80-g6c4433a
Problem Description
xTimerIsTimerActive returns pdTRUE even though the timer has expired if checked in the callback function.
This causes the NimBLE scan timer to fail to stop the scan when using FreeRTOS timers instead of esp-timer.
Expected Behavior
xTimerIsTimerActive should return pdFALSE when the timer is no longer active.
Actual Behavior
xTimerIsTimerActive returns pdTRUE when the timer is not active.
Steps to reproduce
The error occurs due to this line
esp-idf/components/freertos/FreeRTOS-Kernel/timers.c
Line 846 in 98ad01e
As it sets the active flag and then calls the callback at this line
esp-idf/components/freertos/FreeRTOS-Kernel/timers.c
Line 852 in 98ad01e
This has been fixed upstream with this PR: FreeRTOS/FreeRTOS-Kernel#305
The text was updated successfully, but these errors were encountered: