Wirepas SDK
wms_settings.h File Reference

Detailed Description

The Settings library provides access to node settings, which are stored in nonvolatile memory. When a node starts up it automatically uses these stored settings.

Settings such as node role, unique node address, network address and channel, encryption and authentication keys as well performance-related settings such as access cycle limits can be stored and recalled. Also see the State library wms_state.h for starting and stopping the stack.

Library services are accessed via lib_settings handle.

Definition in file wms_settings.h.

Go to the source code of this file.

Typedefs

typedef uint32_t app_lib_settings_net_addr_t
 Network address type definition. More...
 
typedef uint8_t app_lib_settings_net_channel_t
 Channel type definition. More...
 
typedef uint8_t app_lib_settings_role_t
 Node role type. More...
 
typedef bool(* app_lib_settings_is_group_cb_f) (app_addr_t group_addr)
 Callback used for determining on which multicast groups the device belongs. More...
 
typedef app_res_e(* app_lib_settings_reset_all_f) (void)
 Reset all settings to default values. More...
 
typedef app_res_e(* app_lib_settings_get_feature_lock_bits_f) (uint32_t *bits_p)
 Get feature lock bits. More...
 
typedef app_res_e(* app_lib_settings_set_feature_lock_bits_f) (uint32_t bits)
 Set feature lock bits. More...
 
typedef app_res_e(* app_lib_settings_get_feature_lock_key_f) (uint8_t *key_p)
 Check if feature lock key is set. More...
 
typedef app_res_e(* app_lib_settings_set_feature_lock_key_f) (const uint8_t *key_p)
 Set feature lock key. More...
 
typedef app_res_e(* app_lib_settings_get_node_address_f) (app_addr_t *addr_p)
 Get node address. More...
 
typedef app_res_e(* app_lib_settings_set_node_address_f) (app_addr_t addr)
 Set node address. More...
 
typedef app_res_e(* app_lib_settings_get_network_address_f) (app_lib_settings_net_addr_t *addr_p)
 Get network address. More...
 
typedef app_res_e(* app_lib_settings_set_network_address_f) (app_lib_settings_net_addr_t addr)
 Set network address. More...
 
typedef app_res_e(* app_lib_settings_get_network_channel_f) (app_lib_settings_net_channel_t *channel_p)
 Get network channel. More...
 
typedef app_res_e(* app_lib_settings_set_network_channel_f) (app_lib_settings_net_channel_t channel)
 Set network channel. More...
 
typedef app_res_e(* app_lib_settings_get_node_role_f) (app_lib_settings_role_t *role_p)
 
typedef app_res_e(* app_lib_settings_set_node_role_f) (app_lib_settings_role_t role)
 Set node role. More...
 
typedef app_res_e(* app_lib_settings_get_authentication_key_f) (uint8_t *key_p)
 Check if authentication key is set. More...
 
typedef app_res_e(* app_lib_settings_set_authentication_key_f) (const uint8_t *key_p)
 Set authentication key. More...
 
typedef app_res_e(* app_lib_settings_get_encryption_key_f) (uint8_t *key_p)
 Check if encryption key is set. More...
 
typedef app_res_e(* app_lib_settings_set_encryption_key_f) (const uint8_t *key_p)
 Set encryption key. More...
 
typedef app_res_e(* app_lib_settings_get_ac_range_f) (uint16_t *ac_min_value_p, uint16_t *ac_max_value_p)
 Get the access cycle range. More...
 
typedef app_res_e(* app_lib_settings_set_ac_range_f) (uint16_t ac_min_value, uint16_t ac_max_value)
 Set range for access cycle. More...
 
typedef app_res_e(* app_lib_settings_get_offline_scan_f) (uint16_t *max_scan_p)
 Get the maximum offline scan interval in seconds. More...
 
typedef app_res_e(* app_lib_settings_set_offline_scan_f) (uint16_t max_scan)
 Set the maximum offline scan interval in seconds. More...
 
typedef app_res_e(* app_lib_settings_get_network_channel_limits_f) (uint16_t *min_value_p, uint16_t *max_value_p)
 Get network channel range. More...
 
typedef app_res_e(* app_lib_settings_get_ac_range_limits_f) (uint16_t *min_value_p, uint16_t *max_value_p)
 Get access cycle range limits. More...
 
typedef app_res_e(* app_lib_settings_set_group_query_cb_f) (app_lib_settings_is_group_cb_f cb)
 Set the callback function for multicat groups. More...
 
typedef app_res_e(* app_lib_settings_get_reserved_channels_f) (uint8_t *channels_p, size_t num_bytes)
 Get reserved channels. More...
 
typedef app_res_e(* app_lib_settings_set_reserved_channels_f) (const uint8_t *channels_p, size_t num_bytes)
 Set reserved channels. More...
 
typedef bool(* app_lib_settings_is_valid_network_address_f) (app_lib_settings_net_addr_t addr)
 Check that the network address is valid. More...
 
typedef bool(* app_lib_settings_is_valid_network_channel_f) (uint8_t channel)
 Check that the network channel is valid. More...
 
typedef bool(* app_lib_settings_is_valid_node_address_f) (app_addr_t addr)
 Check that the node address is valid. More...
 
typedef bool(* app_lib_settings_is_valid_node_role_f) (app_lib_settings_role_t role)
 Check that the node role is valid. More...
 
typedef app_res_e(* app_lib_settings_key_management_config_f) (const app_lib_settings_key_management_configuration_t *key_mgmt_cfg_p)
 Key management configuration using the settings API. More...
 
typedef uint8_t(* app_lib_settings_remote_api_csap_write_f) (uint16_t attr_id, uint32_t flags, app_lib_settings_remote_api_csap_data_t *data)
 A callback function type used for providing the Remote API CSAP Write request information to application side and the response information back to Remote API on stack side. Note that the data can be cached into a temporary location until a call of the callback registered with lib_settings->registerRemoteApiCsapUpdateCb is received. This may be used to maintain data integrity if multiple CSAP Write attribute ID values has to come in action at the same time. More...
 
typedef app_res_e(* app_lib_settings_register_remote_api_csap_write_cb_f) (app_lib_settings_remote_api_csap_write_f cb)
 Register a callback function which is to be called when a CSAP Write request is received and it needs to be handled on application side. More...
 
typedef uint8_t(* app_lib_settings_remote_api_csap_read_f) (uint16_t attr_id, app_lib_settings_remote_api_csap_data_t *data)
 A callback function type used for providing the Remote API CSAP Read request information to application side and the response information back to Remote API on stack side. More...
 
