58 uint8_t protocolVersion,
96 uint8_t protocolVersion,
Every command from an external device such as a smartphone goes through the CommandHandler.
Definition: cs_CommandHandler.h:34
app_timer_t _resetTimerData
Definition: cs_CommandHandler.h:71
void handleCmdStateSet(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void resetDelayed(uint8_t opCode, uint16_t delayMs=2000)
Reset, after a delay.
const boards_config_t * _boardConfig
Definition: cs_CommandHandler.h:74
void handleCmdGetUptime(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdMicroappUpload(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
bool allowedAsMeshCommand(const CommandHandlerTypes type)
static CommandHandler & getInstance()
Gets a static singleton (no dynamic memory allocation)
Definition: cs_CommandHandler.h:37
void handleCmdGetTime(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdGotoDfu(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdGetBootloaderVersion(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
static const uint32_t ASYNC_COMMAND_TIMEOUT_MS
Definition: cs_CommandHandler.h:87
void handleCmdIncreaseTx(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdNop(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
uint16_t timeoutCountdown
Definition: cs_CommandHandler.h:84
void handleCommand(uint8_t protocolVersion, const CommandHandlerTypes type, cs_data_t commandData, const cmd_source_with_counter_t source, const EncryptionAccessLevel accessLevel, cs_result_t &result)
Handle a a command.
cmd_source_with_counter_t source
Definition: cs_CommandHandler.h:81
void handleCmdUartMsg(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdFactoryReset(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdHubData(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdRegisterTrackedDevice(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void _handleCommand(uint8_t protocolVersion, const CommandHandlerTypes type, cs_data_t commandData, const cmd_source_with_counter_t source, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdDisconnect(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
CommandHandlerTypes type
Definition: cs_CommandHandler.h:78
void dispatchEventForCommand(CS_TYPE type, cs_data_t commandData, const cmd_source_with_counter_t &source, cs_result_t &result)
Delegate a command via an event.
void handleCmdSwitch(cs_data_t commandData, const cmd_source_with_counter_t source, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdReset(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdGetUicrData(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdRelay(cs_data_t commandData, const cmd_source_with_counter_t source, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdGetFirmwareVersion(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
EncryptionAccessLevel getRequiredAccessLevel(const CommandHandlerTypes type)
void handleCmdAllowDimming(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdValidateSetup(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleEvent(event_t &event)
Handle events.
void handleCmdMultiSwitch(cs_data_t commandData, const cmd_source_with_counter_t source, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdPwm(cs_data_t commandData, const cmd_source_with_counter_t source, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdTrackedDeviceHeartbeat(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void init(const boards_config_t *board)
Initialize command handler given board configuration.
struct CommandHandler::@10 _awaitingCommandResult
void handleCmdGetMacAddress(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdLockSwitch(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
app_timer_id_t _resetTimerId
Definition: cs_CommandHandler.h:72
void handleCmdMeshCommand(uint8_t protocol, cs_data_t commandData, const cmd_source_with_counter_t source, const EncryptionAccessLevel accesss_resulLevel, cs_result_t &result)
void handleCmdStateGet(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdSetup(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdGetHardwareVersion(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdSetSunTime(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void handleCmdMicroappMessage(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
void resolveAsyncCommand(cs_async_result_t *result)
void handleCmdResetErrors(cs_data_t commandData, const EncryptionAccessLevel accessLevel, cs_result_t &result)
Event listener.
Definition: cs_EventListener.h:17
Author: Crownstone Team Copyright: Crownstone (https://crownstone.rocks) Date: Oct 9,...
Definition: cs_Event.h:26
CommandHandlerTypes
Author: Crownstone Team Copyright: Crownstone (https://crownstone.rocks) Date: Jun 3,...
Definition: cs_CommandTypes.h:10
@ CTRL_CMD_NONE
Definition: cs_CommandTypes.h:85
EncryptionAccessLevel
Packets (structs) that are used over the air, over uart, or stored in flash.
Definition: cs_Packets.h:36
CS_TYPE
Types:
Definition: cs_Types.h:79
Board configuration.
Definition: cs_Boards.h:169
Struct that tells where a command originated from.
Definition: cs_CmdSource.h:54
Definition: cs_PacketsInternal.h:71
Packets (structs) that are used internally in the firmware, and can be changed freely.
Definition: cs_PacketsInternal.h:27
Definition: cs_PacketsInternal.h:46