12 #ifndef _MAN_INT_INCLUDE_GUARD 13 #define _MAN_INT_INCLUDE_GUARD 26 #include "../config/config.h" 27 #include "../logging/logging.h" 35 ManualInteraction(
int freq_to_run_deque_analyser, std::shared_ptr<Logging>& logging);
std::chrono::time_point< std::chrono::system_clock > time_var
Definition: config.h:176
CONFIG_SET::MANUAL_PUSH manual_action_
Definition: manual_interaction.h:110
static void s_IntrAddToButtonDequeDown()
Hardware Interrrupt for down [black colored] button check for valid interrupt by software debouncing...
Definition: manual_interaction.cpp:84
void StartButtonDequeAnalyserFn()
start button deque analyser function thread start button deque analyser function thread ...
Definition: manual_interaction.cpp:111
CONFIG_SET::time_var manual_action_time_
Definition: manual_interaction.h:111
void StopButtonDequeAnalyserFn()
Stop button deque analyser function set_button_deque_analyser varible to ture so it stops the threade...
Definition: manual_interaction.cpp:106
Definition: manual_interaction.h:29
static std::deque< std::pair< bool, CONFIG_SET::time_var > > s_button_state_deque_up_
Definition: manual_interaction.h:118
static bool s_class_setup_flag_
Definition: manual_interaction.h:120
void ButtonstateDequeAnalyser()
thread function to check the deque status and identify the manual interaction mode Function will chec...
Definition: manual_interaction.cpp:138
bool stop_button_deque_analyser_
Definition: manual_interaction.h:112
const int freq_to_run_deque_analyser_
Definition: manual_interaction.h:115
~ManualInteraction()
ManualInteraction class destructor Destroy the ManualInteraction object.
Definition: manual_interaction.cpp:55
void SetManualActionAndTime(CONFIG_SET::BUTTON_PRESS &button_1_state, CONFIG_SET::BUTTON_PRESS &button_2_state, CONFIG_SET::time_var &time_button_1, CONFIG_SET::time_var &time_button_2)
Set the Manual Action And Time object sets manual_action_ and manual_action_time_.
Definition: manual_interaction.cpp:214
static std::deque< std::pair< bool, CONFIG_SET::time_var > > s_button_state_deque_down_
Definition: manual_interaction.h:119
std::tuple< CONFIG_SET::MANUAL_PUSH, CONFIG_SET::time_var > GetManualActionAndTime()
Get the Manual Action And Time object.
Definition: manual_interaction.cpp:121
static std::mutex s_deque_mutex_
Definition: manual_interaction.h:121
void SetCurrentButtonState(std::deque< std::pair< bool, CONFIG_SET::time_var >> &button_press_deque_, CONFIG_SET::BUTTON_PRESS &button_state, CONFIG_SET::time_var &time)
Set the CurrentButtonState object Function to sets the current buttonstate [0 ->NO_PUSH, 1->LONGPRESS, 2->DOUBLETAP].
Definition: manual_interaction.cpp:178
int delay_to_run_deque_analyser_
Definition: manual_interaction.h:116
ManualInteraction(int freq_to_run_deque_analyser, std::shared_ptr< Logging > &logging)
ManualInteraction class constructor Setup pinmode and interrupt.
Definition: manual_interaction.cpp:33
static void s_IntrAddToButtonDequeUp()
Hardware Interrrupt for up [red colored] button check for valid interrupt by software debouncing...
Definition: manual_interaction.cpp:63
std::unique_ptr< std::thread > deque_analyser_
Definition: manual_interaction.h:113
MANUAL_PUSH
Definition: config.h:131
BUTTON_PRESS
Definition: config.h:141
std::shared_ptr< Logging > logger_
Definition: manual_interaction.h:114