Wirepas SDK
wms_data.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
19#ifndef APP_LIB_DATA_H_
20#define APP_LIB_DATA_H_
21
22#include <stdlib.h>
23#include <stdint.h>
24#include <stdbool.h>
25
26#include "wms_app.h"
27
29#define APP_LIB_DATA_NAME 0x0003f161
30
32#define APP_LIB_DATA_VERSION 0x211
33
53
60#define APP_LIB_DATA_NO_TRACKING_ID (app_lib_data_tracking_id_t)(-1)
61
75#define APP_LIB_DATA_MAX_APP_CONFIG_NUM_BYTES 80
76
93
136
180
202
228
251
252
263#define APP_LIB_DATA_RX_HOPS_UNDETERMINED 0
264
268typedef struct
269{
271 uint16_t packet_id;
277
325
358
385
403
413typedef void
415
433typedef void (*app_lib_data_new_app_config_cb_f)(const uint8_t * bytes,
434 uint8_t seq,
435 uint16_t interval);
436
478
509
523
524typedef struct
525{
533
534
551
572typedef size_t
574
602 (*app_lib_data_get_num_free_buffers_f)(size_t * num_buffers_p);
603
620
645typedef void
646 (*app_lib_data_allow_reception_f)(bool allow);
647
671 (*app_lib_data_read_app_config_f)(uint8_t * bytes,
672 uint8_t * seq,
673 uint16_t * interval);
674
684typedef size_t
686
687
713 (*app_lib_data_write_app_config_data_f)(const uint8_t * bytes);
714
744
748typedef struct
749{
751 uint8_t * bytes;
753 uint16_t endpoint;
755 uint8_t length;
757
785 const app_lib_config_data_item_t * item);
786
811
812
831typedef uint8_t (*app_lib_data_get_all_config_data_endpoints_f)(uint16_t * endpoints, uint8_t max_items);
832
847 const app_lib_config_data_item_t * item);
848
859
885 (*app_lib_data_write_diagnostic_interval_f)(uint16_t interval);
886
920
926#define APP_DATA_DISABLE_LOCAL_MULTICAST 0
927
941
960
968
999
1000#endif /* APP_LIB_DATA_H_ */
app_res_e
Definition wms_app.h:202
uint32_t app_addr_t
Definition wms_app.h:228
uint8_t(* app_lib_data_get_all_config_data_endpoints_f)(uint16_t *endpoints, uint8_t max_items)
Get all the config data endpoints.
Definition wms_data.h:831
app_res_e(* app_lib_data_set_data_received_cb_f)(app_lib_data_data_received_cb_f cb)
Set data reception callback.
Definition wms_data.h:477
app_lib_data_set_data_received_cb_f setDataReceivedCb
Definition wms_data.h:974
app_lib_data_set_local_mc_f setLocalMulticastInfo
Definition wms_data.h:986
app_res_e(* app_lib_data_set_fragmented_mode_f)(const app_lib_data_fragmented_mode_e mode)
Set the fragmentation behavior for RX packets.
Definition wms_data.h:967
app_lib_data_read_app_config_f readAppConfig
Definition wms_data.h:982
size_t(* app_lib_data_get_app_config_num_bytes_f)(void)
Get size of appconfig "app config".
Definition wms_data.h:685
app_lib_data_get_num_free_buffers_f getNumFreeBuffers
Definition wms_data.h:979
uint16_t app_lib_data_tracking_id_t
Type of tracking ID for data packets.
Definition wms_data.h:52
app_lib_data_send_flags_e
Flags to use with lib_data->sendData().
Definition wms_data.h:98
@ APP_LIB_DATA_SEND_FLAG_NONE
Definition wms_data.h:100
@ APP_LIB_DATA_SEND_FLAG_UNACK_CSMA_CA
Definition wms_data.h:124
@ APP_LIB_DATA_SEND_SET_HOP_LIMITING
Definition wms_data.h:116
@ APP_LIB_DATA_SEND_FLAG_TRACK
Definition wms_data.h:104
@ APP_LIB_DATA_SEND_FRAGMENTED_PACKET
Definition wms_data.h:134
@ APP_LIB_DATA_SEND_NW_CH_ONLY
Definition wms_data.h:131
app_lib_data_write_diagnostic_interval_f writeDiagnosticInterval
Definition wms_data.h:985
app_res_e(* app_lib_data_get_num_free_buffers_f)(size_t *num_buffers_p)
Get number of currently available buffers.
Definition wms_data.h:602
app_lib_data_write_app_config_data_f writeAppConfigData
Definition wms_data.h:984
size_t(* app_lib_data_get_num_buffers_f)(void)
Get total number of packet buffers.
Definition wms_data.h:573
app_lib_data_disable_boot_diagnostics_f disableBootDiagnostics
Definition wms_data.h:997
app_res_e(* app_lib_data_set_data_sent_cb_f)(app_lib_data_data_sent_cb_f cb)
Set data sent tracking callback.
Definition wms_data.h:508
app_lib_data_set_fragmented_mode_f setFragmentMode
Definition wms_data.h:987
app_lib_data_app_config_res_e(* app_lib_data_write_app_config_data_f)(const uint8_t *bytes)
Write appconfig "app config DATA".
Definition wms_data.h:713
app_lib_data_config_data_res_e(* app_lib_data_set_config_data_item_f)(const app_lib_config_data_item_t *item)
Set the config data item of a specific endpoint.
Definition wms_data.h:784
app_lib_data_get_app_config_num_bytes_f getAppConfigNumBytes
Definition wms_data.h:983
app_lib_data_set_config_data_item_f setConfigDataItem
Definition wms_data.h:989
app_lib_data_receive_res_e(* app_lib_data_data_received_cb_f)(const app_lib_data_received_t *data)
Data reception callback.
Definition wms_data.h:402
app_lib_data_tracking_id_t tracking_id
Definition wms_data.h:340
app_res_e(* app_lib_data_set_new_config_data_item_cb_f)(app_lib_data_new_config_data_item_cb_f cb)
Set the callback function to be called when a new config data item is received.
Definition wms_data.h:858
app_lib_data_fragmented_mode_e
Fragmentation mode. Use to specify if reassembly is done by stack or by application itself.
Definition wms_data.h:237
@ APP_LIB_DATA_FRAGMENTED_MODE_DISABLED
Definition wms_data.h:249
@ APP_LIB_DATA_FRAGMENTED_MODE_ENABLED
Definition wms_data.h:241
app_lib_data_get_all_config_data_endpoints_f getAllConfigDataEndpoints
Definition wms_data.h:995
app_lib_data_set_new_config_data_item_cb_f setConfigDataItemReceivedCb
Definition wms_data.h:993
app_lib_data_qos_e qos
Definition wms_data.h:296
app_lib_data_app_config_res_e(* app_lib_data_read_app_config_f)(uint8_t *bytes, uint8_t *seq, uint16_t *interval)
Read appconfig "app config".
Definition wms_data.h:671
app_lib_data_send_res_e(* app_lib_data_send_data_f)(const app_lib_data_to_send_t *data)
Send data.
Definition wms_data.h:619
app_lib_data_set_data_sent_cb_f setDataSentCb
Definition wms_data.h:975
app_res_e(* app_lib_data_disable_boot_diagnostics_f)(void)
Disable power on boot diagnostics.
Definition wms_data.h:919
app_lib_data_qos_e
Data quality of service class. Used when sending and receiving data packets.
Definition wms_data.h:86
@ APP_LIB_DATA_QOS_HIGH
Definition wms_data.h:91
@ APP_LIB_DATA_QOS_NORMAL
Definition wms_data.h:88
app_res_e(* app_lib_data_set_local_mc_f)(const app_lib_data_local_mc_info_t *info)
Set local multicast functionality.
Definition wms_data.h:959
app_lib_data_get_config_data_item_f getConfigDataItem
Definition wms_data.h:991
app_lib_data_data_size_t(* app_lib_data_get_data_max_num_bytes_f)(void)
Return the maximum number of bytes per data packet or data segment.
Definition wms_data.h:550
app_lib_data_fragment_t * fragment_info
Definition wms_data.h:323
app_lib_data_app_config_res_e(* app_lib_data_write_diagnostic_interval_f)(uint16_t interval)
Write appconfig "Diagnostic interval".
Definition wms_data.h:885
app_lib_data_send_res_e
A result code returned from lib_data->sendData().
Definition wms_data.h:142
@ APP_LIB_DATA_SEND_RES_RESERVED_ENDPOINT
Definition wms_data.h:167
@ APP_LIB_DATA_SEND_RES_INVALID_STACK_STATE
Definition wms_data.h:146
@ APP_LIB_DATA_SEND_RES_INVALID_FRAGMENT_INFO
Definition wms_data.h:178
@ APP_LIB_DATA_SEND_RES_INVALID_NUM_BYTES
Definition wms_data.h:159
@ APP_LIB_DATA_SEND_RES_INVALID_DEST_ADDRESS
Definition wms_data.h:157
@ APP_LIB_DATA_SEND_RES_OUT_OF_MEMORY
Definition wms_data.h:152
@ APP_LIB_DATA_SEND_RES_OUT_OF_TRACKING_IDS
Definition wms_data.h:162
@ APP_LIB_DATA_SEND_RES_INVALID_QOS
Definition wms_data.h:148
@ APP_LIB_DATA_SEND_RES_SUCCESS
Definition wms_data.h:144
@ APP_LIB_DATA_SEND_RES_ACCESS_DENIED
Definition wms_data.h:172
@ APP_LIB_DATA_SEND_RES_INVALID_HOP_LIMIT
Definition wms_data.h:174
@ APP_LIB_DATA_SEND_RES_INVALID_TRACKING_ID
Definition wms_data.h:164
@ APP_LIB_DATA_SEND_RES_UNINITIALIZED
Definition wms_data.h:176
@ APP_LIB_DATA_SEND_RES_INVALID_FLAGS
Definition wms_data.h:150
void(* app_lib_data_allow_reception_f)(bool allow)
Allow or block reception The application may temporarily tell the stack to not call the reception dat...
Definition wms_data.h:646
app_res_e(* app_lib_data_set_new_app_config_cb_f)(app_lib_data_new_app_config_cb_f cb)
Set the callback function to be called when new appconfig "app config data" is received.
Definition wms_data.h:522
app_addr_t dest_address
Definition wms_data.h:306
app_lib_data_fragment_t fragment_info
Definition wms_data.h:356
app_addr_t mac_src_address
Definition wms_data.h:309
void(* app_lib_data_new_app_config_cb_f)(const uint8_t *bytes, uint8_t seq, uint16_t interval)
Type of the new app config callback function.
Definition wms_data.h:433
const uint8_t * bytes
Definition wms_data.h:288
uint8_t hops_left
Amount of hops left set when multicast packet goes out of target multicast group.
Definition wms_data.h:939
app_lib_data_receive_res_e
Return value of data reception callback.
Definition wms_data.h:189
@ APP_LIB_DATA_RECEIVE_RES_NO_SPACE
Definition wms_data.h:200
@ APP_LIB_DATA_RECEIVE_RES_HANDLED
Definition wms_data.h:192
@ APP_LIB_DATA_RECEIVE_RES_NOT_FOR_APP
Definition wms_data.h:195
void(* app_lib_data_data_sent_cb_f)(const app_lib_data_sent_status_t *status)
Sent packet tracking callback.
Definition wms_data.h:414
app_lib_data_config_data_res_e
Result of the config data item.
Definition wms_data.h:723
@ APP_LIB_DATA_CONFIG_DATA_RES_INVALID_INPUT
Definition wms_data.h:738
@ APP_LIB_DATA_CONFIG_DATA_RES_OUT_OF_MEMORY
Definition wms_data.h:734
@ APP_LIB_DATA_CONFIG_DATA_RES_INVALID_NULL_POINTER
Definition wms_data.h:732
@ APP_LIB_DATA_CONFIG_DATA_RES_NOT_SUPPORTED
Definition wms_data.h:740
@ APP_LIB_DATA_CONFIG_DATA_RES_INVALID_ROLE
Definition wms_data.h:727
@ APP_LIB_DATA_CONFIG_DATA_RES_INTERNAL_ERROR
Definition wms_data.h:742
@ APP_LIB_DATA_CONFIG_DATA_RES_INVALID_CONTENT
Definition wms_data.h:736
@ APP_LIB_DATA_CONFIG_DATA_RES_SUCCESS
Definition wms_data.h:725
@ APP_LIB_DATA_CONFIG_DATA_RES_INVALID_ENDPOINT
Definition wms_data.h:730
app_lib_data_send_data_f sendData
Definition wms_data.h:980
app_lib_data_allow_reception_f allowReception
Definition wms_data.h:981
app_lib_data_config_data_res_e(* app_lib_data_get_config_data_item_f)(app_lib_config_data_item_t *item)
Get the config data item of a specific endpoint.
Definition wms_data.h:809
app_lib_data_get_num_buffers_f getNumBuffers
Definition wms_data.h:978
void(* app_lib_data_new_config_data_item_cb_f)(const app_lib_config_data_item_t *item)
Callback to be notified when a new config data item is received.
Definition wms_data.h:846
app_lib_data_get_data_max_num_bytes_f getDataMaxNumBytes
Definition wms_data.h:977
app_lib_data_app_config_res_e
Result of the app config.
Definition wms_data.h:211
@ APP_LIB_DATA_APP_CONFIG_RES_SUCCESS
Definition wms_data.h:213
@ APP_LIB_DATA_APP_CONFIG_RES_INVALID_NULL_POINTER
Definition wms_data.h:224
@ APP_LIB_DATA_APP_CONFIG_RES_INVALID_ROLE
Definition wms_data.h:215
@ APP_LIB_DATA_APP_CONFIG_RES_INVALID_SEQ
Definition wms_data.h:220
@ APP_LIB_DATA_APP_CONFIG_RES_OUT_OF_MEMORY
Definition wms_data.h:226
@ APP_LIB_DATA_APP_CONFIG_RES_INVALID_INTERVAL
Definition wms_data.h:222
@ APP_LIB_DATA_APP_CONFIG_RES_INVALID_APP_CONFIG
Definition wms_data.h:218
app_lib_data_set_new_app_config_cb_f setNewAppConfigCb
Definition wms_data.h:976
List of library services.
Definition wms_data.h:973
Struct to tracking callback function.
Definition wms_data.h:367
A struct for lib_data->sendData().
Definition wms_data.h:330
Config Data Item information.
Definition wms_data.h:749
Struct passed to data reception callback functions.
Definition wms_data.h:286
Information on setting local multicast functionality. To be used with service lib_data->setLocalMulti...
Definition wms_data.h:934
Fragmentation information.
Definition wms_data.h:269