typedef app_res_e(* app_lib_settings_register_remote_api_csap_read_cb_f) (app_lib_settings_remote_api_csap_read_f cb)
 Register a callback function which is to be called when a CSAP Read request is received and it needs to be handled on application side. More...
 
typedef app_lib_settings_remote_api_res_e(* app_lib_settings_remote_api_csap_update_f) (void)
 A callback function type used for providing the Remote API Update request information to application side. There is no need to respond the Update request on application side, thus no function arguments. Application may (optionally) cache the data received from CSAP Write Requests on application side and put them into action at the same time once this callback is called. More...
 
typedef app_res_e(* app_lib_settings_register_remote_api_csap_update_cb_f) (app_lib_settings_remote_api_csap_update_f cb)
 Register a callback function which is to be called when a CSAP Update request is received and it needs to be handled on application side. More...
 
typedef void(* app_lib_settings_remote_api_csap_cancel_f) (void)
 A callback function type used for providing the Remote API Cancel request information to application side. In case the application has cached the data received from CSAP Write Requests, the cached data shall be cleared in a call to this function. .There is no need to respond the Cancel request on application side, thus no function arguments. More...
 
typedef app_res_e(* app_lib_settings_register_remote_api_csap_cancel_cb_f) (app_lib_settings_remote_api_csap_cancel_f cb)
 Register a callback function which is to be called when a CSAP Cancel request is received and it needs to be handled on application side. More...
 

Data Structures

struct  app_lib_settings_key_management_configuration_t
 Structure to hold key management configuration information for the settings API. More...
 
struct  app_lib_settings_remote_api_csap_data_t
 Struct containing the CSAP Read adn Write request and response information. Needed the requests are handled on application side. More...
 
struct  app_lib_settings_t
 Settings library API. More...
 
struct  app_lib_settings_key_management_configuration_t.network_key_pair
 
struct  app_lib_settings_key_management_configuration_t.management_key_pair
 
struct  app_lib_settings_key_management_configuration_t.flags
 

Enumerations

enum  app_lib_settings_role_e {
  APP_LIB_SETTINGS_ROLE_SINK_LE = 0x00, APP_LIB_SETTINGS_ROLE_SINK_LL = 0x10, APP_LIB_SETTINGS_ROLE_HEADNODE_LE = 0x01, APP_LIB_SETTINGS_ROLE_HEADNODE_LL = 0x11,
  APP_LIB_SETTINGS_ROLE_SUBNODE_LE = 0x02, APP_LIB_SETTINGS_ROLE_SUBNODE_LL = 0x12, APP_LIB_SETTINGS_ROLE_AUTOROLE_LE = 0x42, APP_LIB_SETTINGS_ROLE_AUTOROLE_LL = 0x52,
  APP_LIB_SETTINGS_ROLE_ADVERTISER = 0x04
}
 
enum  app_lib_settings_remote_api_res_e { APP_LIB_SETTINGS_REMOTE_API_RES_NONE = 0, APP_LIB_SETTINGS_REMOTE_API_RES_OK = 1, APP_LIB_SETTINGS_REMOTE_API_RES_OK_RESET = 2 }
 

Macros

#define APP_LIB_SETTINGS_NAME   0x74ced676
 Library symbolic name. More...
 
#define APP_LIB_SETTINGS_VERSION   0x20d
 Maximum supported library version. More...
 
#define APP_LIB_SETTINGS_AES_KEY_NUM_BYTES   16
 AES key size in bytes. More...
 
#define CHANNEL_NO_CHANNEL   0
 Reserved value for definition of 'no channel' for app_lib_settings_net_channel_t. More...
 
#define REMOTE_API_CSAP_WRITE_UNICAST   0x1
 
#define REMOTE_API_CSAP_RESPONSE_NORMAL   0
 
#define REMOTE_API_CSAP_RESPONSE_NONE   1
 
#define REMOTE_API_CSAP_RESPONSE_ACCESS_DENIED   0xf8
 
#define REMOTE_API_CSAP_RESPONSE_WRITE_ONLY_ATTRIBUTE   0xf9
 
#define REMOTE_API_CSAP_RESPONSE_INVALID_BROADCAST_REQUEST   0xfa
 
#define REMOTE_API_CSAP_RESPONSE_INVALID_BEGIN   0xfb
 
#define REMOTE_API_CSAP_RESPONSE_NO_SPACE_FOR_RESPONSE   0xfc
 
#define REMOTE_API_CSAP_RESPONSE_INVALID_VALUE   0xfd
 
#define REMOTE_API_CSAP_RESPONSE_INVALID_LENGTH   0xfe
 
#define REMOTE_API_CSAP_RESPONSE_UNKNOWN_REQUEST   0xff
 

Typedef Documentation

◆ app_lib_settings_get_ac_range_f

typedef app_res_e(* app_lib_settings_get_ac_range_f) (uint16_t *ac_min_value_p, uint16_t *ac_max_value_p)

Get the access cycle range.

The values are in milliseconds. This setting is only meaningful for nodes that route data for others, i.e. sinks and headnodes.

Parameters
ac_min_value_pPointer to store the minimum current access cycle value
ac_max_value_pPointer to store the maximum current access cycle value
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_CONFIGURATION if access cycle range not set, APP_RES_INVALID_NULL_POINTER if ac_min_value_p or ac_max_value_p is NULL

Example:

uint16_t min,max;
lib_settings->getAcRange(&min, &max);

Definition at line 520 of file wms_settings.h.

◆ app_lib_settings_get_ac_range_limits_f

typedef app_res_e(* app_lib_settings_get_ac_range_limits_f) (uint16_t *min_value_p, uint16_t *max_value_p)

Get access cycle range limits.

Return the minimum and maximum for valid access cycle range, in milliseconds, that can be used when setting the access cycle range with the lib_settings->setAcRange() function.

Parameters
min_value_pPointer to store the minimum access cycle value allowed
max_value_pPointer to store the maximum access cycle value allowed
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_NULL_POINTER if min_value_p or max_value_p is NULL

Definition at line 647 of file wms_settings.h.

◆ app_lib_settings_get_authentication_key_f

typedef app_res_e(* app_lib_settings_get_authentication_key_f) (uint8_t *key_p)

Check if authentication key is set.

It is not possible to actually read the key from the stack. The key_p parameter is ignored.

Parameters
key_pIf NULL, key is not return but return code will inform if keys are set or not. Otherwise, pointer to a ram area of 16 bytes where the key can be copied. It is updated only if return value is APP_RES_OK.
Returns
Result code, APP_RES_OK if a key set, APP_RES_INVALID_CONFIGURATION if the key is all 0xff, i.e. not set

Definition at line 438 of file wms_settings.h.

◆ app_lib_settings_get_encryption_key_f

