2024A-SW/managed_components/espressif__button
2025-06-08 16:47:56 -05:00
..
examples/button_power_save Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00
include Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00
test_apps Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00
.component_hash Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00
button_adc.c Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00
button_gpio.c Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00
button_matrix.c Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00
CHANGELOG.md Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00
CMakeLists.txt Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00
idf_component.yml Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00
iot_button.c Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00
Kconfig Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00
license.txt Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00
README.md Initial public release of the 2024A software. 2025-01-25 14:04:42 -06:00

Component Registry

Component: Button

Online documentation

After creating a new button object by calling function button_create(), the button object can create press events, every press event can have its own callback.

List of supported events:

  • Button pressed
  • Button released
  • Button pressed repeat
  • Button press repeat done
  • Button single click
  • Button double click
  • Button multiple click
  • Button long press start
  • Button long press hold
  • Button long press up
  • Button Press end

There are three ways this driver can handle buttons:

  1. Buttons connected to standard digital GPIO
  2. Multiple buttons connected to single ADC channel
  3. Matrix keyboard employs multiple GPIOs for operation.
  4. Custom button connect to any driver

The component supports the following functionalities:

  1. Creation of an unlimited number of buttons, accommodating various types simultaneously.
  2. Multiple callback functions for a single event.
  3. Allowing customization of the consecutive key press count to any desired number.
  4. Facilitating the setup of callbacks for any specified long-press duration.
  5. Support power save mode (Only for gpio button)

Add component to your project

Please use the component manager command add-dependency to add the button to your project's dependency, during the CMake step the component will be downloaded automatically

idf.py add-dependency "espressif/button=*"