/Debouncer

Platform and compiler independent button debouncer

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Helper class for button debouncing

Build Status

This class uses a counting algorithm. I think that it is more "safe" then other algorithms.

In the first implementation I have used a history based algorithm like the one described in Embed With Elliot: Debounce Your Noisy Buttons, Part II

Files

  • the implementation is in the Debouncer.h and Debouncer.cpp fles.
  • CMakeLists.txt and Kconfig.projbuild are only for esp-idf
  • build.sh is used to build and run the example executable, manually or by Travis CI

Dependencies

This should be platform and compiler agnostic but:

Development Environment

Main tools used where Espressif IoT Development Framework and ESP32 toolchain for Linux (see Standard Setup of Toolchain for Linux for the latest version).

Editing was done in Visual Studio Code.

Version control with Git.

License

This software and related documentation is released under the GNU GPLv3 License. See the LICENSE-GPLv3.txt file.