typedef app_res_e(* app_lib_settings_get_encryption_key_f) (uint8_t *key_p)

Check if encryption key is set.

It is not possible to actually read the key from the stack. The key_p parameter is ignored.

Parameters
key_pIf NULL, key is not return but return code will inform if keys are set or not. Otherwise, pointer to a ram area of 16 bytes where the key can be copied. It is updated only if return value is APP_RES_OK.
Returns
Result code, APP_RES_OK if a key set, APP_RES_INVALID_CONFIGURATION if the key is all 0xff, i.e. not set

Definition at line 475 of file wms_settings.h.

◆ app_lib_settings_get_feature_lock_bits_f

typedef app_res_e(* app_lib_settings_get_feature_lock_bits_f) (uint32_t *bits_p)

Get feature lock bits.

Feature lock bits determine which features are permitted at runtime. A cleared bit marks that a feature is locked. Some features are governed by the stack, some checks are implemented on the application side, where applicable. Feature lock bits are active only when feature lock key is set. Feature lock bits are documented in WP-RM-100 Wirepas Mesh Dual-MCU API Reference Manual.

Parameters
bits_pPointer to store the result
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_NULL_POINTER if bits_p is NULL

Definition at line 245 of file wms_settings.h.

◆ app_lib_settings_get_feature_lock_key_f

typedef app_res_e(* app_lib_settings_get_feature_lock_key_f) (uint8_t *key_p)

Check if feature lock key is set.

If set the feature lock is locked. It is not possible to actually read the key from the stack. The key_p parameter is ignored.

Parameters
key_pA dummy parameter, reserved for future, set to NULL
Returns
Result code, APP_RES_OK if a key set, APP_RES_INVALID_CONFIGURATION if the key is all 0xff, i.e. not set
Note
Reading the actual key value is not possible, for security reasons

Definition at line 273 of file wms_settings.h.

◆ app_lib_settings_get_network_address_f

typedef app_res_e(* app_lib_settings_get_network_address_f) (app_lib_settings_net_addr_t *addr_p)

Get network address.

Parameters
addr_pPointer to store the result
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_CONFIGURATION if network address not set, APP_RES_INVALID_NULL_POINTER if addr_p is NULL

Definition at line 333 of file wms_settings.h.

◆ app_lib_settings_get_network_channel_f

typedef app_res_e(* app_lib_settings_get_network_channel_f) (app_lib_settings_net_channel_t *channel_p)

Get network channel.

Parameters
channel_pPointer to store the result
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_CONFIGURATION if network channel not set, APP_RES_INVALID_NULL_POINTER if channel_p is NULL

Definition at line 359 of file wms_settings.h.

◆ app_lib_settings_get_network_channel_limits_f

typedef app_res_e(* app_lib_settings_get_network_channel_limits_f) (uint16_t *min_value_p, uint16_t *max_value_p)

Get network channel range.

Return the minimum and maximum network channel value that can be used when setting the network channel with the lib_settings->setNetworkChannel() function

Parameters
min_value_pPointer to store the minimum network channel value allowed
max_value_pPointer to store the maximum network channel value allowed
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_NULL_POINTER if min_value_p or max_value_p is NULL

Definition at line 630 of file wms_settings.h.

◆ app_lib_settings_get_node_address_f

typedef app_res_e(* app_lib_settings_get_node_address_f) (app_addr_t *addr_p)

Get node address.

Parameters
addr_pPointer to store the result
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_CONFIGURATION if node address not set, APP_RES_INVALID_NULL_POINTER if addr_p is NULL

Definition at line 306 of file wms_settings.h.

◆ app_lib_settings_get_node_role_f

typedef app_res_e(* app_lib_settings_get_node_role_f) (app_lib_settings_role_t *role_p)

Get node role. Utility functions app_lib_settings_get_base_role() and app_lib_settings_get_flags_role() can be used to split the node value to a base role and role flag bits, respectively.

Parameters
role_pPointer to store the result
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_CONFIGURATION if node role not set, APP_RES_INVALID_NULL_POINTER if role_p is NULL

Definition at line 394 of file wms_settings.h.

◆ app_lib_settings_get_offline_scan_f

typedef app_res_e(* app_lib_settings_get_offline_scan_f) (uint16_t *max_scan_p)

Get the maximum offline scan interval in seconds.

The maximum offline scan interval determines the maximum interval between two scans for neighbors when device has no route to a sink.

Parameters
max_scan_pPointer to store the scanning interval value
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_STACK_STATE if stack is not running, APP_RES_INVALID_NULL_POINTER if max_scan_p is NULL

Definition at line 587 of file wms_settings.h.

◆ app_lib_settings_get_reserved_channels_f

typedef app_res_e(* app_lib_settings_get_reserved_channels_f) (uint8_t *channels_p, size_t num_bytes)

Get reserved channels.

Get a bit array of reserved channels, or channels that are marked to be avoided by the Wirepas Mesh protocol. Each set bit marks a channel that is to be avoided. The least significant bit of the first byte is channel 1, the least significant bit of the next byte is channel 9 and so forth.

Parameters
channels_pPointer to store the reserved channels bit array Each set bit marks the channel as reserved LSb of first byte is channel 1, MSb of first byte is channel 8, LSb of second byte is channel 9, an so on etc
num_bytesNumber of bytes pointed by channels_p
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_NULL_POINTER if channels_p is NULL, APP_RES_INVALID_VALUE if last reserved channel does not fit in num_bytes
Note
channels_p bit array can be longer than the maximum reserved channel. Remaining channels are marked as not reserved

Definition at line 705 of file wms_settings.h.

◆ app_lib_settings_is_group_cb_f

typedef bool(* app_lib_settings_is_group_cb_f) (app_addr_t group_addr)

Callback used for determining on which multicast groups the device belongs.

As an argument, the stack sets the address of the multicast group. If device belongs to that group, callback function returns true. If not, callback returns false.

This callback is called when device receives multicast packet. The return value is then determined whether data shall be received by standard means (i.e. data reception callback, see lib_data->setDataReceivedCb)

Parameters
group_addrGroup address (with APP_ADDR_MULTICAST bitmask set)
Returns
true: is in multicast group, false: is not in multicast group
Note
Keep the function execution time moderately short, i.e. do not execute any time-consuming operations directly in this callback!

Usage: see documentation of lib_settings->registerGroupQuery.

Definition at line 205 of file wms_settings.h.

◆ app_lib_settings_is_valid_network_address_f

typedef bool(* app_lib_settings_is_valid_network_address_f) (app_lib_settings_net_addr_t addr)

Check that the network address is valid.

Parameters
addrThe network address to check.
Returns
True if network address is valid.

