ESPixelStick Firmware
Firmware for the ESPixelStick
Loading...
Searching...
No Matches
c_ExternalInput Class Referencefinal

#include <externalInput.h>

Collaboration diagram for c_ExternalInput:

Public Types

enum  InputValue_t { off = 0 , shortOn , longOn }
 
enum  Polarity_t { ActiveHigh = 0 , ActiveLow }
 

Public Member Functions

 c_ExternalInput (void)
 
 ~c_ExternalInput (void)
 
void Init (uint32_t iInputId, uint32_t iPinId, Polarity_t Poliarity, String &sName)
 
void Poll (void)
 
void GetConfig (JsonObject JsonData)
 
void GetStatistics (JsonObject JsonData)
 
void ProcessConfig (JsonObject JsonData)
 
bool IsEnabled ()
 
uint32_t GetTriggerChannel ()
 
void GetDriverName (String &Name)
 

Protected Member Functions

bool ReadInput (void)
 

Protected Attributes

String name
 
uint32_t GpioId = 0
 
uint32_t TriggerChannel = uint32_t(32)
 
Polarity_t polarity = Polarity_t::ActiveLow
 
bool Enabled = false
 
uint32_t InputDebounceCount = 0
 
FastTimer InputHoldTimer
 
uint32_t LongPushDelayMS = 2000
 
fsm_ExternalInput_stateCurrentFsmState = nullptr
 

Friends

class fsm_ExternalInput_boot
 
class fsm_ExternalInput_off_state
 
class fsm_ExternalInput_on_wait_long_state
 
class fsm_ExternalInput_wait_for_off_state
 

Member Enumeration Documentation

◆ InputValue_t

Enumerator
off 
shortOn 
longOn 

◆ Polarity_t

Enumerator
ActiveHigh 
ActiveLow 

Constructor & Destructor Documentation

◆ c_ExternalInput()

c_ExternalInput::c_ExternalInput ( void )
Here is the call graph for this function:

◆ ~c_ExternalInput()

c_ExternalInput::~c_ExternalInput ( void )
inline

Member Function Documentation

◆ GetConfig()

void c_ExternalInput::GetConfig ( JsonObject JsonData)
Here is the caller graph for this function:

◆ GetDriverName()

void c_ExternalInput::GetDriverName ( String & Name)
inline

◆ GetStatistics()

void c_ExternalInput::GetStatistics ( JsonObject JsonData)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetTriggerChannel()

uint32_t c_ExternalInput::GetTriggerChannel ( )
inline

◆ Init()

void c_ExternalInput::Init ( uint32_t iInputId,
uint32_t iPinId,
Polarity_t Poliarity,
String & sName )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsEnabled()

bool c_ExternalInput::IsEnabled ( )
inline

◆ Poll()

void c_ExternalInput::Poll ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ProcessConfig()

void c_ExternalInput::ProcessConfig ( JsonObject JsonData)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadInput()

bool c_ExternalInput::ReadInput ( void )
protected
Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ fsm_ExternalInput_boot

friend class fsm_ExternalInput_boot
friend

◆ fsm_ExternalInput_off_state

friend class fsm_ExternalInput_off_state
friend

◆ fsm_ExternalInput_on_wait_long_state

◆ fsm_ExternalInput_wait_for_off_state

Member Data Documentation

◆ CurrentFsmState

fsm_ExternalInput_state* c_ExternalInput::CurrentFsmState = nullptr
protected

◆ Enabled

bool c_ExternalInput::Enabled = false
protected

◆ GpioId

uint32_t c_ExternalInput::GpioId = 0
protected

◆ InputDebounceCount

uint32_t c_ExternalInput::InputDebounceCount = 0
protected

◆ InputHoldTimer

FastTimer c_ExternalInput::InputHoldTimer
protected

◆ LongPushDelayMS

uint32_t c_ExternalInput::LongPushDelayMS = 2000
protected

◆ name

String c_ExternalInput::name
protected

◆ polarity

Polarity_t c_ExternalInput::polarity = Polarity_t::ActiveLow
protected

◆ TriggerChannel

uint32_t c_ExternalInput::TriggerChannel = uint32_t(32)
protected

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