Wirepas SDK
csap_frames.h File Reference

Go to the source code of this file.

Typedefs

typedef uint8_t radio_channel_t
 

Data Structures

struct  csap_attr_key_pair_t
 
struct  csap_reset_req_t
 
union  frame_csap
 
struct  csap_attr_key_pair_t.key_pair
 

Enumerations

enum  attribute_reset_result_e { ATTR_RESET_OK = 0, ATTR_RESET_INVALID_STATE = 1 }
 
enum  csap_attr_e {
  CSAP_ATTR_NODE_ID = 1, CSAP_ATTR_NETWORK_ADDR = 2, CSAP_ATTR_NETWORK_CHANNEL = 3, CSAP_ATTR_NODE_ROLE = 4,
  CSAP_ATTR_CIPHER_KEY = 13, CSAP_ATTR_AUTHENTICATION_KEY = 14, CSAP_ATTR_OFFLINE_SCAN = 20, CSAP_ATTR_RESERVED_3 = 21,
  CSAP_ATTR_FEATURE_LOCK_BITS = 22, CSAP_ATTR_FEATURE_LOCK_KEY = 23, CSAP_ATTR_RESERVED_2 = 24, CSAP_ATTR_RESERVED_CHANNELS = 25,
  CSAP_ATTR_APP_MAXT_TRANS_UNIT = 5, CSAP_ATTR_PDU_BUFF_SIZE = 6, CSAP_ATTR_SCRATCHPAD_SEQ = 7, CSAP_ATTR_WAPS_VERSION = 8,
  CSAP_ATTR_FIRMWARE_MAJOR = 9, CSAP_ATTR_FIRMWARE_MINOR = 10, CSAP_ATTR_FIRMWARE_MAINTENANCE = 11, CSAP_ATTR_FIRMWARE_DEVELOPMENT = 12,
  CSAP_ATTR_CHANNEL_LIMITS = 15, CSAP_ATTR_APPCFG_MAX_SIZE = 16, CSAP_ATTR_HWMAGIC = 17, CSAP_ATTR_STACK_PROFILE = 18,
  CSAP_ATTR_RESERVED_1 = 19, CSAP_ATTR_NETWORK_KEY_PAIR = 26, CSAP_ATTR_MANAGEMENT_KEY_PAIR = 27
}
 
enum  csap_attr_size_e {
  CSAP_ATTR_NODE_ID_SIZE = sizeof(w_addr_t), CSAP_ATTR_NETWORK_CHANNEL_SIZE = sizeof(radio_channel_t), CSAP_ATTR_NETWORK_ADDRESS_SIZE = 3u, CSAP_ATTR_NODE_ROLE_SIZE = 1,
  CSAP_ATTR_APDU_SIZE_SIZE = 1, CSAP_ATTR_PDU_BUFF_SIZE_SIZE = 1, CSAP_ATTR_SCRATCHPAD_SEQ_SIZE = sizeof(otap_seq_t), CSAP_ATTR_WAPS_VERSION_SIZE = 2,
  CSAP_ATTR_FIRMWARE_MAJOR_SIZE = 2, CSAP_ATTR_FIRMWARE_MINOR_SIZE = 2, CSAP_ATTR_FIRMWARE_MAINTENANCE_SIZE = 2, CSAP_ATTR_FIRMWARE_DEVELOPMENT_SIZE = 2,
  CSAP_ATTR_CIPHER_KEY_SIZE = 16, CSAP_ATTR_AUTHENTICATION_KEY_SIZE = 16, CSAP_ATTR_CHANNEL_LIMIT_SIZE = 2, CSAP_ATTR_APPCFG_MAX_SIZE_SIZE = 1,
  CSAP_ATTR_HWMAGIC_SIZE = 2, CSAP_ATTR_STACK_PROFILE_SIZE = 2, CSAP_ATTR_OFFLINE_SCAN_SIZE = 2, CSAP_ATTR_RESERVED_3_SIZE = 0,
  CSAP_ATTR_FEATURE_LOCK_BITS_SIZE = 4, CSAP_ATTR_FEATURE_LOCK_KEY_SIZE = 16, CSAP_ATTR_RESERVED_CHANNELS_SIZE = 0, CSAP_ATTR_RESERVED_1_SIZE = 0,
  CSAP_ATTR_RESERVED_2_SIZE = 0, CSAP_ATTR_KEY_PAIR_SIZE = sizeof(csap_attr_key_pair_t)
}
 
enum  csap_reset_e { CSAP_RESET_OK = ATTR_RESET_OK, CSAP_RESET_INVALID_STATE = ATTR_RESET_INVALID_STATE, CSAP_RESET_INVALID_KEY = 2, CSAP_RESET_ACCESS_DENIED = 3 }
 

Macros

#define RADIO_ADDRESS_WIDTH   3u
 

Typedef Documentation

◆ radio_channel_t

typedef uint8_t radio_channel_t

Definition at line 11 of file csap_frames.h.


Data Structure Documentation

◆ csap_attr_key_pair_t

struct csap_attr_key_pair_t

Definition at line 15 of file csap_frames.h.

Data Fields
struct csap_attr_key_pair_t key_pair
uint8_t sequence_number

Sequence number, 1-255

◆ csap_reset_req_t

struct csap_reset_req_t

Definition at line 103 of file csap_frames.h.

Data Fields
uint32_t reset_key

The purpose of the key is to make it a bit harder to accidentally reset the stored values.

◆ frame_csap

union frame_csap

Definition at line 112 of file csap_frames.h.

Data Fields
csap_reset_req_t reset_req

◆ csap_attr_key_pair_t.key_pair

struct csap_attr_key_pair_t.key_pair

Definition at line 17 of file csap_frames.h.

Data Fields
const uint8_t authentication[16]
const uint8_t encryption[16]

Enumeration Type Documentation

◆ attribute_reset_result_e

Enumerator
ATTR_RESET_OK 
ATTR_RESET_INVALID_STATE 

Definition at line 30 of file csap_frames.h.

◆ csap_attr_e

CSAP attributes

Enumerator
CSAP_ATTR_NODE_ID 
CSAP_ATTR_NETWORK_ADDR 
CSAP_ATTR_NETWORK_CHANNEL 
CSAP_ATTR_NODE_ROLE 
CSAP_ATTR_CIPHER_KEY 
CSAP_ATTR_AUTHENTICATION_KEY 
CSAP_ATTR_OFFLINE_SCAN 
CSAP_ATTR_RESERVED_3 
CSAP_ATTR_FEATURE_LOCK_BITS 
CSAP_ATTR_FEATURE_LOCK_KEY 
CSAP_ATTR_RESERVED_2 
CSAP_ATTR_RESERVED_CHANNELS 
CSAP_ATTR_APP_MAXT_TRANS_UNIT 
CSAP_ATTR_PDU_BUFF_SIZE 
CSAP_ATTR_SCRATCHPAD_SEQ 
CSAP_ATTR_WAPS_VERSION 
CSAP_ATTR_FIRMWARE_MAJOR 
CSAP_ATTR_FIRMWARE_MINOR 
CSAP_ATTR_FIRMWARE_MAINTENANCE 
CSAP_ATTR_FIRMWARE_DEVELOPMENT 
CSAP_ATTR_CHANNEL_LIMITS 
CSAP_ATTR_APPCFG_MAX_SIZE 
CSAP_ATTR_HWMAGIC 
CSAP_ATTR_STACK_PROFILE 
CSAP_ATTR_RESERVED_1 
CSAP_ATTR_NETWORK_KEY_PAIR 
CSAP_ATTR_MANAGEMENT_KEY_PAIR 

Definition at line 37 of file csap_frames.h.

◆ csap_attr_size_e

CSAP attributes lengths

