60constexpr auto to_underlying_type(T e)
noexcept -> std::enable_if_t<std::is_enum<T>::value, std::underlying_type_t<T>> {
61 return static_cast<std::underlying_type_t<T>
>(e);
476#define TYPIFY(NAME) NAME##_TYPE
481#define CS_TYPE_CAST(EVT_NAME, PTR) reinterpret_cast<TYPIFY(EVT_NAME)*>(PTR)
Definition: cs_TrackableEvent.h:12
Describes a recent change event of the behaviour store.
Definition: cs_BehaviourMutation.h:14
Definition: cs_MeshMsgEvent.h:71
std::array< uint8_t, WireFormat::size< Behaviour >()+WireFormat::size< PresenceCondition >()> SerializedDataType
Definition: cs_SwitchBehaviour.h:31
EncryptionAccessLevel
Packets (structs) that are used over the air, over uart, or stored in flash.
Definition: cs_Packets.h:36
uint32_t cs_mesh_seq_number_t
Definition: cs_Packets.h:419
uint16_t size16_t
Definition: cs_Typedefs.h:25
uint8_t cs_state_id_t
Definition: cs_Typedefs.h:28
uint8_t stone_id_t
Definition: cs_Typedefs.h:23
uint16_t cs_ret_code_t
Definition: cs_Typedefs.h:21
uint8_t BOOL
Boolean with fixed size.
Definition: cs_Typedefs.h:27
EncryptionAccessLevel getUserAccessLevelGet(CS_TYPE const &type)
Gives the required access level to get a state type.
ResetCode
Definition: cs_Types.h:448
@ CS_RESET_CODE_SOFT_RESET
Definition: cs_Types.h:449
@ CS_RESET_CODE_GO_TO_DFU_MODE
Definition: cs_Types.h:450
OperationMode
Definition: cs_Types.h:440
@ OPERATION_MODE_FACTORY_RESET
@ OPERATION_MODE_UNINITIALIZED
bool hasMultipleIds(CS_TYPE const &type)
Check if type can have multiple IDs.
size16_t TypeSize(CS_TYPE const &type)
The size of a particular default value.
static const cs_file_id_t FILE_DO_NOT_USE
Definition: cs_Types.h:460
#define TYPIFY(NAME)
Definition: cs_Types.h:476
bool removeOnFactoryReset(CS_TYPE const &type, cs_state_id_t id)
Check if type should be removed on factory reset.
static const cs_file_id_t FILE_CONFIGURATION
Definition: cs_Types.h:462
EncryptionAccessLevel getUserAccessLevelSet(CS_TYPE const &type)
Gives the required access level to set a state type.
constexpr auto to_underlying_type(T e) noexcept -> std::enable_if_t< std::is_enum< T >::value, std::underlying_type_t< T > >
Cast to underlying type.
Definition: cs_Types.h:60
CS_TYPE
Types:
Definition: cs_Types.h:79
@ CONFIG_KEY_LOCALIZATION
@ EVT_DIMMER_OFF_FAILURE_DETECTED
@ EVT_FILTER_MODIFICATION
@ EVT_MESH_TOPO_MAC_RESULT
@ EVT_STORAGE_PAGES_ERASED
@ STATE_ACCUMULATED_ENERGY
@ EVT_BLE_CENTRAL_CONNECT_CLEARANCE_REQUEST
@ STATE_SWITCHCRAFT_DOUBLE_TAP_ENABLED
@ EVT_MESH_TRACKED_DEVICE_TOKEN
@ STATE_ASSET_FILTERS_VERSION
@ CONFIG_PWM_TEMP_VOLTAGE_THRESHOLD_UP
@ CONFIG_START_DIMMER_ON_ZERO_CROSSING
@ EVT_CURRENT_USAGE_ABOVE_THRESHOLD_DIMMER
@ EVT_STORAGE_REMOVE_DONE
@ CONFIG_SOFT_FUSE_CURRENT_THRESHOLD_DIMMER
@ EVT_MESH_TRACKED_DEVICE_REGISTER
@ CMD_ENABLE_ADVERTISEMENT
@ EVT_MESH_SYNC_REQUEST_OUTGOING
@ EVT_MESH_SYNC_REQUEST_INCOMING
@ CMD_SEND_MESH_MSG_PROFILE_LOCATION
@ CONFIG_CURRENT_ADC_ZERO
@ EVT_DIMMER_TEMP_ABOVE_THRESHOLD
@ CONFIG_VOLTAGE_ADC_ZERO
@ CMD_TRACKED_DEVICE_HEARTBEAT
@ CONFIG_SCAN_INTERVAL_625US
@ EVT_STORAGE_REMOVE_ALL_TYPES_WITH_ID_DONE
@ CMD_UPDATE_TRACKED_DEVICE
@ EVT_BEHAVIOUR_OVERRIDDEN
@ STATE_EXTENDED_BEHAVIOUR_RULE
@ CONFIG_TAP_TO_TOGGLE_RSSI_THRESHOLD_OFFSET
@ CMD_COMMIT_FILTER_CHANGES
@ EVT_STORAGE_INITIALIZED
@ CONFIG_TAP_TO_TOGGLE_ENABLED
@ CMD_SEND_MESH_MSG_TRACKED_DEVICE_HEARTBEAT
@ EVT_CS_CENTRAL_READ_RESULT
@ CONFIG_KEY_SERVICE_DATA
@ CMD_REGISTER_TRACKED_DEVICE
@ STATE_MESH_SEQ_NUMBER_V5
@ CMD_TOGGLE_ADC_VOLTAGE_VDD_REFERENCE_PIN
@ CONFIG_SWITCHCRAFT_ENABLED
@ CMD_SEND_MESH_MSG_TRACKED_DEVICE_LIST_SIZE
@ CMD_GET_BEHAVIOUR_DEBUG
@ CMD_BLE_CENTRAL_DISCONNECT
@ EVT_ADV_BACKGROUND_PARSED
@ CMD_BLE_CENTRAL_DISCOVER
@ CONFIG_SCAN_WINDOW_625US
@ EVT_DIMMER_ON_FAILURE_DETECTED
@ CMD_SEND_MESH_MSG_MULTI_SWITCH
@ EVT_CS_CENTRAL_WRITE_RESULT
@ CONFIG_VOLTAGE_MULTIPLIER
@ CMD_GET_FILTER_SUMMARIES
@ CMD_STORAGE_GARBAGE_COLLECT
@ CONFIG_CURRENT_MULTIPLIER
@ EVT_STATE_EXTERNAL_STONE
@ EVT_MICROAPP_FACTORY_RESET_DONE
@ EVT_BLE_CENTRAL_NOTIFICATION
@ CMD_SEND_MESH_MSG_TRACKED_DEVICE_TOKEN
@ EVT_BLE_CENTRAL_READ_RESULT
@ EVT_STATE_FACTORY_RESET_DONE
@ CMD_CS_CENTRAL_GET_WRITE_BUF
@ EVT_BLE_CENTRAL_DISCOVERY
@ CMD_BLE_CENTRAL_CONNECT
@ CMD_ENABLE_LOG_FILTERED_CURRENT
@ EVT_ADVERTISEMENT_UPDATED
@ EVT_MESH_FACTORY_RESET_DONE
@ CONFIG_PWM_TEMP_VOLTAGE_THRESHOLD_DOWN
@ EVT_ADV_BACKGROUND_PARSED_V1
@ EVT_STORAGE_FACTORY_RESET_DONE
@ EVT_BEHAVIOURSTORE_MUTATION
@ EVT_BLE_CENTRAL_DISCONNECTED
@ EVT_BLE_CENTRAL_WRITE_RESULT
@ CMD_SEND_MESH_MSG_TRACKED_DEVICE_REGISTER
@ CMD_CLEAR_ALL_BEHAVIOUR
@ CMD_SEND_ASYNC_RESULT_TO_BLE
@ STATE_IBEACON_CONFIG_ID
@ CMD_SEND_MESH_MSG_SET_BEHAVIOUR_SETTINGS
@ EVT_CHIP_TEMP_ABOVE_THRESHOLD
@ CONFIG_SCAN_BREAK_DURATION
@ CMD_SEND_MESH_MSG_SET_TIME
@ CMD_SET_IBEACON_CONFIG_ID
@ STATE_BEHAVIOUR_MASTER_HASH
@ EVT_RECEIVED_PROFILE_LOCATION
@ EVT_MESH_TRACKED_DEVICE_HEARTBEAT
@ STATE_BEHAVIOUR_SETTINGS
@ CMD_SEND_MESH_CONTROL_COMMAND
@ CMD_ENABLE_ADC_DIFFERENTIAL_VOLTAGE
@ EVT_BLE_CENTRAL_CONNECT_RESULT
@ CONFIG_SWITCHCRAFT_THRESHOLD
@ EVT_BLE_CENTRAL_DISCOVERY_RESULT
@ CONFIG_ENCRYPTION_ENABLED
@ CMD_GET_SCHEDULER_MIN_FREE
@ EVT_MESH_TRACKED_DEVICE_LIST_SIZE
@ CONFIG_RELAY_HIGH_DURATION
@ CONFIG_SOFT_FUSE_CURRENT_THRESHOLD
@ CMD_RESOLVE_ASYNC_CONTROL_COMMAND
@ EVT_CURRENT_USAGE_ABOVE_THRESHOLD
@ STATE_DEFAULT_DIM_VALUE
@ EVT_CS_CENTRAL_CONNECT_RESULT
@ CMD_GET_ADC_CHANNEL_SWAPS
@ CMD_GET_BEHAVIOUR_INDICES
@ EVT_BLE_CENTRAL_CONNECT_CLEARANCE_REPLY
@ CMD_CS_CENTRAL_DISCONNECT
@ CMD_ENABLE_ADC_DIFFERENTIAL_CURRENT
CS_TYPE toCsType(uint16_t type)
static const cs_file_id_t FILE_KEEP_FOREVER
Definition: cs_Types.h:461
uint16_t cs_file_id_t
Definition: cs_Types.h:458
TypeBases
Author: Crownstone Team Copyright: Crownstone (https://crownstone.rocks) Date: Apr 23,...
Definition: cs_Types.h:30
@ InternalBaseTests
Definition: cs_Types.h:47
@ InternalBaseLocalisation
Definition: cs_Types.h:45
@ InternalBaseStorage
Definition: cs_Types.h:40
@ InternalBaseSwitch
Definition: cs_Types.h:37
@ InternalBaseBluetooth
Definition: cs_Types.h:36
@ State_Base
Definition: cs_Types.h:31
@ InternalBaseMesh
Definition: cs_Types.h:43
@ InternalBaseLogging
Definition: cs_Types.h:41
@ InternalBasePower
Definition: cs_Types.h:38
@ InternalBaseBehaviour
Definition: cs_Types.h:44
@ InternalBaseSystem
Definition: cs_Types.h:46
@ InternalBaseErrors
Definition: cs_Types.h:39
@ InternalBaseADC
Definition: cs_Types.h:42
@ InternalBase
Definition: cs_Types.h:32
Parsed background advertisement.
Definition: cs_PacketsInternal.h:241
Definition: cs_PacketsInternal.h:249
Unparsed background advertisement.
Definition: cs_PacketsInternal.h:229
Definition: cs_AssetFilterPackets.h:34
Definition: cs_AssetFilterPackets.h:29
Definition: cs_AssetFilterPackets.h:20
Definition: cs_AssetFilterPackets.h:102
Definition: cs_BleCentralPackets.h:17
Definition: cs_BleCentralPackets.h:22
Describes a service or characteristic that has been discovered.
Definition: cs_BleCentralPackets.h:41
Definition: cs_BleCentralPackets.h:76
Definition: cs_BleCentralPackets.h:70
Definition: cs_BleCentralPackets.h:27
Definition: cs_BleCentralPackets.h:65
Definition: cs_BleCentralPackets.h:31
Definition: cs_PacketsInternal.h:214
Definition: cs_PacketsInternal.h:140
Definition: cs_PacketsInternal.h:71
Definition: cs_CrownstoneCentralPackets.h:17
Result of writing a control command.
Definition: cs_CrownstoneCentralPackets.h:38
Definition: cs_CrownstoneCentralPackets.h:23
Definition: cs_PacketsInternal.h:414
Definition: cs_PacketsInternal.h:428
Definition: cs_PacketsInternal.h:434
Definition: cs_PacketsInternal.h:422
Same as mesh_opt_iv_index_persist_data_legacy_t.
Definition: cs_Packets.h:413
Same as mesh_opt_iv_index_persist_data_t.
Definition: cs_Packets.h:430
Definition: cs_MeshModelPackets.h:155
Definition: cs_MeshModelPackets.h:161
Definition: cs_MeshModelPackets.h:140
Definition: cs_MeshModelPackets.h:149
Definition: cs_MeshModelPackets.h:114
Definition: cs_MeshModelPackets.h:165
Struct to communicate a mesh message.
Definition: cs_PacketsInternal.h:194
Same as mesh_opt_seqnum_persist_data_t.
Definition: cs_Packets.h:440
Definition: cs_Packets.h:477
Definition: cs_PacketsInternal.h:394
Definition: cs_PacketsInternal.h:407
Definition: cs_PacketsInternal.h:400
Definition: cs_Types.h:464
cs_state_id_t id
Definition: cs_Types.h:466
CS_TYPE type
Definition: cs_Types.h:465
Definition: cs_Typedefs.h:45
Packet to change ibeacon config ID.
Definition: cs_Packets.h:314
A single multi switch command.
Definition: cs_PacketsInternal.h:124
A single multi switch packet, with target id.
Definition: cs_PacketsInternal.h:131
Definition: cs_PacketsInternal.h:271
Definition: cs_PacketsInternal.h:278
Mesh control command packet.
Definition: cs_PacketsInternal.h:151
Definition: cs_Packets.h:400
Definition: cs_Packets.h:405
Definition: cs_PacketsInternal.h:389
Definition: cs_PacketsInternal.h:372
Definition: cs_PacketsInternal.h:384
State of tests of a microapp, also stored in flash.
Definition: cs_MicroappPackets.h:108
Definition: cs_PacketsInternal.h:379
Definition: cs_PacketsInternal.h:264
Definition: cs_Types.h:453
uint8_t resetCode
Definition: cs_Types.h:454
uint16_t delayMs
Definition: cs_Types.h:455
Scanned device.
Definition: cs_PacketsInternal.h:107
Definition: cs_Packets.h:71
Definition: cs_Packets.h:320
Struct to communicate received state of other stones.
Definition: cs_PacketsInternal.h:210
Definition: cs_Packets.h:300
event sent over the internal event bus upon reception of new mesh time stamp msg.
Definition: cs_TimeSyncMessage.h:26
Behaviour settings.
Definition: cs_Packets.h:207
State errors: collection of errors that influence the switch behaviour.
Definition: cs_Packets.h:192
Switch state: combination of relay and dimmer state.
Definition: cs_Packets.h:219