Skip to content

Commit 0411b16

Browse files
committed
Merge branch 'fix/button_long_press_start_no_triggered_v2.0' into 'release/v2.0'
fix(button): fix not triggering longpress start with polling intervals over 20ms (v2.0) See merge request ae_group/esp-iot-solution!1166
2 parents 36932ed + f5d2c6f commit 0411b16

File tree

7 files changed

+13
-10
lines changed

7 files changed

+13
-10
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ The registered components in ESP-IoT-Solution are listed below:
6767
| [ble_ota](https://components.espressif.com/components/espressif/ble_ota/versions/0.1.12) | [![0.1.12](https://img.shields.io/badge/Beta-0.1.12-yellow)](https://components.espressif.com/components/espressif/ble_ota/versions/0.1.12) |
6868
| [ble_services](https://components.espressif.com/components/espressif/ble_services/versions/0.1.0) | [![0.1.0](https://img.shields.io/badge/Beta-0.1.0-yellow)](https://components.espressif.com/components/espressif/ble_services/versions/0.1.0) |
6969
| [bootloader_support_plus](https://components.espressif.com/components/espressif/bootloader_support_plus/versions/0.2.6) | [![0.2.6](https://img.shields.io/badge/Beta-0.2.6-yellow)](https://components.espressif.com/components/espressif/bootloader_support_plus/versions/0.2.6) |
70-
| [button](https://components.espressif.com/components/espressif/button/versions/3.4.0) | [![3.4.0](https://img.shields.io/badge/Stable-3.4.0-blue)](https://components.espressif.com/components/espressif/button/versions/3.4.0) |
70+
| [button](https://components.espressif.com/components/espressif/button/versions/3.4.1) | [![3.4.1](https://img.shields.io/badge/Stable-3.4.1-blue)](https://components.espressif.com/components/espressif/button/versions/3.4.1) |
7171
| [cmake_utilities](https://components.espressif.com/components/espressif/cmake_utilities/versions/1.0.0) | [![1.0.0](https://img.shields.io/badge/Stable-1.0.0-blue)](https://components.espressif.com/components/espressif/cmake_utilities/versions/1.0.0) |
7272
| [drv10987](https://components.espressif.com/components/espressif/drv10987/versions/0.1.0) | [![0.1.0](https://img.shields.io/badge/Beta-0.1.0-yellow)](https://components.espressif.com/components/espressif/drv10987/versions/0.1.0) |
7373
| [elf_loader](https://components.espressif.com/components/espressif/elf_loader/versions/0.1.0) | [![0.1.0](https://img.shields.io/badge/Beta-0.1.0-yellow)](https://components.espressif.com/components/espressif/elf_loader/versions/0.1.0) |

README_CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ ESP-IoT-Solution 中注册的组件如下:
6767
| [ble_ota](https://components.espressif.com/components/espressif/ble_ota/versions/0.1.12) | [![0.1.12](https://img.shields.io/badge/Beta-0.1.12-yellow)](https://components.espressif.com/components/espressif/ble_ota/versions/0.1.12) |
6868
| [ble_services](https://components.espressif.com/components/espressif/ble_services/versions/0.1.0) | [![0.1.0](https://img.shields.io/badge/Beta-0.1.0-yellow)](https://components.espressif.com/components/espressif/ble_services/versions/0.1.0) |
6969
| [bootloader_support_plus](https://components.espressif.com/components/espressif/bootloader_support_plus/versions/0.2.6) | [![0.2.6](https://img.shields.io/badge/Beta-0.2.6-yellow)](https://components.espressif.com/components/espressif/bootloader_support_plus/versions/0.2.6) |
70-
| [button](https://components.espressif.com/components/espressif/button/versions/3.4.0) | [![3.4.0](https://img.shields.io/badge/Stable-3.4.0-blue)](https://components.espressif.com/components/espressif/button/versions/3.4.0) |
70+
| [button](https://components.espressif.com/components/espressif/button/versions/3.4.1) | [![3.4.1](https://img.shields.io/badge/Stable-3.4.1-blue)](https://components.espressif.com/components/espressif/button/versions/3.4.1) |
7171
| [cmake_utilities](https://components.espressif.com/components/espressif/cmake_utilities/versions/1.0.0) | [![1.0.0](https://img.shields.io/badge/Stable-1.0.0-blue)](https://components.espressif.com/components/espressif/cmake_utilities/versions/1.0.0) |
7272
| [drv10987](https://components.espressif.com/components/espressif/drv10987/versions/0.1.0) | [![0.1.0](https://img.shields.io/badge/Beta-0.1.0-yellow)](https://components.espressif.com/components/espressif/drv10987/versions/0.1.0) |
7373
| [elf_loader](https://components.espressif.com/components/espressif/elf_loader/versions/0.1.0) | [![0.1.0](https://img.shields.io/badge/Beta-0.1.0-yellow)](https://components.espressif.com/components/espressif/elf_loader/versions/0.1.0) |

components/button/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# ChangeLog
22

3+
## v3.4.1 - 2024-12-6
4+
5+
### Fix:
6+
7+
* Fix the issue where `BUTTON_LONG_PRESS_START` is not triggered when the polling interval exceeds 20ms.
8+
* Remove the `BUTTON_LONG_PRESS_TOLERANCE_MS` configuration option.
9+
310
## v3.4.0 - 2024-10-22
411

512
### Enhancements:

components/button/Kconfig

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@ menu "IoT Button"
2424
range 500 5000
2525
default 1500
2626

27-
config BUTTON_LONG_PRESS_TOLERANCE_MS
28-
int "BUTTON LONG PRESS TOLERANCE TIME (MS)"
29-
default 20
30-
3127
config BUTTON_SERIAL_TIME_MS
3228
int "BUTTON SERIAL TIME (MS)"
3329
range 2 1000

components/button/idf_component.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: "3.4.0"
1+
version: "3.4.1"
22
description: GPIO and ADC button driver
33
url: https://github.com/espressif/esp-iot-solution/tree/master/components/button
44
repository: https://github.com/espressif/esp-iot-solution.git

components/button/iot_button.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ static button_power_save_config_t power_save_usr_cfg = {0};
9494
#define SHORT_TICKS (CONFIG_BUTTON_SHORT_PRESS_TIME_MS /TICKS_INTERVAL)
9595
#define LONG_TICKS (CONFIG_BUTTON_LONG_PRESS_TIME_MS /TICKS_INTERVAL)
9696
#define SERIAL_TICKS (CONFIG_BUTTON_SERIAL_TIME_MS /TICKS_INTERVAL)
97-
#define TOLERANCE CONFIG_BUTTON_LONG_PRESS_TOLERANCE_MS
97+
#define TOLERANCE (CONFIG_BUTTON_PERIOD_TIME_MS*4)
9898

9999
#define CALL_EVENT_CB(ev) \
100100
if (btn->cb_info[ev]) { \
@@ -148,7 +148,7 @@ static void button_handler(button_dev_t *btn)
148148
btn->ticks = 0;
149149
btn->state = 2;
150150

151-
} else if (btn->ticks > btn->long_press_ticks) {
151+
} else if (btn->ticks >= btn->long_press_ticks) {
152152
btn->event = (uint8_t)BUTTON_LONG_PRESS_START;
153153
btn->state = 4;
154154
/** Calling callbacks for BUTTON_LONG_PRESS_START */

components/button/test_apps/main/button_test.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ TEST_CASE("gpio button auto-test", "[button][iot][auto]")
595595
vTaskDelay(pdMS_TO_TICKS(100));
596596
}
597597

598-
#define TOLERANCE CONFIG_BUTTON_LONG_PRESS_TOLERANCE_MS
598+
#define TOLERANCE (CONFIG_BUTTON_PERIOD_TIME_MS * 4)
599599

600600
uint16_t long_press_time[5] = {2000, 2500, 3000, 3500, 4000};
601601
static SemaphoreHandle_t long_press_check = NULL;

0 commit comments

Comments
 (0)