Enumerator
CSAP_ATTR_NODE_ID_SIZE 
CSAP_ATTR_NETWORK_CHANNEL_SIZE 
CSAP_ATTR_NETWORK_ADDRESS_SIZE 
CSAP_ATTR_NODE_ROLE_SIZE 
CSAP_ATTR_APDU_SIZE_SIZE 
CSAP_ATTR_PDU_BUFF_SIZE_SIZE 
CSAP_ATTR_SCRATCHPAD_SEQ_SIZE 
CSAP_ATTR_WAPS_VERSION_SIZE 
CSAP_ATTR_FIRMWARE_MAJOR_SIZE 
CSAP_ATTR_FIRMWARE_MINOR_SIZE 
CSAP_ATTR_FIRMWARE_MAINTENANCE_SIZE 
CSAP_ATTR_FIRMWARE_DEVELOPMENT_SIZE 
CSAP_ATTR_CIPHER_KEY_SIZE 
CSAP_ATTR_AUTHENTICATION_KEY_SIZE 
CSAP_ATTR_CHANNEL_LIMIT_SIZE 
CSAP_ATTR_APPCFG_MAX_SIZE_SIZE 
CSAP_ATTR_HWMAGIC_SIZE 
CSAP_ATTR_STACK_PROFILE_SIZE 
CSAP_ATTR_OFFLINE_SCAN_SIZE 
CSAP_ATTR_RESERVED_3_SIZE 
CSAP_ATTR_FEATURE_LOCK_BITS_SIZE 
CSAP_ATTR_FEATURE_LOCK_KEY_SIZE 
CSAP_ATTR_RESERVED_CHANNELS_SIZE 
CSAP_ATTR_RESERVED_1_SIZE 
CSAP_ATTR_RESERVED_2_SIZE 
CSAP_ATTR_KEY_PAIR_SIZE 

Definition at line 72 of file csap_frames.h.

◆ csap_reset_e

Enumerator
CSAP_RESET_OK 
CSAP_RESET_INVALID_STATE 
CSAP_RESET_INVALID_KEY 
CSAP_RESET_ACCESS_DENIED 

Definition at line 117 of file csap_frames.h.

118 {
119  // Expand to include the "DoIt" key
124 } csap_reset_e;

Macro Definition Documentation

◆ RADIO_ADDRESS_WIDTH

#define RADIO_ADDRESS_WIDTH   3u

Network address width, acceptable value range 2-4.

Definition at line 28 of file csap_frames.h.

