Skip to content

An ESP32-compatible C component for interfacing with pulse sensors (e.g. flow) via GPIO.

License

Notifications You must be signed in to change notification settings

agargenta/esp32-pulse-sensor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

esp32-pulse-sensor

Introduction

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.

Dependencies

  • GPIO ISR Service (comes with ESP-IDF), must be started for the pulse sensor to work.

Example

See esp32-pulse-sensor-example for a complete example.

Features

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).

Documentation

Automatically generated API documentation (doxygen) is available here.

Source Code

The source is available from GitHub.

License

The code in this project is licensed under the MIT license - see LICENSE for details.

Links

About

An ESP32-compatible C component for interfacing with pulse sensors (e.g. flow) via GPIO.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages