![]() |
Wirepas SDK
|
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 bool(* | app_lib_settings_get_node_uid_cb_f) (uint8_t buffer[79], uint32_t *length) |
Callback for providing the node UID to the stack. More... | |
typedef app_res_e(* | app_lib_settings_register_node_uid_cb_f) (app_lib_settings_get_node_uid_cb_f cb) |
Register a callback for retrieving the node UID. 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_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 } |
Macros | |
#define | APP_LIB_SETTINGS_NAME 0x74ced676 |
Library symbolic name. More... | |
#define | APP_LIB_SETTINGS_VERSION 0x20c |
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 | APP_LIB_SETTINGS_MAX_NODE_UID_SIZE 79 |
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.
ac_min_value_p | Pointer to store the minimum current access cycle value |
ac_max_value_p | Pointer to store the maximum current access cycle value |
ac_min_value_p
or ac_max_value_p
is NULLExample:
Definition at line 470 of file wms_settings.h.
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.
min_value_p | Pointer to store the minimum access cycle value allowed |
max_value_p | Pointer to store the maximum access cycle value allowed |
Definition at line 596 of file wms_settings.h.
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.
key_p | If 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. |
Definition at line 388 of file wms_settings.h.
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.
key_p | If 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. |
Definition at line 425 of file wms_settings.h.
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.
bits_p | Pointer to store the result |
Definition at line 194 of file wms_settings.h.
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.
key_p | A dummy parameter, reserved for future, set to NULL |
Definition at line 223 of file wms_settings.h.
typedef app_res_e(* app_lib_settings_get_network_address_f) (app_lib_settings_net_addr_t *addr_p) |
Get network address.
addr_p | Pointer to store the result |
Definition at line 283 of file wms_settings.h.
typedef app_res_e(* app_lib_settings_get_network_channel_f) (app_lib_settings_net_channel_t *channel_p) |
Get network channel.
channel_p | Pointer to store the result |
channel_p
is NULL Definition at line 309 of file wms_settings.h.
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
min_value_p | Pointer to store the minimum network channel value allowed |
max_value_p | Pointer to store the maximum network channel value allowed |
Definition at line 579 of file wms_settings.h.
typedef app_res_e(* app_lib_settings_get_node_address_f) (app_addr_t *addr_p) |
Get node address.
addr_p | Pointer to store the result |
addr_p
is NULL Definition at line 256 of file wms_settings.h.
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.
role_p | Pointer to store the result |
role_p
is NULL Definition at line 344 of file wms_settings.h.
typedef bool(* app_lib_settings_get_node_uid_cb_f) (uint8_t buffer[79], uint32_t *length) |
Callback for providing the node UID to the stack.
[out] | buffer | Pointer to buffer where the UID should be copied to. It is at least APP_LIB_SETTINGS_MAX_NODE_UID_SIZE bytes long. |
[in,out] | length | Pointer to variable that will receive the actual length of the UID. As input, it contains the maximum length of the buffer and as output, the length of the UID copied to the buffer. |
Definition at line 763 of file wms_settings.h.
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.
max_scan_p | Pointer to store the scanning interval value |
max_scan_p
is NULL Definition at line 535 of file wms_settings.h.
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.
channels_p | Pointer 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_bytes | Number of bytes pointed by channels_p |
channels_p
is NULL, APP_RES_INVALID_VALUE if last reserved channel does not fit in num_bytes
channels_p
bit array can be longer than the maximum reserved channel. Remaining channels are marked as not reserved Definition at line 654 of file wms_settings.h.
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)
group_addr | Group address (with APP_ADDR_MULTICAST bitmask set) |
Usage: see documentation of lib_settings->registerGroupQuery.
Definition at line 160 of file wms_settings.h.
typedef bool(* app_lib_settings_is_valid_network_address_f) (app_lib_settings_net_addr_t addr) |
Check that the network address is valid.
addr | The network address to check. |
Definition at line 702 of file wms_settings.h.
typedef bool(* app_lib_settings_is_valid_network_channel_f) (uint8_t channel) |
Check that the network channel is valid.
channel | The network channel to check. |
Definition at line 711 of file wms_settings.h.
typedef bool(* app_lib_settings_is_valid_node_address_f) (app_addr_t addr) |
Check that the node address is valid.
addr | The node address to check. |
Definition at line 719 of file wms_settings.h.
typedef bool(* app_lib_settings_is_valid_node_role_f) (app_lib_settings_role_t role) |
Check that the node role is valid.
role | The node role to check. |
Definition at line 727 of file wms_settings.h.
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.
[in] | key_mgmt_cfg_p | Pointer to the key management information structure. |
Definition at line 743 of file wms_settings.h.
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.
typedef uint8_t app_lib_settings_net_channel_t |
Channel type definition.
Definition at line 58 of file wms_settings.h.
typedef app_res_e(* app_lib_settings_register_node_uid_cb_f) (app_lib_settings_get_node_uid_cb_f cb) |
Register a callback for retrieving the node UID.
This function registers a callback that will be called when the stack needs to access the node UID. The UID can be queried by using the Remote API service provided by stack.
cb | Callback function to be called when stack needs the node UID |
Definition at line 778 of file wms_settings.h.
typedef app_res_e(* app_lib_settings_reset_all_f) (void) |
Reset all settings to default values.
Definition at line 177 of file wms_settings.h.
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 136 of file wms_settings.h.
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.
Normally the stack chooses a suitable access cycle automatically, between 2, 4 or 8 seconds, depending on the amount of network traffic. Some applications may need to further limit the access cycle durations in use.
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:
Value | Description |
---|---|
2000 | 2 seconds |
4000 | 4 seconds |
8000 | 8 seconds |
If value is not set, or maximum > minimum, the stack chooses an appropriate access cycle based on the amount of 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:
ac_min_value | Minimum access cycle value to set |
ac_max_value | Maximum access cycle value to set |
ac_min_value
or ac_max_value
is invalidAPP_LIB_SETTINGS_ROLE_FLAG_LL
mode set. Instead, those devices always have automatic access cycle selection enabled. Definition at line 520 of file wms_settings.h.
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.
key_p | Pointer to AES-128 key, APP_LIB_SETTINGS_AES_KEY_NUM_BYTES bytes |
key_p
is NULL Definition at line 409 of file wms_settings.h.
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.
key_p | Pointer to AES-128 key, APP_LIB_SETTINGS_AES_KEY_NUM_BYTES bytes |
key_p
is NULL Definition at line 446 of file wms_settings.h.
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.
bits | Feature lock bits |
Definition at line 209 of file wms_settings.h.
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.
key_p | Pointer to key, APP_LIB_SETTINGS_AES_KEY_NUM_BYTES bytes |
key_p
is NULL Definition at line 244 of file wms_settings.h.
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.
cb | The function to be executed, or NULL to unset |
Example on use:
Definition at line 628 of file wms_settings.h.
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.
addr | Network address to set |
Definition at line 298 of file wms_settings.h.
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.
channel | Network channel to set |
channel
is invalid, APP_RES_INVALID_STACK_STATE if stack is running Definition at line 330 of file wms_settings.h.
typedef app_res_e(* app_lib_settings_set_node_address_f) (app_addr_t addr) |
Set node address.
There is no default node address.
addr | Own node address to set |
addr
is invalid, APP_RES_INVALID_STACK_STATE if stack is running Definition at line 272 of file wms_settings.h.
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:
role | New role |
role
is invalid, APP_RES_INVALID_STACK_STATE if stack is running Definition at line 372 of file wms_settings.h.
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:
Value | Description |
---|---|
20 | Minimum: 20 seconds |
600 | Maximum: 3600 seconds (1 hour) |
To manually start a neighbor scan, function startScanNbors() in the State library ( wms_state.h) can be used.
max_scan | Minimum maximum scanning interval value |
max_scan
is invalid Definition at line 562 of file wms_settings.h.
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.
channels | Pointer 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_bytes | Number of bytes pointed by channels_p |
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 channels_p
bit array can be shorter than the maximum number of channels. Remaining channels are marked as not reserved Definition at line 693 of file wms_settings.h.
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.
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.
If flags.key_management 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.
If flags.key_management 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.
flags.revoke_key=false is the default value, which should be used in most 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.key_management=true.
Definition at line 110 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 | |
struct app_lib_settings_key_management_configuration_t | network_key_pair | |
uint8_t | network_key_pair_seq |
Sequence number, 1-255 |
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 789 of file wms_settings.h.
struct app_lib_settings_key_management_configuration_t.network_key_pair |
Definition at line 112 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 |
struct app_lib_settings_key_management_configuration_t.management_key_pair |
Definition at line 112 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 |
struct app_lib_settings_key_management_configuration_t.flags |
Definition at line 121 of file wms_settings.h.
Data Fields | ||
---|---|---|
uint8_t | key_management:1 |
flag to enable security key management |
uint8_t | revoke_keys:1 |
flag to let application force key revocation |
Definition at line 66 of file wms_settings.h.
#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.
Definition at line 44 of file wms_settings.h.
#define APP_LIB_SETTINGS_MAX_NODE_UID_SIZE 79 |
Maximum length of the node UID
Definition at line 747 of file wms_settings.h.
#define APP_LIB_SETTINGS_NAME 0x74ced676 |
#define APP_LIB_SETTINGS_VERSION 0x20c |
Maximum supported library version.
Definition at line 35 of file wms_settings.h.
#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.