ESPixelStick Firmware
Firmware for the ESPixelStick
Loading...
Searching...
No Matches
c_InputMgr Class Reference

forward declaration to the pure virtual Input class that will be defined later. More...

#include <InputMgr.hpp>

Collaboration diagram for c_InputMgr:

Classes

struct  DriverInfo_t
 

Public Types

enum  e_InputChannelIds {
  InputPrimaryChannelId = 0 , InputSecondaryChannelId = 1 , InputChannelId_End , InputChannelId_Start = InputPrimaryChannelId ,
  InputChannelId_ALL = InputChannelId_End , EffectsChannel = InputSecondaryChannelId
}
 
enum  e_InputType {
  InputType_E1_31 = 0 , InputType_Effects , InputType_MQTT , InputType_Alexa ,
  InputType_DDP , InputType_Artnet , InputType_Disabled , InputType_End ,
  InputType_Start = InputType_E1_31 , InputType_Default = InputType_Disabled
}
 

Public Member Functions

 c_InputMgr ()
 < Start up the driver and put it into a safe mode
 
virtual ~c_InputMgr ()
 < deallocate any resources and put the Input channels into a safe state
 
void Begin (uint32_t BufferSize)
 < Start the module
 
void LoadConfig ()
 
void ScheduleLoadConfig ()
 
void GetConfig (byte *Response, uint32_t maxlen)
 
void GetStatus (JsonObject &jsonStatus)
 
void SetConfig (const char *NewConfig)
 
void SetConfig (ArduinoJson::JsonDocument &NewConfig)
 
void Process ()
 < Called from loop(), renders Input data
 
void SetBufferInfo (uint32_t BufferSize)
 
void SetOperationalState (bool Active)
 
void NetworkStateChanged (bool IsConnected)
 
void DeleteConfig ()
 
bool GetNetworkState ()
 
void GetDriverName (String &Name)
 
void RestartBlankTimer (e_InputChannelIds Selector)
 
bool BlankTimerHasExpired (e_InputChannelIds Selector)
 
void ProcessButtonActions (c_ExternalInput::InputValue_t value)
 

Private Member Functions

void InstantiateNewInputChannel (e_InputChannelIds InputChannelId, e_InputType NewChannelType, bool StartDriver=true)
 
void CreateNewConfig ()
 
bool ProcessJsonConfig (JsonObject &jsonConfig)
 
void CreateJsonConfig (JsonObject &jsonConfig)
 
bool ProcessJsonChannelConfig (JsonObject &jsonConfig, uint32_t ChannelIndex)
 
bool InputTypeIsAllowedOnChannel (e_InputType type, e_InputChannelIds ChannelId)
 
bool FindJsonChannelConfig (JsonObject &jsonConfig, e_InputChannelIds ChanId, JsonObject &ChanConfig)
 

Private Attributes

DriverInfo_t InputChannelDrivers [InputChannelId_End]
 pointer(s) to the current active Input driver
 
uint32_t InputDataBufferSize = 0
 
bool HasBeenInitialized = false
 
c_ExternalInput ExternalInput
 
bool EffectEngineIsConfiguredToRun [InputChannelId_End]
 
bool IsConnected = false
 
bool configInProgress = false
 
time_t ConfigLoadNeeded = NO_CONFIG_NEEDED
 
bool PauseProcessing = false
 
String ConfigFileName
 
bool rebootNeeded = false
 
FastTimer BlankEndTime [InputChannelId_End]
 
Ticker MsTicker
 
uint32_t LastTickerTimeStampMS = 0
 

Detailed Description

forward declaration to the pure virtual Input class that will be defined later.

Member Enumeration Documentation

◆ e_InputChannelIds

Enumerator
InputPrimaryChannelId 
InputSecondaryChannelId 
InputChannelId_End 
InputChannelId_Start 
InputChannelId_ALL 
EffectsChannel 

◆ e_InputType

Enumerator
InputType_E1_31 
InputType_Effects 
InputType_MQTT 
InputType_Alexa 
InputType_DDP 
InputType_Artnet 
InputType_Disabled 
InputType_End 
InputType_Start 
InputType_Default 

Constructor & Destructor Documentation

◆ c_InputMgr()

c_InputMgr::c_InputMgr ( )

< Start up the driver and put it into a safe mode

◆ ~c_InputMgr()

c_InputMgr::~c_InputMgr ( )
virtual

< deallocate any resources and put the Input channels into a safe state

Member Function Documentation

◆ Begin()