Definition at line 753 of file wms_settings.h.

◆ app_lib_settings_is_valid_network_channel_f

typedef bool(* app_lib_settings_is_valid_network_channel_f) (uint8_t channel)

Check that the network channel is valid.

Parameters
channelThe network channel to check.
Returns
True if network channel is valid.

Definition at line 762 of file wms_settings.h.

◆ app_lib_settings_is_valid_node_address_f

typedef bool(* app_lib_settings_is_valid_node_address_f) (app_addr_t addr)

Check that the node address is valid.

Parameters
addrThe node address to check.
Returns
True if node address is valid.

Definition at line 770 of file wms_settings.h.

◆ app_lib_settings_is_valid_node_role_f

typedef bool(* app_lib_settings_is_valid_node_role_f) (app_lib_settings_role_t role)

Check that the node role is valid.

Parameters
roleThe node role to check.
Returns
True if node role is valid.

Definition at line 778 of file wms_settings.h.

◆ app_lib_settings_key_management_config_f

typedef app_res_e(* app_lib_settings_key_management_config_f) (const app_lib_settings_key_management_configuration_t *key_mgmt_cfg_p)

Key management configuration using the settings API.

This function configures key management using the provided key configuration information.

Parameters
[in]key_mgmt_cfg_pPointer to the key management information structure.
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_NULL_POINTER if key_info is NULL, or other error codes based on the provisioning result.

Definition at line 794 of file wms_settings.h.

◆ app_lib_settings_net_addr_t

typedef uint32_t app_lib_settings_net_addr_t

Network address type definition.

All nodes on the network must have the same network address.

Definition at line 53 of file wms_settings.h.

◆ app_lib_settings_net_channel_t

Channel type definition.

Definition at line 58 of file wms_settings.h.

◆ app_lib_settings_register_remote_api_csap_cancel_cb_f

typedef app_res_e(* app_lib_settings_register_remote_api_csap_cancel_cb_f) (app_lib_settings_remote_api_csap_cancel_f cb)

Register a callback function which is to be called when a CSAP Cancel request is received and it needs to be handled on application side.

Parameters
cbA callback that handles a received Remote API CSAP Cancel request. See more details about the callback in app_lib_settings_remote_api_csap_cancel_f.
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_NULL_POINTER if cb is NULL

Definition at line 977 of file wms_settings.h.

◆ app_lib_settings_register_remote_api_csap_read_cb_f

typedef app_res_e(* app_lib_settings_register_remote_api_csap_read_cb_f) (app_lib_settings_remote_api_csap_read_f cb)

Register a callback function which is to be called when a CSAP Read request is received and it needs to be handled on application side.

Parameters
cbA callback that handles a received Remote API CSAP Read request. See more details about the callback in app_lib_settings_remote_api_csap_read_f.
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_NULL_POINTER if cb is NULL

Definition at line 925 of file wms_settings.h.

◆ app_lib_settings_register_remote_api_csap_update_cb_f

typedef app_res_e(* app_lib_settings_register_remote_api_csap_update_cb_f) (app_lib_settings_remote_api_csap_update_f cb)

Register a callback function which is to be called when a CSAP Update request is received and it needs to be handled on application side.

Parameters
cbA callback that handles a received Remote API CSAP Update request. See more details about the callback in app_lib_settings_remote_api_csap_update_f.
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_NULL_POINTER if cb is NULL

Definition at line 952 of file wms_settings.h.

◆ app_lib_settings_register_remote_api_csap_write_cb_f

typedef app_res_e(* app_lib_settings_register_remote_api_csap_write_cb_f) (app_lib_settings_remote_api_csap_write_f cb)

Register a callback function which is to be called when a CSAP Write request is received and it needs to be handled on application side.

Parameters
cbA callback that handles a received Remote API CSAP Write request. See more details about the callback in app_lib_settings_remote_api_csap_write_f.
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_NULL_POINTER if cb is NULL

Definition at line 886 of file wms_settings.h.

◆ app_lib_settings_remote_api_csap_cancel_f

typedef void(* app_lib_settings_remote_api_csap_cancel_f) (void)

A callback function type used for providing the Remote API Cancel request information to application side. In case the application has cached the data received from CSAP Write Requests, the cached data shall be cleared in a call to this function. .There is no need to respond the Cancel request on application side, thus no function arguments.

Definition at line 964 of file wms_settings.h.

◆ app_lib_settings_remote_api_csap_read_f

typedef uint8_t(* app_lib_settings_remote_api_csap_read_f) (uint16_t attr_id, app_lib_settings_remote_api_csap_data_t *data)

A callback function type used for providing the Remote API CSAP Read request information to application side and the response information back to Remote API on stack side.

Parameters
attr_idAttribute ID value recorded in the Remote API CSAP Read request.
[in,out]dataPointer to a data structure that contains buffers for request and response data. Buffers are preallocated and the number of bytes that can be read and written, given in the *_buffer_length members, must be strictly obeyed. Commonly the request_buffer_len is zero and the attribute ID uniquely determines the response given.
Returns
REMOTE_API_CSAP_RESPONSE_NORMAL shall be returned if the request was read and response was written successfully, One of the REMOTE_API_CSAP_RESPONSE_* error codes shall be returned if the attribute ID was unexpected or the response_buffer_len was too small to fit the whole response.

Definition at line 911 of file wms_settings.h.

◆ app_lib_settings_remote_api_csap_update_f

typedef app_lib_settings_remote_api_res_e(* app_lib_settings_remote_api_csap_update_f) (void)

A callback function type used for providing the Remote API Update request information to application side. There is no need to respond the Update request on application side, thus no function arguments. Application may (optionally) cache the data received from CSAP Write Requests on application side and put them into action at the same time once this callback is called.

Definition at line 938 of file wms_settings.h.

◆ app_lib_settings_remote_api_csap_write_f

typedef uint8_t(* app_lib_settings_remote_api_csap_write_f) (uint16_t attr_id, uint32_t flags, app_lib_settings_remote_api_csap_data_t *data)

A callback function type used for providing the Remote API CSAP Write request information to application side and the response information back to Remote API on stack side. Note that the data can be cached into a temporary location until a call of the callback registered with lib_settings->registerRemoteApiCsapUpdateCb is received. This may be used to maintain data integrity if multiple CSAP Write attribute ID values has to come in action at the same time.

Parameters
attr_idAttribute ID value recorded in the CSAP Write request.
flagsAdditional flags. Bit 0: indicates if the Remote API data packet containing the CSAP Write Request was sent as unicast.
[in,out]dataPointer to a data structure that contains buffers for request and response data. Buffers are preallocated and the number of bytes that can be read and written, given in the *_buffer_length members, must be strictly obeyed.
Returns
REMOTE_API_CSAP_RESPONSE_NORMAL shall be returned if request was read and response was written successfully, One of the REMOTE_API_CSAP_RESPONSE_* error codes shall be returned if the request was of unexpected length, contents was invalid or the response_buffer_len was too small to fit the whole response, etc.

Definition at line 872 of file wms_settings.h.

◆ app_lib_settings_reset_all_f

typedef app_res_e(* app_lib_settings_reset_all_f) (void)

Reset all settings to default values.

  • Feature lock bits: not set
  • Node address: not set
  • Network address: not set
  • Network channel: not set
  • Node role: autorole le
  • Legacy security keys: not set
    • Authentication key: not set
    • Encryption key: not set
  • Scalable key management security keys: not set
    • Network encryption/auth keys: not set
    • Management encryption/auth keys: not set
  • Access cycle range: Minimum value according to profile. Max value 8000 ms.
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_STACK_STATE if stack is running APP_RES_RESOURCE_UNAVAILABLE if reset of secure storage records failed

Definition at line 228 of file wms_settings.h.

◆ app_lib_settings_role_t

typedef uint8_t app_lib_settings_role_t

Node role type.

List of possible roles are defined in app_lib_settings_role_e

Definition at line 182 of file wms_settings.h.

◆ app_lib_settings_set_ac_range_f

typedef app_res_e(* app_lib_settings_set_ac_range_f) (uint16_t ac_min_value, uint16_t ac_max_value)

Set range for access cycle.

Set the access cycle range that this node uses to serve its neighbors. This setting is only meaningful for nodes that route data for others, i.e. sinks and headnodes.

By default, the stack automatically selects a suitable access cycle, between 2, 4 or 8 seconds, depending on current network traffic. Setting low access cycle range does not improve latency, however pining it to a higher value can reduce power consumption despite reducing the throughput.

The values are in milliseconds. Function lib_settings->getAcRangeLimits() can also be used to query the limits. Default range is min. 2000 ms, max. 8000 ms.

Valid values are:

ValueDescription
20002 seconds
40004 seconds
80008 seconds

If value is not set, or maximum > minimum, the stack selects an appropriate access cycle based on current network traffic. If maximum = minimum, the user can force the access cycle to a specific duration. Range is not set by default. Only a factory reset can restore range back to the unset state.

Example:

// Reduce throughput by 1/4 to lower power consumption
lib_settings->setAcRange(8000, 8000);
Parameters
ac_min_valueMinimum access cycle value to set
ac_max_valueMaximum access cycle value to set
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_VALUE if ac_min_value or ac_max_value is invalid
Note
This setting is not possible when device role has flag APP_LIB_SETTINGS_ROLE_FLAG_LL mode set. Instead, those devices always have automatic access cycle selection enabled.

Definition at line 572 of file wms_settings.h.

◆ app_lib_settings_set_authentication_key_f

typedef app_res_e(* app_lib_settings_set_authentication_key_f) (const uint8_t *key_p)

Set authentication key.

key_p must point to APP_LIB_SETTINGS_AES_KEY_NUM_BYTES bytes. By default, no authentication key is set.

A key of all 0xff (hex) bytes is considered an unset key. Setting such a key disables encryption and authentication.

Parameters
key_pPointer to AES-128 key, APP_LIB_SETTINGS_AES_KEY_NUM_BYTES bytes
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_STACK_STATE if stack is running, APP_RES_INVALID_NULL_POINTER if key_p is NULL
Note
Note that both the encryption and authentication keys must be set for the encryption or authentication to be enabled. It is NOT enough to set just one key.

Definition at line 459 of file wms_settings.h.

◆ app_lib_settings_set_encryption_key_f

typedef app_res_e(* app_lib_settings_set_encryption_key_f) (const uint8_t *key_p)

Set encryption key.

key_p must point to APP_LIB_SETTINGS_AES_KEY_NUM_BYTES bytes. By default, no encryption key is set.

A key of all 0xff (hex) bytes is considered an unset key. Setting such a key disables encryption and authentication.

Parameters
key_pPointer to AES-128 key, APP_LIB_SETTINGS_AES_KEY_NUM_BYTES bytes
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_STACK_STATE if stack is running, APP_RES_INVALID_NULL_POINTER if key_p is NULL
Note
Note that both the encryption and authentication keys must be set for the encryption or authentication to be enabled. It is NOT enough to set just one key.

Definition at line 496 of file wms_settings.h.

◆ app_lib_settings_set_feature_lock_bits_f

typedef app_res_e(* app_lib_settings_set_feature_lock_bits_f) (uint32_t bits)

Set feature lock bits.

See lib_settings->getFeatureLockBits() for a description of feature lock bits. A cleared bit marks a feature locked. Reserved bits must remain set.

Parameters
bitsFeature lock bits
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_VALUE if an unsupported lock bit is set to 0

Definition at line 259 of file wms_settings.h.

◆ app_lib_settings_set_feature_lock_key_f

typedef app_res_e(* app_lib_settings_set_feature_lock_key_f) (const uint8_t *key_p)

Set feature lock key.

Lock or unlock the feature lock. key_p must point to APP_LIB_SETTINGS_AES_KEY_NUM_BYTES bytes. The feature lock key is not an AES-128 key, but it is guaranteed to be the same size as an AES-128 key.

Feature lock key can only be set when the feature lock is unlocked. Unlocking is done by setting the key using the same key as when locking it. A key of all 0xff (hex) bytes is considered an unset key. Setting such a key does not lock the feature lock.

Parameters
key_pPointer to key, APP_LIB_SETTINGS_AES_KEY_NUM_BYTES bytes
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_VALUE if a key is set and trying to unlock with a wrong key, APP_RES_INVALID_NULL_POINTER if key_p is NULL

Definition at line 294 of file wms_settings.h.

◆ app_lib_settings_set_group_query_cb_f

typedef app_res_e(* app_lib_settings_set_group_query_cb_f) (app_lib_settings_is_group_cb_f cb)

Set the callback function for multicat groups.

The callback is called when stack needs to determine on which multicast groups the device belongs to. If callback is not defined, device does not belong to any multicast groups.

Parameters
cbThe function to be executed, or NULL to unset
Returns
Result code, always APP_RES_OK

Example on use:

// This device belongs to this group
#define OWN_GROUP (APP_ADDR_MULTICAST | 1)
bool group_query_cb(app_addr_t group_addr)
{
return (group_addr == OWN_GROUP);
}
void App_init(const app_global_functions_t * functions)
{
lib_settings->registerGroupQuery(group_query_cb);
// ...
lib_state->startStack();
}

Definition at line 679 of file wms_settings.h.

◆ app_lib_settings_set_network_address_f

typedef app_res_e(* app_lib_settings_set_network_address_f) (app_lib_settings_net_addr_t addr)

Set network address.

There is no default network address.

  • Parameters
    addrNetwork address to set
    Returns
    Result code, APP_RES_OK if successful, APP_RES_INVALID_VALUE if addr is invalid, APP_RES_INVALID_STACK_STATE if stack is running
    Note
    Function must be called with a valid network address before the stack can be started

Definition at line 348 of file wms_settings.h.

◆ app_lib_settings_set_network_channel_f

typedef app_res_e(* app_lib_settings_set_network_channel_f) (app_lib_settings_net_channel_t channel)

Set network channel.

Different radio architectures have different number of channels available. Function lib_settings->getNetworkChannelLimits() can be used to determine the minimum and maximum channel number available. There is no default network channel.

Parameters
channelNetwork channel to set
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_VALUE if channel is invalid, APP_RES_INVALID_STACK_STATE if stack is running
Note
Function must be called with a valid network channel before the stack can be started.

Definition at line 380 of file wms_settings.h.

◆ app_lib_settings_set_node_address_f

typedef app_res_e(* app_lib_settings_set_node_address_f) (app_addr_t addr)

Set node address.

There is no default node address.

Parameters
addrOwn node address to set
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_VALUE if addr is invalid, APP_RES_INVALID_STACK_STATE if stack is running
Note
Function must be called with a valid node address before the stack can be started.

Definition at line 322 of file wms_settings.h.

◆ app_lib_settings_set_node_role_f

typedef app_res_e(* app_lib_settings_set_node_role_f) (app_lib_settings_role_t role)

Set node role.

Default node role is headnode with the autorole flag set.

Code example:

void App_init(const app_global_functions_t * functions)
{
// Configure node as Headnode, low-latency
// This call force the role, and prevent RemoteAPI to change it
lib_settings->setNodeRole(APP_LIB_SETTINGS_ROLE_HEADNODE_LL);
...
}
Parameters
roleNew role
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_VALUE if role is invalid, APP_RES_INVALID_STACK_STATE if stack is running

Definition at line 422 of file wms_settings.h.

◆ app_lib_settings_set_offline_scan_f

typedef app_res_e(* app_lib_settings_set_offline_scan_f) (uint16_t max_scan)

Set the maximum offline scan interval in seconds.

The maximum offline scan interval determines how often a node scans for neighbors when it has no route to a sink. Value is automatically limited to a valid range. The default value, before calling lib_settings->setOfflineScan() is 600 seconds (10 minutes) for Low Energy Mode and 30 seconds for Low Latency Mode.

Valid offline scan values:

ValueDescription
20Minimum: 20 seconds
600Maximum: 3600 seconds (1 hour)

To manually start a neighbor scan, function startScanNbors() in the State library ( wms_state.h) can be used.

Parameters
max_scanMinimum maximum scanning interval value
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_VALUE if max_scan is invalid

Definition at line 613 of file wms_settings.h.

◆ app_lib_settings_set_reserved_channels_f

typedef app_res_e(* app_lib_settings_set_reserved_channels_f) (const uint8_t *channels_p, size_t num_bytes)

Set reserved channels.

Mark channels as reserved, or to be avoided by the Wirepas Mesh protocol. Each set bit marks a channel that is to be avoided. The least significant bit of the first byte is channel 1, the least significant bit of the next byte is channel 9 and so forth. The channels_p bit array may be shorter than the number of channels. In that case, the remaining channels are marked as not reserved. The bit array may be longer too, provided that the highest bit set in it corresponds to a valid channel number (see section 3.6.4.27), i.e. extra zeros are ignored.

A node may still transmit on a reserved channel if it has a neighbor that has not been configured to avoid the channel. For best results, all nodes in a network should be configured to have the same reserved channels. Reserving the network channel will result in undefined behavior.

The reserved channels array is not stored in permanent memory.

Parameters
channelsPointer to bit array to load the reserved channels Each set bit marks the channel as reserved LSb of first byte is channel 1, MSb of first byte is channel 8, LSb of second byte is channel 9, an so on
num_bytesNumber of bytes pointed by channels_p
Returns
Result code, APP_RES_OK if successful, APP_RES_INVALID_NULL_POINTER if channels_p is NULL, APP_RES_INVALID_VALUE if a bit in channels_p is set for a channel larger than the maximum channel number
Note
channels_p bit array can be shorter than the maximum number of channels. Remaining channels are marked as not reserved
In the current implementation, reserved channels are not stored in persistent memory. Application must call setReservedChannels() in App_init()

Definition at line 744 of file wms_settings.h.


Data Structure Documentation

◆ app_lib_settings_key_management_configuration_t

struct app_lib_settings_key_management_configuration_t

Structure to hold key management configuration information for the settings API.

This structure contains the security key pairs and flags for the key management configuration.

Note
Key Pair Requirements: If network_key_pair or management_key_pair is not defined, the key pointer for both encryption_key_p and authentication_key_p must be NULL. If network_key_pair or management_key_pair is defined, the key pointer for both encryption_key_p and authentication_key_p must be valid.
Key Management Configuration: If flags.app_key_management_configured is set to true (1), the key management feature is enabled, provided that the management_key_pair is set either by providing valid management_key_pair in this structure or it is already set in the persistent memory.
Key Management State: If flags.app_key_management_configured is set to false (0), the key management feature state is not changed, but only provided keys are set. In other words, the key management feature cannot be disabled without rebooting the device if the key management is enabled.
Key Revocation Default: flags.revoke_keys=false is the default value, which should be used in most cases.
Key Revocation Special Cases: flags.revoke_keys=true should be used only in special cases where the application needs to revoke the keys. In this case, other values from this structure are ignored. Note that this operation removes all keys from the persistent storage. The device is not able to join to the network without the network keys so the application must provide new keys to recover from this situation. Key revocation will also disable the key management feature until it's activated again with flags.app_key_management_configured=true.
Device Support: flags.app_key_management_supported indicates whether app key management is supported by the device.
Flag Application Behavior: When apply_flags=0, only key provisioning is performed and no other flags take effect.
Examples
dualmcu_app/app.c.

Definition at line 137 of file wms_settings.h.

Data Fields
struct app_lib_settings_key_management_configuration_t flags
struct app_lib_settings_key_management_configuration_t management_key_pair
uint8_t management_key_pair_seq

Management key pair sequence number for diagnostics

struct app_lib_settings_key_management_configuration_t network_key_pair
uint8_t network_key_pair_seq

Network key pair sequence number, 1-255

