SensESP 2.7.2
Universal Signal K sensor toolkit ESP32
Loading...
Searching...
No Matches
sensesp::DigitalInputCounter Class Reference

DigitalInputCounter counts interrupts and reports the count every read_delay ms. More...

#include <sensesp/sensors/digital_input.h>

Inheritance diagram for sensesp::DigitalInputCounter:
[legend]

Public Member Functions

 DigitalInputCounter (uint8_t pin, int pin_mode, int interrupt_type, unsigned int read_delay, String config_path="")
 
void start () override final
 
- Public Member Functions inherited from sensesp::DigitalInput
 DigitalInput (uint8_t pin, int pin_mode)
 
- Public Member Functions inherited from sensesp::SensorT< int >
 SensorT (String config_path="")
 
- Public Member Functions inherited from sensesp::Sensor
 Sensor (String config_path="")
 
- Public Member Functions inherited from sensesp::Observable
 Observable ()
 
 Observable (Observable &&other)
 Move constructor.
 
void notify ()
 
void attach (std::function< void()> observer)
 
- Public Member Functions inherited from sensesp::Configurable
 Configurable (String config_path="", String description="", int sort_order=1000)
 
String get_description ()
 
void set_description (String description)
 Set the description of the Configurable.
 
int get_sort_order ()
 
void set_sort_order (int sort_order)
 
virtual void save_configuration ()
 
- Public Member Functions inherited from sensesp::Startable
 Startable (int priority=0)
 
const int get_start_priority ()
 
void set_start_priority (int priority)
 
- Public Member Functions inherited from sensesp::ValueProducer< T >
 ValueProducer ()
 
virtual const T & get () const
 
void connect_to (ValueConsumer< T > *consumer, uint8_t input_channel=0)
 
template<typename CT >
void connect_to (ValueConsumer< CT > *consumer, uint8_t input_channel=0)
 Connect a producer to a consumer of a different type.
 
template<typename T2 >
Transform< T, T2 > * connect_to (Transform< T, T2 > *consumer_producer, uint8_t input_channel=0)
 
template<typename TT , typename T2 >
Transform< TT, T2 > * connect_to (Transform< TT, T2 > *consumer_producer, uint8_t input_channel=0)
 Connect a producer to a transform with a different input type.
 
void emit (T new_value)
 

Protected Member Functions

 DigitalInputCounter (uint8_t pin, int pin_mode, int interrupt_type, unsigned int read_delay, String config_path, std::function< void()> interrupt_handler)
 
- Protected Member Functions inherited from sensesp::Configurable
virtual void load_configuration ()
 

Protected Attributes

unsigned int read_delay_
 
volatile unsigned int counter_ = 0
 
- Protected Attributes inherited from sensesp::DigitalInput
uint8_t pin_
 
- Protected Attributes inherited from sensesp::Configurable
String description_ = ""
 
int sort_order_ = 1000
 
- Protected Attributes inherited from sensesp::ValueProducer< T >
output
 

Additional Inherited Members

- Static Public Member Functions inherited from sensesp::Sensor
static const std::set< Sensor * > & get_sensors ()
 
- Static Public Member Functions inherited from sensesp::Startable
static void start_all ()
 
- Public Attributes inherited from sensesp::Configurable
const String config_path_
 

Detailed Description

DigitalInputCounter counts interrupts and reports the count every read_delay ms.

A typical use case is to count the revolutions of something, such as an engine, to determine RPM. See /examples/rpm_counter.cpp

Parameters
pinThe GPIO pin to which the device is connected
pin_modeWill be INPUT or INPUT_PULLUP
interrupt_typeWill be RISING, FALLING, or CHANGE
read_delayHow often you want to read the pin, in ms
config_pathThe path to configuring read_delay in the Config UI

Definition at line 89 of file digital_input.h.

Constructor & Destructor Documentation

◆ DigitalInputCounter() [1/2]

sensesp::DigitalInputCounter::DigitalInputCounter ( uint8_t  pin,
int  pin_mode,
int  interrupt_type,
unsigned int  read_delay,
String  config_path = "" 
)
inline

Definition at line 91 of file digital_input.h.

◆ DigitalInputCounter() [2/2]

sensesp::DigitalInputCounter::DigitalInputCounter ( uint8_t  pin,
int  pin_mode,
int  interrupt_type,
unsigned int  read_delay,
String  config_path,
std::function< void()>  interrupt_handler 
)
inlineprotected

Definition at line 109 of file digital_input.h.

Here is the call graph for this function:

Member Function Documentation

◆ start()

void sensesp::DigitalInputCounter::start ( )
inlinefinaloverridevirtual

Called during the initialization process. Override this method to add runtime initialization code to your class

Reimplemented from sensesp::Startable.

Definition at line 96 of file digital_input.h.

Here is the call graph for this function:

Member Data Documentation

◆ counter_

volatile unsigned int sensesp::DigitalInputCounter::counter_ = 0
protected

Definition at line 121 of file digital_input.h.

◆ read_delay_

unsigned int sensesp::DigitalInputCounter::read_delay_
protected

Definition at line 120 of file digital_input.h.


The documentation for this class was generated from the following files: