Wirepas SDK
function_codes.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 FUNCTION_CODES_H__
8#define FUNCTION_CODES_H__
9
10typedef enum
11{
12 /* DSAP-DATA_TX */
17 /* DSAP-DATA_TX_FRAG */
22 /* DSAP-DATA_RX */
25 /* MSAP-INDICATION_POLL */
28 /* MSAP-STACK_START */
31 /* MSAP-STACK_STOP */
34 /* MSAP-STACK_STATE */
37 /* MSAP-ATTRIBUTE_WRITE */
40 /* MSAP-ATTRIBUTE_READ */
43 /* CSAP-ATTRIBUTE_WRITE */
46 /* CSAP-ATTRIBUTE_READ */
49 /* CSAP-FACTORY_RESET */
52 /* MSAP-SCRATCHPAD_START */
55 /* MSAP-SCRATCHPAD_BLOCK */
58 /* MSAP-SCRATCHPAD_STATUS */
61 /* MSAP-SCRATCHPAD_BOOTABLE */
64 /* MSAP-SCRATCHPAD_CLEAR */
67 /* MSAP-REMOTE_STATUS_REQ */
72 /* MSAP-REMOTE_UPDATE_REQ */
75 /* DSAP-DATA_TX with non-zero initial travel time */
78 /* MSAP-GET-NBORS */
81 /* MSAP-SCAN-NBORS */
86 /* MSAP-INSTALL_QUALITY */
89 /* MSAP-SCRATCHPAD_TARGET_WRITE */
92 /* MSAP-SCRATCHPAD_TARGET_READ */
95 /* MSAP-SCRATCHPAD_BLOCK_READ */
98 /* MSAP-CONFIG_DATA_ITEM_SET */
101 /* MSAP-CONFIG_DATA_ITEM_GET */
104 /* MSAP-CONFIG_DATA_ITEM_IND */
107 /* MSAP-CONFIG_DATA_LIST_ITEMS */
110 /* MSAP-SINK_COST_WRITE */
113 /* MSAP-SINK_COST_READ */
116 /* MSAP-APP_CONFIG_DATA_WRITE */
119 /* MSAP-APP_CONFIG_DATA_READ */
122 /* MSAP-APP_CONFIG_DATA_RX */
125 /* MSAP-SLEEP REQ */
128 /* MSAP-SLEEP STOP REQ */
131 /* MSAP-SLEEP STATE GET REQ */
134
135 /* MSAP-SLEEP GOTOSLEEPINFO REQ */
138
139 /* MSAP-MAX_QUEUE_TIME_WRITE REQ */
142 /* MSAP-MAX_QUEUE_TIME_READ REQ */
145
146 /* Reserved request ids (only present in Remote API). */
155
157
158/* When you add/remove functions, make sure you update the tables below */
159
160#define DSAP_REQUESTS \
161{ \
162 WAPS_FUNC_DSAP_DATA_TX_REQ, \
163 WAPS_FUNC_DSAP_DATA_TX_TT_REQ, \
164 WAPS_FUNC_DSAP_DATA_TX_FRAG_REQ, \
165}
166
167#define MSAP_REQUESTS \
168{ \
169 WAPS_FUNC_MSAP_INDICATION_POLL_REQ, \
170 WAPS_FUNC_MSAP_STACK_START_REQ, \
171 WAPS_FUNC_MSAP_STACK_STOP_REQ, \
172 WAPS_FUNC_MSAP_ATTR_WRITE_REQ, \
173 WAPS_FUNC_MSAP_ATTR_READ_REQ, \
174 WAPS_FUNC_MSAP_SCRATCHPAD_START_REQ, \
175 WAPS_FUNC_MSAP_SCRATCHPAD_BLOCK_REQ, \
176 WAPS_FUNC_MSAP_SCRATCHPAD_STATUS_REQ, \
177 WAPS_FUNC_MSAP_SCRATCHPAD_BOOTABLE_REQ, \
178 WAPS_FUNC_MSAP_SCRATCHPAD_CLEAR_REQ, \
179 WAPS_FUNC_MSAP_REMOTE_STATUS_REQ, \
180 WAPS_FUNC_MSAP_GET_NBORS_REQ, \
181 WAPS_FUNC_MSAP_SCAN_NBORS_REQ, \
182 WAPS_FUNC_MSAP_GET_INSTALL_QUALITY_REQ, \
183 WAPS_FUNC_MSAP_SINK_COST_WRITE_REQ, \
184 WAPS_FUNC_MSAP_SINK_COST_READ_REQ, \
185 WAPS_FUNC_MSAP_APP_CONFIG_WRITE_REQ, \
186 WAPS_FUNC_MSAP_APP_CONFIG_READ_REQ, \
187 WAPS_FUNC_MSAP_STACK_SLEEP_REQ, \
188 WAPS_FUNC_MSAP_STACK_SLEEP_STOP_REQ, \
189 WAPS_FUNC_MSAP_STACK_SLEEP_STATE_GET_REQ, \
190 WAPS_FUNC_MSAP_STACK_SLEEP_GOTOSLEEPINFO_REQ, \
191 WAPS_FUNC_MSAP_SCRATCHPAD_TARGET_READ_REQ, \
192 WAPS_FUNC_MSAP_SCRATCHPAD_TARGET_WRITE_REQ, \
193 WAPS_FUNC_MSAP_SCRATCHPAD_BLOCK_READ_REQ, \
194 WAPS_FUNC_MSAP_CONFIG_DATA_ITEM_SET_REQ, \
195 WAPS_FUNC_MSAP_CONFIG_DATA_ITEM_GET_REQ, \
196 WAPS_FUNC_MSAP_CONFIG_DATA_LIST_ITEMS_REQ, \
197}
198
199#define CSAP_REQUESTS \
200{ \
201 WAPS_FUNC_CSAP_ATTR_WRITE_REQ, \
202 WAPS_FUNC_CSAP_ATTR_READ_REQ, \
203 WAPS_FUNC_CSAP_FACTORY_RESET_REQ, \
204}
205
206#define WAPS_CONFIRMATIONS \
207{ \
208 WAPS_FUNC_DSAP_DATA_TX_CNF, \
209 WAPS_FUNC_DSAP_DATA_TX_FRAG_CNF, \
210 WAPS_FUNC_MSAP_INDICATION_POLL_CNF, \
211 WAPS_FUNC_MSAP_STACK_START_CNF, \
212 WAPS_FUNC_MSAP_STACK_STOP_CNF, \
213 WAPS_FUNC_MSAP_APP_CONFIG_WRITE_CNF, \
214 WAPS_FUNC_MSAP_APP_CONFIG_READ_CNF, \
215 WAPS_FUNC_MSAP_ATTR_WRITE_CNF, \
216 WAPS_FUNC_MSAP_ATTR_READ_CNF, \
217 WAPS_FUNC_MSAP_GET_NBORS_CNF, \
218 WAPS_FUNC_MSAP_SCAN_NBORS_CNF, \
219 WAPS_FUNC_MSAP_GET_INSTALL_QUALITY_CNF, \
220 WAPS_FUNC_MSAP_SINK_COST_WRITE_CNF, \
221 WAPS_FUNC_MSAP_SINK_COST_READ_CNF, \
222 WAPS_FUNC_CSAP_ATTR_WRITE_CNF, \
223 WAPS_FUNC_CSAP_ATTR_READ_CNF, \
224 WAPS_FUNC_CSAP_FACTORY_RESET_CNF, \
225 WAPS_FUNC_MSAP_SCRATCHPAD_START_CNF, \
226 WAPS_FUNC_MSAP_SCRATCHPAD_BLOCK_CNF, \
227 WAPS_FUNC_MSAP_SCRATCHPAD_STATUS_CNF, \
228 WAPS_FUNC_MSAP_SCRATCHPAD_BOOTABLE_CNF, \
229 WAPS_FUNC_MSAP_SCRATCHPAD_CLEAR_CNF, \
230 WAPS_FUNC_MSAP_REMOTE_STATUS_CNF, \
231 WAPS_FUNC_DSAP_DATA_TX_TT_CNF, \
232 WAPS_FUNC_MSAP_APP_CONFIG_WRITE_CNF, \
233 WAPS_FUNC_MSAP_APP_CONFIG_READ_CNF, \
234 WAPS_FUNC_MSAP_STACK_SLEEP_REQ_CNF, \
235 WAPS_FUNC_MSAP_STACK_SLEEP_STOP_CNF, \
236 WAPS_FUNC_MSAP_SCRATCHPAD_TARGET_READ_CNF, \
237 WAPS_FUNC_MSAP_SCRATCHPAD_TARGET_WRITE_CNF, \
238 WAPS_FUNC_MSAP_SCRATCHPAD_BLOCK_READ_CNF, \
239 WAPS_FUNC_MSAP_CONFIG_DATA_ITEM_SET_CNF, \
240 WAPS_FUNC_MSAP_CONFIG_DATA_ITEM_GET_CNF, \
241 WAPS_FUNC_MSAP_CONFIG_DATA_LIST_ITEMS_CNF, \
242}
243
244#define WAPS_INDICATIONS \
245{ \
246 WAPS_FUNC_DSAP_DATA_TX_IND, \
247 WAPS_FUNC_DSAP_DATA_RX_FRAG_IND, \
248 WAPS_FUNC_DSAP_DATA_RX_IND, \
249 WAPS_FUNC_MSAP_STACK_STATE_IND, \
250 WAPS_FUNC_MSAP_APP_CONFIG_RX_IND, \
251 WAPS_FUNC_MSAP_REMOTE_STATUS_IND, \
252 WAPS_FUNC_MSAP_SCAN_NBORS_IND, \
253 WAPS_FUNC_MSAP_CONFIG_DATA_ITEM_IND, \
254}
255
256#define WAPS_RESPONSES \
257{ \
258 WAPS_FUNC_DSAP_DATA_TX_RSP, \
259 WAPS_FUNC_DSAP_DATA_RX_FRAG_RSP, \
260 WAPS_FUNC_DSAP_DATA_RX_RSP, \
261 WAPS_FUNC_MSAP_STACK_STATE_RSP, \
262 WAPS_FUNC_MSAP_APP_CONFIG_RX_RSP, \
263 WAPS_FUNC_MSAP_REMOTE_STATUS_RSP, \
264 WAPS_FUNC_MSAP_SCAN_NBORS_RSP, \
265 WAPS_FUNC_MSAP_STACK_SLEEP_STATE_GET_RSP, \
266 WAPS_FUNC_MSAP_STACK_SLEEP_GOTOSLEEPINFO_RSP, \
267 WAPS_FUNC_MSAP_CONFIG_DATA_ITEM_RSP, \
268}
269
274bool WapsFunc_isRequest(uint8_t func);
275
280bool WapsFunc_isDsapRequest(uint8_t func);
281
286bool WapsFunc_isMsapRequest(uint8_t func);
287
292bool WapsFunc_isCsapRequest(uint8_t func);
293
298bool WapsFunc_isConfirmation(uint8_t func);
299
304bool WapsFunc_isIndication(uint8_t func);
305
310bool WapsFunc_isResponse(uint8_t func);
311
312#endif
bool WapsFunc_isDsapRequest(uint8_t func)
Check if given func code is a DSAP request.
bool WapsFunc_isResponse(uint8_t func)
Check if given func code is a response.
bool WapsFunc_isConfirmation(uint8_t func)
Check if given func code is a confirmation.
waps_func_e
@ WAPS_FUNC_MSAP_SINK_COST_READ_CNF
@ WAPS_FUNC_MSAP_APP_CONFIG_RX_RSP
@ WAPS_FUNC_MSAP_STACK_SLEEP_STATE_GET_REQ
@ WAPS_FUNC_DSAP_DATA_TX_IND
@ WAPS_FUNC_MSAP_GET_INSTALL_QUALITY_CNF
@ WAPS_FUNC_MSAP_CONFIG_DATA_ITEM_RSP
@ WAPS_FUNC_MSAP_SCRATCHPAD_TARGET_WRITE_REQ
@ WAPS_FUNC_CSAP_ATTR_WRITE_REQ
@ WAPS_FUNC_MSAP_GET_NBORS_CNF
@ WAPS_FUNC_MSAP_SCRATCHPAD_START_REQ
@ WAPS_FUNC_MSAP_ATTR_READ_CNF
@ WAPS_FUNC_RESERVED_REMOTE_API_1_CNF
@ WAPS_FUNC_MSAP_STACK_SLEEP_REQ_CNF
@ WAPS_FUNC_MSAP_CONFIG_DATA_ITEM_GET_REQ
@ WAPS_FUNC_RESERVED_REMOTE_API_3_REQ
@ WAPS_FUNC_MSAP_SINK_COST_WRITE_REQ
@ WAPS_FUNC_MSAP_STACK_SLEEP_STATE_GET_RSP
@ WAPS_FUNC_MSAP_ATTR_WRITE_REQ
@ WAPS_FUNC_MSAP_APP_CONFIG_WRITE_CNF
@ WAPS_FUNC_MSAP_SCAN_NBORS_CNF
@ WAPS_FUNC_DSAP_DATA_TX_REQ
@ WAPS_FUNC_DSAP_DATA_TX_CNF
@ WAPS_FUNC_MSAP_STACK_START_REQ
@ WAPS_FUNC_DSAP_DATA_RX_FRAG_RSP
@ WAPS_FUNC_MSAP_ATTR_READ_REQ
@ WAPS_FUNC_MSAP_SINK_COST_READ_REQ
@ WAPS_FUNC_MSAP_SCRATCHPAD_START_CNF
@ WAPS_FUNC_MSAP_SCAN_NBORS_REQ
@ WAPS_FUNC_DSAP_DATA_RX_IND
@ WAPS_FUNC_MSAP_GET_INSTALL_QUALITY_REQ
@ DEPRECATED_WAPS_FUNC_MSAP_MAX_MSG_QUEUEING_TIME_WRITE_CNF
@ WAPS_FUNC_MSAP_SCRATCHPAD_BOOTABLE_REQ
@ WAPS_FUNC_MSAP_REMOTE_STATUS_CNF
@ WAPS_FUNC_MSAP_SCRATCHPAD_TARGET_WRITE_CNF
@ WAPS_FUNC_RESERVED_REMOTE_API_4_CNF
@ DEPRECATED_WAPS_FUNC_MSAP_REMOTE_UPDATE_REQ
@ WAPS_FUNC_MSAP_SCRATCHPAD_TARGET_READ_REQ
@ WAPS_FUNC_MSAP_REMOTE_STATUS_RSP
@ WAPS_FUNC_MSAP_SINK_COST_WRITE_CNF
@ WAPS_FUNC_CSAP_ATTR_READ_CNF
@ WAPS_FUNC_MSAP_SCRATCHPAD_STATUS_REQ
@ WAPS_FUNC_DSAP_DATA_RX_RSP
@ WAPS_FUNC_MSAP_SCAN_NBORS_IND
@ WAPS_FUNC_MSAP_GET_NBORS_REQ
@ WAPS_FUNC_CSAP_FACTORY_RESET_CNF
@ WAPS_FUNC_RESERVED_REMOTE_API_2_CNF
@ WAPS_FUNC_MSAP_SCRATCHPAD_CLEAR_REQ
@ WAPS_FUNC_MSAP_APP_CONFIG_WRITE_REQ
@ WAPS_FUNC_MSAP_CONFIG_DATA_LIST_ITEMS_REQ
@ WAPS_FUNC_DSAP_DATA_RX_FRAG_IND
@ WAPS_FUNC_DSAP_DATA_TX_RSP
@ WAPS_FUNC_CSAP_ATTR_WRITE_CNF
@ WAPS_FUNC_MSAP_SCRATCHPAD_BLOCK_CNF
@ DEPRECATED_WAPS_FUNC_MSAP_MAX_MSG_QUEUEING_TIME_READ_CNF
@ WAPS_FUNC_RESERVED_REMOTE_API_4_REQ
@ WAPS_FUNC_MSAP_STACK_STOP_CNF
@ WAPS_FUNC_DSAP_DATA_TX_TT_CNF
@ WAPS_FUNC_CSAP_FACTORY_RESET_REQ
@ WAPS_FUNC_MSAP_STACK_STOP_REQ
@ WAPS_FUNC_MSAP_REMOTE_STATUS_REQ
@ WAPS_FUNC_MSAP_REMOTE_STATUS_IND
@ WAPS_FUNC_MSAP_APP_CONFIG_READ_REQ
@ WAPS_FUNC_MSAP_APP_CONFIG_READ_CNF
@ WAPS_FUNC_MSAP_STACK_SLEEP_STOP_CNF
@ WAPS_FUNC_DSAP_DATA_TX_FRAG_REQ
@ WAPS_FUNC_MSAP_SCRATCHPAD_STATUS_CNF
@ WAPS_FUNC_MSAP_SCRATCHPAD_BLOCK_REQ
@ WAPS_FUNC_MSAP_SCRATCHPAD_CLEAR_CNF
@ WAPS_FUNC_RESERVED_REMOTE_API_3_CNF
@ WAPS_FUNC_MSAP_STACK_SLEEP_REQ
@ WAPS_FUNC_RESERVED_REMOTE_API_2_REQ
@ WAPS_FUNC_RESERVED_REMOTE_API_1_REQ
@ WAPS_FUNC_MSAP_STACK_STATE_IND
@ WAPS_FUNC_MSAP_SCRATCHPAD_BLOCK_READ_REQ
@ WAPS_FUNC_MSAP_SCRATCHPAD_BOOTABLE_CNF
@ WAPS_FUNC_MSAP_STACK_START_CNF
@ DEPRECATED_WAPS_FUNC_MSAP_MAX_MSG_QUEUEING_TIME_READ_REQ
@ WAPS_FUNC_MSAP_SCRATCHPAD_TARGET_READ_CNF
@ WAPS_FUNC_CSAP_ATTR_READ_REQ
@ WAPS_FUNC_MSAP_CONFIG_DATA_LIST_ITEMS_CNF
@ WAPS_FUNC_MSAP_INDICATION_POLL_CNF
@ WAPS_FUNC_MSAP_CONFIG_DATA_ITEM_SET_REQ
@ WAPS_FUNC_MSAP_INDICATION_POLL_REQ
@ WAPS_FUNC_DSAP_DATA_TX_TT_REQ
@ WAPS_FUNC_DSAP_DATA_TX_FRAG_CNF
@ WAPS_FUNC_MSAP_CONFIG_DATA_ITEM_GET_CNF
@ WAPS_FUNC_MSAP_STACK_SLEEP_GOTOSLEEPINFO_REQ
@ WAPS_FUNC_MSAP_ATTR_WRITE_CNF
@ WAPS_FUNC_MSAP_SCRATCHPAD_BLOCK_READ_CNF
@ WAPS_FUNC_MSAP_STACK_SLEEP_GOTOSLEEPINFO_RSP
@ DEPRECATED_WAPS_FUNC_MSAP_REMOTE_UPDATE_CNF
@ WAPS_FUNC_MSAP_CONFIG_DATA_ITEM_IND
@ WAPS_FUNC_MSAP_SCAN_NBORS_RSP
@ WAPS_FUNC_MSAP_STACK_STATE_RSP
@ WAPS_FUNC_MSAP_CONFIG_DATA_ITEM_SET_CNF
@ WAPS_FUNC_MSAP_STACK_SLEEP_STOP_REQ
@ DEPRECATED_WAPS_FUNC_MSAP_MAX_MSG_QUEUEING_TIME_WRITE_REQ
@ WAPS_FUNC_MSAP_APP_CONFIG_RX_IND
bool WapsFunc_isIndication(uint8_t func)
Check if given func code is an indication.
bool WapsFunc_isCsapRequest(uint8_t func)
Check if given func code is a CSAP request.
bool WapsFunc_isRequest(uint8_t func)
Check if given func code is a request.
bool WapsFunc_isMsapRequest(uint8_t func)
Check if given func code is a MSAP request.