◆ app_lib_settings_remote_api_csap_data_t

struct app_lib_settings_remote_api_csap_data_t

Struct containing the CSAP Read adn Write request and response information. Needed the requests are handled on application side.

Definition at line 828 of file wms_settings.h.

Data Fields
const uint8_t * request_buffer

Pointer to buffer where data can be read from.

uint8_t request_buffer_len

Amount of bytes that can be read from the request_buffer.

uint8_t * response_buffer

Pointer to buffer where data can be written to.

uint8_t response_buffer_len

Caller sets this to amount of bytes that can be written to the response_buffer. Callee sets this to amount of bytes that was written to the response_buffer.

◆ app_lib_settings_t

struct app_lib_settings_t

Settings library API.

This structure contains function pointers to all the settings library functions. The library is used to configure various network and node parameters.

Definition at line 987 of file wms_settings.h.

Data Fields
app_lib_settings_get_ac_range_f getAcRange
app_lib_settings_get_ac_range_limits_f getAcRangeLimits
app_lib_settings_get_authentication_key_f getAuthenticationKey
app_lib_settings_get_encryption_key_f getEncryptionKey
app_lib_settings_get_feature_lock_bits_f getFeatureLockBits
app_lib_settings_get_feature_lock_key_f getFeatureLockKey
app_lib_settings_get_network_address_f getNetworkAddress
app_lib_settings_get_network_channel_f getNetworkChannel
app_lib_settings_get_network_channel_limits_f getNetworkChannelLimits
app_lib_settings_get_node_address_f getNodeAddress
app_lib_settings_get_node_role_f getNodeRole
app_lib_settings_get_offline_scan_f getOfflineScan
app_lib_settings_get_reserved_channels_f getReservedChannels
app_lib_settings_is_valid_network_address_f isValidNetworkAddress
app_lib_settings_is_valid_network_channel_f isValidNetworkChannel
app_lib_settings_is_valid_node_address_f isValidNodeAddress
app_lib_settings_is_valid_node_role_f isValidNodeRole
app_lib_settings_key_management_config_f keyManagementConfiguration

Configure key management

app_lib_settings_set_group_query_cb_f registerGroupQuery
app_lib_settings_register_remote_api_csap_cancel_cb_f registerRemoteApiCsapCancelCb

Register a callback that is called when a Remote API Cancel request is received

app_lib_settings_register_remote_api_csap_read_cb_f registerRemoteApiCsapReadCb

Register a callback that is called when a Remote API CSAP Read request is received

app_lib_settings_register_remote_api_csap_update_cb_f registerRemoteApiCsapUpdateCb

Register a callback that is called when a Remote API Update request is received

app_lib_settings_register_remote_api_csap_write_cb_f registerRemoteApiCsapWriteCb

Register a callback that is called when a Remote API CSAP Write request is received

app_lib_settings_reset_all_f resetAll
app_lib_settings_set_ac_range_f setAcRange
app_lib_settings_set_authentication_key_f setAuthenticationKey
app_lib_settings_set_encryption_key_f setEncryptionKey
app_lib_settings_set_feature_lock_bits_f setFeatureLockBits
app_lib_settings_set_feature_lock_key_f setFeatureLockKey
app_lib_settings_set_network_address_f setNetworkAddress
app_lib_settings_set_network_channel_f setNetworkChannel
app_lib_settings_set_node_address_f setNodeAddress
app_lib_settings_set_node_role_f setNodeRole
app_lib_settings_set_offline_scan_f setOfflineScan
app_lib_settings_set_reserved_channels_f setReservedChannels

◆ app_lib_settings_key_management_configuration_t.network_key_pair

struct app_lib_settings_key_management_configuration_t.network_key_pair

Definition at line 139 of file wms_settings.h.

Data Fields
const uint8_t(* authentication_key_p)[16]

Authentication key pointer

const uint8_t(* encryption_key_p)[16]

Encryption key pointer

◆ app_lib_settings_key_management_configuration_t.management_key_pair

struct app_lib_settings_key_management_configuration_t.management_key_pair

Definition at line 139 of file wms_settings.h.

Data Fields
const uint8_t(* authentication_key_p)[16]

Authentication key pointer

const uint8_t(* encryption_key_p)[16]

Encryption key pointer

◆ app_lib_settings_key_management_configuration_t.flags

struct app_lib_settings_key_management_configuration_t.flags

Definition at line 148 of file wms_settings.h.

Data Fields
uint8_t app_key_management_configured: 1 Flag indicating that app key management is configured. When apply_flags=0, this flag is ignored and current state preserved.
uint8_t app_key_management_supported: 1 Flag indicating that app key management is supported. When apply_flags=0, this flag is ignored and current state preserved.
uint8_t apply_flags: 1 Flag indicating whether to apply the configuration flags. When set to 1, all configuration flags are applied. When set to 0, configuration flags are ignored and current system state is preserved.
uint8_t reserved: 4 Reserved bits for future use.
uint8_t revoke_keys: 1 Flag to let application force key revocation. When apply_flags=0, this flag is ignored.

Enumeration Type Documentation

◆ app_lib_settings_remote_api_res_e

This is the most common return type from library functions. Functions use these return values, unless more specific return values are required.

Enumerator
APP_LIB_SETTINGS_REMOTE_API_RES_NONE 

Nothing was updated

APP_LIB_SETTINGS_REMOTE_API_RES_OK 

Updates successful

APP_LIB_SETTINGS_REMOTE_API_RES_OK_RESET 

Updates successful, reset required

Definition at line 93 of file wms_settings.h.

◆ app_lib_settings_role_e

Enumerator
APP_LIB_SETTINGS_ROLE_SINK_LE 

Sink in Low Energy mode

APP_LIB_SETTINGS_ROLE_SINK_LL 

Sink in Low Latency mode

APP_LIB_SETTINGS_ROLE_HEADNODE_LE 

Headnode in Low Energy mode

APP_LIB_SETTINGS_ROLE_HEADNODE_LL 

Headnode in Low Latency mode

APP_LIB_SETTINGS_ROLE_SUBNODE_LE 

Subnode in Low Energy mode

APP_LIB_SETTINGS_ROLE_SUBNODE_LL 

Subnode in Low Latency mode

APP_LIB_SETTINGS_ROLE_AUTOROLE_LE 

Autorole in Low Energy mode

APP_LIB_SETTINGS_ROLE_AUTOROLE_LL 

Autorole Low Latency mode

APP_LIB_SETTINGS_ROLE_ADVERTISER 

Advertiser (implicitly Low Energy)

Definition at line 66 of file wms_settings.h.

Macro Definition Documentation

◆ APP_LIB_SETTINGS_AES_KEY_NUM_BYTES

