Wirepas SDK
csap_frames.h
Go to the documentation of this file.
1 /* Copyright 2017 Wirepas Ltd. All Rights Reserved.
2  *
3  * See file LICENSE.txt for full license details.
4  *
5  */
6 
7 #ifndef CSAP_FRAMES_H_
8 #define CSAP_FRAMES_H_
9 
10 // Logical radio channel, value: RADIO_MIN_CHANNEL...
11 typedef uint8_t radio_channel_t;
12 
13 
14 // structure to hold CSAP_ATTR_NETWORK_KEY_PAIR and CSAP_ATTR_MANAGEMENT_KEY_PAIR
15 typedef struct __attribute__((packed))
16 {
17  struct
18  {
19  const uint8_t encryption[16];
20  const uint8_t authentication[16];
21  } key_pair;
22  uint8_t sequence_number;
24 
28 #define RADIO_ADDRESS_WIDTH 3u
29 
30 typedef enum
31 {
35 
37 typedef enum
38 {
39  /* Read / Write */
52  /* Read only */
66  /* Write only */
69 } csap_attr_e;
70 
72 typedef enum
73 {
96  CSAP_ATTR_RESERVED_CHANNELS_SIZE = 0, /* Variable size */
101 
102 
103 typedef struct __attribute__ ((__packed__))
104 {
109  uint32_t reset_key;
111 
112 typedef union
113 {
115 } frame_csap;
116 
117 typedef enum
118 {
119  // Expand to include the "DoIt" key
124 } csap_reset_e;
125 
126 #endif /* 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_reset_req_t::reset_key
uint32_t reset_key
Definition: csap_frames.h:109
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
frame_csap
Definition: csap_frames.h:112
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
frame_csap::reset_req
csap_reset_req_t reset_req
Definition: csap_frames.h:114
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
csap_reset_req_t
Definition: csap_frames.h:103
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_key_pair_t::sequence_number
uint8_t sequence_number
Definition: csap_frames.h:22
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