12 #ifndef _CONTROLLER_INCLUDE_GUARD 13 #define _CONTROLLER_INCLUDE_GUARD 17 #include "../alexa_interaction/alexa_interaction.h" 18 #include "../config/config.h" 19 #include "../connectivity/connectivity.h" 20 #include "../indicator/indicator.h" 21 #include "../logging/logging.h" 22 #include "../manual_interaction/manual_interaction.h" 23 #include "../motor_driver/motor_driver.h" 24 #include "../storage/storage.h" 66 std::shared_ptr<Logging>
logger_{
nullptr};
67 std::unique_ptr<Storage>
store_{
nullptr};
OPERATION_MODE
Definition: config.h:75
std::unique_ptr< Indicator > indicator_
Definition: controller.h:68
void HandleMaintenanceMode()
Handle reset mode.
Definition: controller.cpp:135
Definition: controller.h:26
~Controller()
Destroy the Controller object.
Definition: controller.cpp:64
std::chrono::time_point< std::chrono::system_clock > time_var
Definition: config.h:176
CONFIG_SET::DEVICE_CRED device_cred_
Definition: controller.h:56
void HandleResetMode()
Handle reset mode.
Definition: controller.cpp:94
void RestartDevice()
Restarts device.
Definition: controller.cpp:352
std::shared_ptr< Logging > logger_
Definition: controller.h:66
bool LoadParameters()
Mounts all the parameters from the storage.
Definition: controller.cpp:262
void InitializeMaintenanceMode()
Initialize maintenance mode.
Definition: controller.cpp:127
std::unique_ptr< Connectivity > connectivity_
Definition: controller.h:69
CONFIG_SET::DRIVER_STATUS last_motor_status_
Definition: controller.h:61
CONFIG_SET::time_var mode_start_time_
Definition: controller.h:60
Controller()
Construct a new Controller object, initializes the device.
Definition: controller.cpp:30
std::unique_ptr< AlexaInteraction > alexa_interaction_
Definition: controller.h:70
void InitializeOperationMode()
Initialize operation mode.
Definition: controller.cpp:146
CONFIG_SET::CALIB_PARAMS calib_params_
Definition: controller.h:57
int last_blind_percentage_
Definition: controller.h:62
bool Calibrate()
Calibrate the motor driver, determine the stall value and total step count, updates internal calib_pa...
Definition: controller.cpp:274
void StopOperationMode()
Call when exiting operation mode.
Definition: controller.cpp:338
bool long_press_enabled_
Definition: controller.h:63
void InitializeResetMode()
Initialize reset mode.
Definition: controller.cpp:84
std::unique_ptr< MotorDriver > motor_driver_
Definition: controller.h:71
CONFIG_SET::DEVICE_STATUS indicator_status_
Definition: controller.h:59
CONFIG_SET::OPERATION_MODE operation_mode_
Definition: controller.h:58
bool SaveParameters()
Save all the parameters to storage.
Definition: controller.cpp:269
void StopResetMode()
Call when exiting reset mode.
Definition: controller.cpp:346
void Handle()
Continous loop after initialization, handles the controlling of the device Performs following functio...
Definition: controller.cpp:66
std::unique_ptr< ManualInteraction > manual_interaction_
Definition: controller.h:72
DRIVER_STATUS
Definition: config.h:154
std::unique_ptr< Storage > store_
Definition: controller.h:67
DEVICE_STATUS
Definition: config.h:147
void HandleOperationMode()
Handle operation mode.
Definition: controller.cpp:162