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 */
67  /* Internal CSAP attributes, reserved for Wirepas internal use only */
70 } csap_attr_e;
71 
73 typedef enum
74 {
97  CSAP_ATTR_RESERVED_CHANNELS_SIZE = 0, /* Variable size */
102 
103 
104 typedef struct __attribute__ ((__packed__))
105 {
110  uint32_t reset_key;
112 
113 typedef union
114 {
116 } frame_csap;
117 
118 typedef enum
119 {
120  // Expand to include the "DoIt" key
126 } csap_reset_e;
127 
128 #endif /* CSAP_FRAMES_H_ */
CSAP_ATTR_STACK_PROFILE_SIZE
@ CSAP_ATTR_STACK_PROFILE_SIZE
Definition: csap_frames.h:92
CSAP_ATTR_HWMAGIC_SIZE
@ CSAP_ATTR_HWMAGIC_SIZE
Definition: csap_frames.h:91
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:73
CSAP_ATTR_OFFLINE_SCAN_SIZE
@ CSAP_ATTR_OFFLINE_SCAN_SIZE
Definition: csap_frames.h:93
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:96
csap_reset_req_t::reset_key
uint32_t reset_key
Definition: csap_frames.h:110
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:86
CSAP_ATTR_FIRMWARE_MAINTENANCE_SIZE
@ CSAP_ATTR_FIRMWARE_MAINTENANCE_SIZE
Definition: csap_frames.h:85
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:113
CSAP_RESET_RESOURCE_ERROR
@ CSAP_RESET_RESOURCE_ERROR
Definition: csap_frames.h:125
CSAP_ATTR_APPCFG_MAX_SIZE_SIZE
@ CSAP_ATTR_APPCFG_MAX_SIZE_SIZE
Definition: csap_frames.h:90
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:82
CSAP_ATTR_CHANNEL_LIMIT_SIZE
@ CSAP_ATTR_CHANNEL_LIMIT_SIZE
Definition: csap_frames.h:89
CSAP_RESET_ACCESS_DENIED
@ CSAP_RESET_ACCESS_DENIED
Definition: csap_frames.h:124
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:76
CSAP_ATTR_FEATURE_LOCK_BITS_SIZE
@ CSAP_ATTR_FEATURE_LOCK_BITS_SIZE
Definition: csap_frames.h:95
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:78
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:81
csap_reset_e
csap_reset_e
Definition: csap_frames.h:118
CSAP_ATTR_APDU_SIZE_SIZE
@ CSAP_ATTR_APDU_SIZE_SIZE
Definition: csap_frames.h:79
CSAP_RESET_INVALID_STATE
@ CSAP_RESET_INVALID_STATE
Definition: csap_frames.h:122
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:69
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:99
frame_csap::reset_req
csap_reset_req_t reset_req
Definition: csap_frames.h:115
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:97
CSAP_ATTR_RESERVED_1_SIZE
@ CSAP_ATTR_RESERVED_1_SIZE
Definition: csap_frames.h:98
CSAP_ATTR_FIRMWARE_MAJOR_SIZE
@ CSAP_ATTR_FIRMWARE_MAJOR_SIZE
Definition: csap_frames.h:83
CSAP_ATTR_NETWORK_ADDRESS_SIZE
@ CSAP_ATTR_NETWORK_ADDRESS_SIZE
Definition: csap_frames.h:77
csap_reset_req_t
Definition: csap_frames.h:104
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:84
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:87
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:94
CSAP_ATTR_AUTHENTICATION_KEY_SIZE
@ CSAP_ATTR_AUTHENTICATION_KEY_SIZE
Definition: csap_frames.h:88
CSAP_ATTR_KEY_PAIR_SIZE
@ CSAP_ATTR_KEY_PAIR_SIZE
Definition: csap_frames.h:100
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:123
CSAP_ATTR_PDU_BUFF_SIZE_SIZE
@ CSAP_ATTR_PDU_BUFF_SIZE_SIZE
Definition: csap_frames.h:80
CSAP_ATTR_NODE_ID_SIZE
@ CSAP_ATTR_NODE_ID_SIZE
Definition: csap_frames.h:75
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:68
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:121
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