Bluenet  5.7.0
Bluenet, firmware for nRF52 smart home devices
Loading...
Searching...
No Matches
cs_UartOpcodes.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  UartProtocol
 

Enumerations

enum  UartOpcodeRx {
  UART_OPCODE_RX_HELLO = 0 , UART_OPCODE_RX_SESSION_NONCE = 1 , UART_OPCODE_RX_HEARTBEAT = 2 , UART_OPCODE_RX_STATUS = 3 ,
  UART_OPCODE_RX_GET_MAC = 4 , UART_OPCODE_RX_CONTROL = 10 , UART_OPCODE_RX_HUB_DATA_REPLY = 11 , UART_OPCODE_RX_ENABLE_ADVERTISEMENT = 50000 ,
  UART_OPCODE_RX_ENABLE_MESH = 50001 , UART_OPCODE_RX_GET_ID = 50002 , UART_OPCODE_RX_ADC_CONFIG_INC_RANGE_CURRENT = 50103 , UART_OPCODE_RX_ADC_CONFIG_DEC_RANGE_CURRENT = 50104 ,
  UART_OPCODE_RX_ADC_CONFIG_INC_RANGE_VOLTAGE = 50105 , UART_OPCODE_RX_ADC_CONFIG_DEC_RANGE_VOLTAGE = 50106 , UART_OPCODE_RX_ADC_CONFIG_DIFFERENTIAL_CURRENT , UART_OPCODE_RX_ADC_CONFIG_DIFFERENTIAL_VOLTAGE ,
  UART_OPCODE_RX_ADC_CONFIG_VOLTAGE_PIN = 50110 , UART_OPCODE_RX_POWER_LOG_CURRENT = 50200 , UART_OPCODE_RX_POWER_LOG_VOLTAGE = 50201 , UART_OPCODE_RX_POWER_LOG_FILTERED_CURRENT ,
  UART_OPCODE_RX_POWER_LOG_POWER = 50204 , UART_OPCODE_RX_INJECT_EVENT = 60000
}
 Author: Crownstone Team Copyright: Crownstone (https://crownstone.rocks) Date: Jun 18, 2020 License: LGPLv3+, Apache License 2.0, and/or MIT (triple-licensed) More...
 
enum  UartOpcodeTx {
  UART_OPCODE_TX_HELLO = 0 , UART_OPCODE_TX_SESSION_NONCE = 1 , UART_OPCODE_TX_HEARTBEAT = 2 , UART_OPCODE_TX_STATUS = 3 ,
  UART_OPCODE_TX_MAC = 4 , UART_OPCODE_TX_CONTROL_RESULT = 10 , UART_OPCODE_TX_HUB_DATA_REPLY_ACK = 11 , UART_OPCODE_TX_ERR_REPLY_PARSING_FAILED ,
  UART_OPCODE_TX_ERR_REPLY_STATUS = 9901 , UART_OPCODE_TX_ERR_REPLY_SESSION_NONCE_MISSING = 9902 , UART_OPCODE_TX_ERR_REPLY_DECRYPTION_FAILED = 9903 , UART_OPCODE_TX_BLE_MSG = 10000 ,
  UART_OPCODE_TX_SESSION_NONCE_MISSING = 10001 , UART_OPCODE_TX_SERVICE_DATA = 10002 , UART_OPCODE_TX_PRESENCE_CHANGE = 10004 , UART_OPCODE_TX_FACTORY_RESET = 10005 ,
  UART_OPCODE_TX_BOOTED = 10006 , UART_OPCODE_TX_HUB_DATA = 10007 , UART_OPCODE_TX_MICROAPP_DATA = 10008 , UART_OPCODE_TX_MESH_STATE = 10102 ,
  UART_OPCODE_TX_MESH_STATE_PART_0 , UART_OPCODE_TX_MESH_STATE_PART_1 , UART_OPCODE_TX_MESH_RESULT , UART_OPCODE_TX_MESH_ACK_ALL_RESULT = 10106 ,
  UART_OPCODE_TX_RSSI_DATA_MESSAGE = 10107 , UART_OPCODE_TX_ASSET_INFO_MAC , UART_OPCODE_TX_NEIGHBOUR_RSSI = 10111 , UART_OPCODE_TX_ASSET_INFO_ID ,
  UART_OPCODE_TX_LOG = 10200 , UART_OPCODE_TX_LOG_ARRAY = 10201 , UART_OPCODE_TX_EVT = 40000 , UART_OPCODE_TX_MESH_CMD_TIME = 40103 ,
  UART_OPCODE_TX_MESH_PROFILE_LOCATION , UART_OPCODE_TX_MESH_SET_BEHAVIOUR_SETTINGS , UART_OPCODE_TX_MESH_TRACKED_DEVICE_REGISTER , UART_OPCODE_TX_MESH_TRACKED_DEVICE_TOKEN ,
  UART_OPCODE_TX_MESH_SYNC_REQUEST = 40114 , UART_OPCODE_TX_MESH_TRACKED_DEVICE_HEARTBEAT , UART_OPCODE_TX_ADVERTISEMENT_ENABLED = 50000 , UART_OPCODE_TX_MESH_ENABLED = 50001 ,
  UART_OPCODE_TX_OWN_ID = 50002 , UART_OPCODE_TX_ADC_CONFIG = 50100 , UART_OPCODE_TX_ADC_RESTART = 50101 , UART_OPCODE_TX_POWER_LOG_CURRENT = 50200 ,
  UART_OPCODE_TX_POWER_LOG_VOLTAGE = 50201 , UART_OPCODE_TX_POWER_LOG_FILTERED_CURRENT = 50202 , UART_OPCODE_TX_POWER_LOG_FILTERED_VOLTAGE = 50203 , UART_OPCODE_TX_POWER_LOG_POWER = 50204 ,
  UART_OPCODE_TX_TEXT = 60000 , UART_OPCODE_TX_FIRMWARESTATE = 60001
}
 Send messages over the UART to someone listening. More...
 
enum  UartProtocol::Encrypt { UartProtocol::ENCRYPT_NEVER = 0 , UartProtocol::ENCRYPT_IF_ENABLED = 1 , UartProtocol::ENCRYPT_OR_FAIL = 2 , UartProtocol::ENCRYPT_ACCORDING_TO_TYPE = 3 }
 Option whether a UART message should be encrypted. More...
 

Functions

constexpr bool UartProtocol::mustBeEncryptedRx (UartOpcodeRx opCode)
 Whether a received UART message must be encrypted when "encryption required" is true (when a UART key is set). More...
 
constexpr bool UartProtocol::mustBeEncryptedTx (UartOpcodeTx opCode)
 Whether a written UART message must be encrypted when "encryption required" is true (when a UART key is set). More...
 

Enumeration Type Documentation

◆ UartOpcodeRx

Author: Crownstone Team Copyright: Crownstone (https://crownstone.rocks) Date: Jun 18, 2020 License: LGPLv3+, Apache License 2.0, and/or MIT (triple-licensed)

Messages received over UART. Note that the documentation on github is from the perspective of the user. https://github.com/crownstone/bluenet/blob/master/docs/UART_PROTOCOL.md Hence, what is called RX here is called TX there.

Enumerator
UART_OPCODE_RX_HELLO 
UART_OPCODE_RX_SESSION_NONCE 
UART_OPCODE_RX_HEARTBEAT 
UART_OPCODE_RX_STATUS 
UART_OPCODE_RX_GET_MAC 
UART_OPCODE_RX_CONTROL 
UART_OPCODE_RX_HUB_DATA_REPLY 
UART_OPCODE_RX_ENABLE_ADVERTISEMENT 
UART_OPCODE_RX_ENABLE_MESH 
UART_OPCODE_RX_GET_ID 
UART_OPCODE_RX_ADC_CONFIG_INC_RANGE_CURRENT 
UART_OPCODE_RX_ADC_CONFIG_DEC_RANGE_CURRENT 
UART_OPCODE_RX_ADC_CONFIG_INC_RANGE_VOLTAGE 
UART_OPCODE_RX_ADC_CONFIG_DEC_RANGE_VOLTAGE 
UART_OPCODE_RX_ADC_CONFIG_DIFFERENTIAL_CURRENT 
UART_OPCODE_RX_ADC_CONFIG_DIFFERENTIAL_VOLTAGE 
UART_OPCODE_RX_ADC_CONFIG_VOLTAGE_PIN 
UART_OPCODE_RX_POWER_LOG_CURRENT 
UART_OPCODE_RX_POWER_LOG_VOLTAGE 
UART_OPCODE_RX_POWER_LOG_FILTERED_CURRENT 
UART_OPCODE_RX_POWER_LOG_POWER 
UART_OPCODE_RX_INJECT_EVENT 

◆ UartOpcodeTx

Send messages over the UART to someone listening.

RX on https://github.com/crownstone/bluenet/blob/master/docs/UART_PROTOCOL.md.

Enumerator
UART_OPCODE_TX_HELLO 
UART_OPCODE_TX_SESSION_NONCE 
UART_OPCODE_TX_HEARTBEAT 
UART_OPCODE_TX_STATUS 
UART_OPCODE_TX_MAC 
UART_OPCODE_TX_CONTROL_RESULT 
UART_OPCODE_TX_HUB_DATA_REPLY_ACK 
UART_OPCODE_TX_ERR_REPLY_PARSING_FAILED 
UART_OPCODE_TX_ERR_REPLY_STATUS 
UART_OPCODE_TX_ERR_REPLY_SESSION_NONCE_MISSING 
UART_OPCODE_TX_ERR_REPLY_DECRYPTION_FAILED 
UART_OPCODE_TX_BLE_MSG 
UART_OPCODE_TX_SESSION_NONCE_MISSING 
UART_OPCODE_TX_SERVICE_DATA 
UART_OPCODE_TX_PRESENCE_CHANGE 
UART_OPCODE_TX_FACTORY_RESET 
UART_OPCODE_TX_BOOTED 
UART_OPCODE_TX_HUB_DATA 
UART_OPCODE_TX_MICROAPP_DATA 
UART_OPCODE_TX_MESH_STATE 
UART_OPCODE_TX_MESH_STATE_PART_0 
UART_OPCODE_TX_MESH_STATE_PART_1 
UART_OPCODE_TX_MESH_RESULT 
UART_OPCODE_TX_MESH_ACK_ALL_RESULT 
UART_OPCODE_TX_RSSI_DATA_MESSAGE 
UART_OPCODE_TX_ASSET_INFO_MAC 
UART_OPCODE_TX_NEIGHBOUR_RSSI 
UART_OPCODE_TX_ASSET_INFO_ID 
UART_OPCODE_TX_LOG 
UART_OPCODE_TX_LOG_ARRAY 
UART_OPCODE_TX_EVT 
UART_OPCODE_TX_MESH_CMD_TIME 
UART_OPCODE_TX_MESH_PROFILE_LOCATION 
UART_OPCODE_TX_MESH_SET_BEHAVIOUR_SETTINGS 
UART_OPCODE_TX_MESH_TRACKED_DEVICE_REGISTER 
UART_OPCODE_TX_MESH_TRACKED_DEVICE_TOKEN 
UART_OPCODE_TX_MESH_SYNC_REQUEST 
UART_OPCODE_TX_MESH_TRACKED_DEVICE_HEARTBEAT 
UART_OPCODE_TX_ADVERTISEMENT_ENABLED 
UART_OPCODE_TX_MESH_ENABLED 
UART_OPCODE_TX_OWN_ID 
UART_OPCODE_TX_ADC_CONFIG 
UART_OPCODE_TX_ADC_RESTART 
UART_OPCODE_TX_POWER_LOG_CURRENT 
UART_OPCODE_TX_POWER_LOG_VOLTAGE 
UART_OPCODE_TX_POWER_LOG_FILTERED_CURRENT 
UART_OPCODE_TX_POWER_LOG_FILTERED_VOLTAGE 
UART_OPCODE_TX_POWER_LOG_POWER 
UART_OPCODE_TX_TEXT 
UART_OPCODE_TX_FIRMWARESTATE