CSAP_ATTR_STACK_PROFILE_SIZE
@ CSAP_ATTR_STACK_PROFILE_SIZE
Definition: csap_frames.h:91
CSAP_ATTR_HWMAGIC_SIZE
@ CSAP_ATTR_HWMAGIC_SIZE
Definition: csap_frames.h:90
CSAP_ATTR_OFFLINE_SCAN
@ CSAP_ATTR_OFFLINE_SCAN
Definition: csap_frames.h:46
csap_attr_key_pair_t
Definition: csap_frames.h:15
csap_attr_size_e
csap_attr_size_e
Definition: csap_frames.h:72
CSAP_ATTR_OFFLINE_SCAN_SIZE
@ CSAP_ATTR_OFFLINE_SCAN_SIZE
Definition: csap_frames.h:92
otap_seq_t
uint8_t otap_seq_t
Type for OTAP sequence number.
Definition: msap_frames.h:25
CSAP_ATTR_HWMAGIC
@ CSAP_ATTR_HWMAGIC
Definition: csap_frames.h:63
CSAP_ATTR_PDU_BUFF_SIZE
@ CSAP_ATTR_PDU_BUFF_SIZE
Definition: csap_frames.h:54
CSAP_ATTR_FEATURE_LOCK_KEY_SIZE
@ CSAP_ATTR_FEATURE_LOCK_KEY_SIZE
Definition: csap_frames.h:95
CSAP_ATTR_WAPS_VERSION
@ CSAP_ATTR_WAPS_VERSION
Definition: csap_frames.h:56
CSAP_ATTR_CIPHER_KEY
@ CSAP_ATTR_CIPHER_KEY
Definition: csap_frames.h:44
CSAP_ATTR_FEATURE_LOCK_KEY
@ CSAP_ATTR_FEATURE_LOCK_KEY
Definition: csap_frames.h:49
CSAP_ATTR_APPCFG_MAX_SIZE
@ CSAP_ATTR_APPCFG_MAX_SIZE
Definition: csap_frames.h:62
CSAP_ATTR_FIRMWARE_DEVELOPMENT_SIZE
@ CSAP_ATTR_FIRMWARE_DEVELOPMENT_SIZE
Definition: csap_frames.h:85
CSAP_ATTR_FIRMWARE_MAINTENANCE_SIZE
@ CSAP_ATTR_FIRMWARE_MAINTENANCE_SIZE
Definition: csap_frames.h:84
CSAP_ATTR_FIRMWARE_MAJOR
@ CSAP_ATTR_FIRMWARE_MAJOR
Definition: csap_frames.h:57
CSAP_ATTR_FEATURE_LOCK_BITS
@ CSAP_ATTR_FEATURE_LOCK_BITS
Definition: csap_frames.h:48
CSAP_ATTR_APPCFG_MAX_SIZE_SIZE
@ CSAP_ATTR_APPCFG_MAX_SIZE_SIZE
Definition: csap_frames.h:89
CSAP_ATTR_RESERVED_3
@ CSAP_ATTR_RESERVED_3
Definition: csap_frames.h:47
CSAP_ATTR_WAPS_VERSION_SIZE
@ CSAP_ATTR_WAPS_VERSION_SIZE
Definition: csap_frames.h:81
CSAP_ATTR_CHANNEL_LIMIT_SIZE
@ CSAP_ATTR_CHANNEL_LIMIT_SIZE
Definition: csap_frames.h:88
CSAP_RESET_ACCESS_DENIED
@ CSAP_RESET_ACCESS_DENIED
Definition: csap_frames.h:123
CSAP_ATTR_APP_MAXT_TRANS_UNIT
@ CSAP_ATTR_APP_MAXT_TRANS_UNIT
Definition: csap_frames.h:53
CSAP_ATTR_NETWORK_CHANNEL_SIZE
@ CSAP_ATTR_NETWORK_CHANNEL_SIZE
Definition: csap_frames.h:75
CSAP_ATTR_FEATURE_LOCK_BITS_SIZE
@ CSAP_ATTR_FEATURE_LOCK_BITS_SIZE
Definition: csap_frames.h:94
CSAP_ATTR_FIRMWARE_MAINTENANCE
@ CSAP_ATTR_FIRMWARE_MAINTENANCE
Definition: csap_frames.h:59
RADIO_ADDRESS_WIDTH
#define RADIO_ADDRESS_WIDTH
Definition: csap_frames.h:28
CSAP_ATTR_NODE_ROLE_SIZE
@ CSAP_ATTR_NODE_ROLE_SIZE
Definition: csap_frames.h:77
CSAP_ATTR_NODE_ROLE
@ CSAP_ATTR_NODE_ROLE
Definition: csap_frames.h:43
CSAP_ATTR_SCRATCHPAD_SEQ_SIZE
@ CSAP_ATTR_SCRATCHPAD_SEQ_SIZE
Definition: csap_frames.h:80
csap_reset_e
csap_reset_e
Definition: csap_frames.h:117
CSAP_ATTR_APDU_SIZE_SIZE
@ CSAP_ATTR_APDU_SIZE_SIZE
Definition: csap_frames.h:78
CSAP_RESET_INVALID_STATE
@ CSAP_RESET_INVALID_STATE
Definition: csap_frames.h:121
CSAP_ATTR_AUTHENTICATION_KEY
@ CSAP_ATTR_AUTHENTICATION_KEY
Definition: csap_frames.h:45
CSAP_ATTR_MANAGEMENT_KEY_PAIR
@ CSAP_ATTR_MANAGEMENT_KEY_PAIR
Definition: csap_frames.h:68
CSAP_ATTR_RESERVED_2
@ CSAP_ATTR_RESERVED_2
Definition: csap_frames.h:50
CSAP_ATTR_RESERVED_2_SIZE
@ CSAP_ATTR_RESERVED_2_SIZE
Definition: csap_frames.h:98
CSAP_ATTR_FIRMWARE_MINOR
@ CSAP_ATTR_FIRMWARE_MINOR
Definition: csap_frames.h:58
CSAP_ATTR_RESERVED_CHANNELS_SIZE
@ CSAP_ATTR_RESERVED_CHANNELS_SIZE
Definition: csap_frames.h:96
CSAP_ATTR_RESERVED_1_SIZE
@ CSAP_ATTR_RESERVED_1_SIZE
Definition: csap_frames.h:97
CSAP_ATTR_FIRMWARE_MAJOR_SIZE
@ CSAP_ATTR_FIRMWARE_MAJOR_SIZE
Definition: csap_frames.h:82
CSAP_ATTR_NETWORK_ADDRESS_SIZE
@ CSAP_ATTR_NETWORK_ADDRESS_SIZE
Definition: csap_frames.h:76
ATTR_RESET_INVALID_STATE
@ ATTR_RESET_INVALID_STATE
Definition: csap_frames.h:33
CSAP_ATTR_FIRMWARE_MINOR_SIZE
@ CSAP_ATTR_FIRMWARE_MINOR_SIZE
Definition: csap_frames.h:83
attribute_reset_result_e
attribute_reset_result_e
Definition: csap_frames.h:30
csap_attr_e
csap_attr_e
Definition: csap_frames.h:37
CSAP_ATTR_CIPHER_KEY_SIZE
@ CSAP_ATTR_CIPHER_KEY_SIZE
Definition: csap_frames.h:86
CSAP_ATTR_NETWORK_ADDR
@ CSAP_ATTR_NETWORK_ADDR
Definition: csap_frames.h:41
ATTR_RESET_OK
@ ATTR_RESET_OK
Definition: csap_frames.h:32
CSAP_ATTR_FIRMWARE_DEVELOPMENT
@ CSAP_ATTR_FIRMWARE_DEVELOPMENT
Definition: csap_frames.h:60
CSAP_ATTR_RESERVED_3_SIZE
@ CSAP_ATTR_RESERVED_3_SIZE
Definition: csap_frames.h:93
CSAP_ATTR_AUTHENTICATION_KEY_SIZE
@ CSAP_ATTR_AUTHENTICATION_KEY_SIZE
Definition: csap_frames.h:87
CSAP_ATTR_KEY_PAIR_SIZE
@ CSAP_ATTR_KEY_PAIR_SIZE
Definition: csap_frames.h:99
CSAP_ATTR_RESERVED_1
@ CSAP_ATTR_RESERVED_1
Definition: csap_frames.h:65
CSAP_ATTR_NODE_ID
@ CSAP_ATTR_NODE_ID
Definition: csap_frames.h:40
CSAP_RESET_INVALID_KEY
@ CSAP_RESET_INVALID_KEY
Definition: csap_frames.h:122
CSAP_ATTR_PDU_BUFF_SIZE_SIZE
@ CSAP_ATTR_PDU_BUFF_SIZE_SIZE
Definition: csap_frames.h:79
CSAP_ATTR_NODE_ID_SIZE
@ CSAP_ATTR_NODE_ID_SIZE
Definition: csap_frames.h:74
CSAP_ATTR_SCRATCHPAD_SEQ
@ CSAP_ATTR_SCRATCHPAD_SEQ
Definition: csap_frames.h:55
CSAP_ATTR_NETWORK_KEY_PAIR
@ CSAP_ATTR_NETWORK_KEY_PAIR
Definition: csap_frames.h:67
CSAP_ATTR_NETWORK_CHANNEL
@ CSAP_ATTR_NETWORK_CHANNEL
Definition: csap_frames.h:42
w_addr_t
uint32_t w_addr_t
Definition: waps_frames.h:17
CSAP_ATTR_RESERVED_CHANNELS
@ CSAP_ATTR_RESERVED_CHANNELS
Definition: csap_frames.h:51
CSAP_ATTR_CHANNEL_LIMITS
@ CSAP_ATTR_CHANNEL_LIMITS
Definition: csap_frames.h:61
CSAP_RESET_OK
@ CSAP_RESET_OK
Definition: csap_frames.h:120
CSAP_ATTR_STACK_PROFILE
@ CSAP_ATTR_STACK_PROFILE
Definition: csap_frames.h:64
radio_channel_t
uint8_t radio_channel_t
Definition: csap_frames.h:11