This is an ESP32-compatible C component for interfacing with pulse sensors (e.g. Hall-effect-based flow-meters) via GPIO (interrupts).
Note, in this context, "pulses" assume quick changes in voltage on a wire in response to an external signal (e.g. water spinning a magnet around a sensor).
It was tested with v5.2 of the ESP-IDF environment.
- GPIO ISR Service (comes with ESP-IDF), must be started for the pulse sensor to work.
See esp32-pulse-sensor-example for a complete example.
The features include:
- Cycle tracking with support for jitter-avoidance.
- Async notifications of cycle start/stop events via queues.
- Total pulse, duration, cycle tracking.
- Multiple pulse sensors can be managed at the same time (each on a different GPIO interrupt-capable input pin).
Automatically generated API documentation (doxygen) is available here.
The source is available from GitHub.
The code in this project is licensed under the MIT license - see LICENSE for details.