void c_InputMgr::Begin ( uint32_t BufferSize)

< Start the module

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BlankTimerHasExpired()

bool c_InputMgr::BlankTimerHasExpired ( e_InputChannelIds Selector)
inline
Here is the caller graph for this function:

◆ CreateJsonConfig()

void c_InputMgr::CreateJsonConfig ( JsonObject & jsonConfig)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateNewConfig()

void c_InputMgr::CreateNewConfig ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeleteConfig()

void c_InputMgr::DeleteConfig ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FindJsonChannelConfig()

bool c_InputMgr::FindJsonChannelConfig ( JsonObject & jsonConfig,
e_InputChannelIds ChanId,
JsonObject & ChanConfig )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetConfig()

void c_InputMgr::GetConfig ( byte * Response,
uint32_t maxlen )
Here is the call graph for this function:

◆ GetDriverName()

void c_InputMgr::GetDriverName ( String & Name)
inline

◆ GetNetworkState()

bool c_InputMgr::GetNetworkState ( )
inline
Here is the caller graph for this function:

◆ GetStatus()

void c_InputMgr::GetStatus ( JsonObject & jsonStatus)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ InputTypeIsAllowedOnChannel()

bool c_InputMgr::InputTypeIsAllowedOnChannel ( e_InputType type,
e_InputChannelIds ChannelId )
private
Here is the caller graph for this function:

◆ InstantiateNewInputChannel()

void c_InputMgr::InstantiateNewInputChannel ( e_InputChannelIds InputChannelId,
e_InputType NewChannelType,
bool StartDriver = true )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadConfig()

void c_InputMgr::LoadConfig ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ NetworkStateChanged()

void c_InputMgr::NetworkStateChanged ( bool IsConnected)
Here is the caller graph for this function:

◆ Process()

void c_InputMgr::Process ( )

< Called from loop(), renders Input data

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ProcessButtonActions()

void c_InputMgr::ProcessButtonActions ( c_ExternalInput::InputValue_t value)
Here is the caller graph for this function:

◆ ProcessJsonChannelConfig()

bool c_InputMgr::ProcessJsonChannelConfig ( JsonObject & jsonConfig,
uint32_t ChannelIndex )
private

◆ ProcessJsonConfig()

bool c_InputMgr::ProcessJsonConfig ( JsonObject & jsonConfig)
private
Here is the call graph for this function:

◆ RestartBlankTimer()

void c_InputMgr::RestartBlankTimer ( e_InputChannelIds Selector)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ScheduleLoadConfig()

void c_InputMgr::ScheduleLoadConfig ( )
inline
Here is the caller graph for this function:

◆ SetBufferInfo()

void c_InputMgr::SetBufferInfo ( uint32_t BufferSize)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetConfig() [1/2]

void c_InputMgr::SetConfig ( ArduinoJson::JsonDocument & NewConfig)

◆ SetConfig() [2/2]

void c_InputMgr::SetConfig ( const char * NewConfig)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetOperationalState()

void c_InputMgr::SetOperationalState ( bool Active)
Here is the caller graph for this function:

Member Data Documentation

◆ BlankEndTime

FastTimer c_InputMgr::BlankEndTime[InputChannelId_End]
private

◆ ConfigFileName

String c_InputMgr::ConfigFileName
private

◆ configInProgress

bool c_InputMgr::configInProgress = false
private

◆ ConfigLoadNeeded

time_t c_InputMgr::ConfigLoadNeeded = NO_CONFIG_NEEDED
private

◆ EffectEngineIsConfiguredToRun

bool c_InputMgr::EffectEngineIsConfiguredToRun[InputChannelId_End]
private

◆ ExternalInput

c_ExternalInput c_InputMgr::ExternalInput
private

◆ HasBeenInitialized

bool c_InputMgr::HasBeenInitialized = false
private

◆ InputChannelDrivers

DriverInfo_t c_InputMgr::InputChannelDrivers[InputChannelId_End]
private

pointer(s) to the current active Input driver

◆ InputDataBufferSize

uint32_t c_InputMgr::InputDataBufferSize = 0
private

◆ IsConnected

bool c_InputMgr::IsConnected = false
private

◆ LastTickerTimeStampMS

uint32_t c_InputMgr::LastTickerTimeStampMS = 0
private

◆ MsTicker

Ticker c_InputMgr::MsTicker
private

◆ PauseProcessing

bool c_InputMgr::PauseProcessing = false
private

◆ rebootNeeded

bool c_InputMgr::rebootNeeded = false
private

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