#define APP_LIB_SETTINGS_AES_KEY_NUM_BYTES   16

AES key size in bytes.

This macro can be used as a buffer size for storing or copying a 128-bit AES key, or the 16-byte feature lock key. The feature lock key is not an AES-128 key, but it is guaranteed to be the same size as an AES-128 key.

Examples
provisioning_proxy/app.c.

Definition at line 44 of file wms_settings.h.

◆ APP_LIB_SETTINGS_NAME

#define APP_LIB_SETTINGS_NAME   0x74ced676

Library symbolic name.

"SETTIN"

Definition at line 32 of file wms_settings.h.

◆ APP_LIB_SETTINGS_VERSION

#define APP_LIB_SETTINGS_VERSION   0x20d

Maximum supported library version.

Definition at line 35 of file wms_settings.h.

◆ CHANNEL_NO_CHANNEL

#define CHANNEL_NO_CHANNEL   0

Reserved value for definition of 'no channel' for app_lib_settings_net_channel_t.

Definition at line 64 of file wms_settings.h.

◆ REMOTE_API_CSAP_RESPONSE_ACCESS_DENIED

#define REMOTE_API_CSAP_RESPONSE_ACCESS_DENIED   0xf8

Failure: Access is denied, i.e. feature lock key is set

Definition at line 807 of file wms_settings.h.

◆ REMOTE_API_CSAP_RESPONSE_INVALID_BEGIN

#define REMOTE_API_CSAP_RESPONSE_INVALID_BEGIN   0xfb

Failure: No begin request issued, or update delay countdown running

Definition at line 813 of file wms_settings.h.

◆ REMOTE_API_CSAP_RESPONSE_INVALID_BROADCAST_REQUEST

#define REMOTE_API_CSAP_RESPONSE_INVALID_BROADCAST_REQUEST   0xfa

Failure: Request is only valid for unicast, invalid when broadcasted

Definition at line 811 of file wms_settings.h.

◆ REMOTE_API_CSAP_RESPONSE_INVALID_LENGTH

#define REMOTE_API_CSAP_RESPONSE_INVALID_LENGTH   0xfe

Failure: Request has too many or too few parameters

Definition at line 819 of file wms_settings.h.

◆ REMOTE_API_CSAP_RESPONSE_INVALID_VALUE

#define REMOTE_API_CSAP_RESPONSE_INVALID_VALUE   0xfd

Failure: A value in the request is invalid

Definition at line 817 of file wms_settings.h.

◆ REMOTE_API_CSAP_RESPONSE_NO_SPACE_FOR_RESPONSE

#define REMOTE_API_CSAP_RESPONSE_NO_SPACE_FOR_RESPONSE   0xfc

Failure: No space in response, cannot carry out request

Definition at line 815 of file wms_settings.h.

◆ REMOTE_API_CSAP_RESPONSE_NONE

#define REMOTE_API_CSAP_RESPONSE_NONE   1

A special return value: no response needs to be generated

Definition at line 805 of file wms_settings.h.

◆ REMOTE_API_CSAP_RESPONSE_NORMAL

#define REMOTE_API_CSAP_RESPONSE_NORMAL   0

A special return value: normal response should be generated

Definition at line 803 of file wms_settings.h.

◆ REMOTE_API_CSAP_RESPONSE_UNKNOWN_REQUEST

#define REMOTE_API_CSAP_RESPONSE_UNKNOWN_REQUEST   0xff

Failure: Request was not recognized

Definition at line 821 of file wms_settings.h.

◆ REMOTE_API_CSAP_RESPONSE_WRITE_ONLY_ATTRIBUTE

#define REMOTE_API_CSAP_RESPONSE_WRITE_ONLY_ATTRIBUTE   0xf9

Failure: Trying to read an attribute that is write-only

Definition at line 809 of file wms_settings.h.

◆ REMOTE_API_CSAP_WRITE_UNICAST

#define REMOTE_API_CSAP_WRITE_UNICAST   0x1

Bit value indicating that the CSAP Write request was sent in a unicast data packet

Definition at line 799 of file wms_settings.h.

APP_LIB_SETTINGS_ROLE_SUBNODE_LE
@ APP_LIB_SETTINGS_ROLE_SUBNODE_LE
Definition: wms_settings.h:77
APP_LIB_SETTINGS_ROLE_ADVERTISER
@ APP_LIB_SETTINGS_ROLE_ADVERTISER
Definition: wms_settings.h:85
APP_LIB_SETTINGS_ROLE_HEADNODE_LE
@ APP_LIB_SETTINGS_ROLE_HEADNODE_LE
Definition: wms_settings.h:73
APP_LIB_SETTINGS_REMOTE_API_RES_OK
@ APP_LIB_SETTINGS_REMOTE_API_RES_OK
Definition: wms_settings.h:98
APP_LIB_SETTINGS_REMOTE_API_RES_NONE
@ APP_LIB_SETTINGS_REMOTE_API_RES_NONE
Definition: wms_settings.h:96
app_lib_settings_role_e
app_lib_settings_role_e
Definition: wms_settings.h:66
app_global_functions_t
List of global functions, passed to App_entrypoint()
Definition: wms_app.h:157
APP_LIB_SETTINGS_ROLE_SINK_LL
@ APP_LIB_SETTINGS_ROLE_SINK_LL
Definition: wms_settings.h:71
APP_LIB_SETTINGS_ROLE_AUTOROLE_LE
@ APP_LIB_SETTINGS_ROLE_AUTOROLE_LE
Definition: wms_settings.h:81
app_lib_settings_remote_api_res_e
app_lib_settings_remote_api_res_e
Definition: wms_settings.h:93
app_addr_t
uint32_t app_addr_t
Definition: wms_app.h:228
APP_LIB_SETTINGS_ROLE_SINK_LE
@ APP_LIB_SETTINGS_ROLE_SINK_LE
Definition: wms_settings.h:69
APP_LIB_SETTINGS_ROLE_SUBNODE_LL
@ APP_LIB_SETTINGS_ROLE_SUBNODE_LL
Definition: wms_settings.h:79
APP_LIB_SETTINGS_REMOTE_API_RES_OK_RESET
@ APP_LIB_SETTINGS_REMOTE_API_RES_OK_RESET
Definition: wms_settings.h:100
APP_LIB_SETTINGS_ROLE_HEADNODE_LL
@ APP_LIB_SETTINGS_ROLE_HEADNODE_LL
Definition: wms_settings.h:75
APP_LIB_SETTINGS_ROLE_AUTOROLE_LL
@ APP_LIB_SETTINGS_ROLE_AUTOROLE_LL
Definition: wms_settings.h:83