Bluetooth Mesh Low Power Node API#
Bluetooth Mesh Low Power Node API.
These commands and events are for low-power operation, available in nodes which have the LPN feature.
Modules#
sl_btmesh_evt_lpn_friendship_established
sl_btmesh_evt_lpn_friendship_failed
sl_btmesh_evt_lpn_friendship_terminated
Enumerations#
Key values to identify LPN configurations.
Functions#
Macros#
Enumeration Documentation#
sl_btmesh_lpn_settings_t#
sl_btmesh_lpn_settings_t
Key values to identify LPN configurations.
Enumerator | |
---|---|
sl_btmesh_lpn_queue_length | (0x0) Minimum queue length that the friend must support. Choose an appropriate length based on the expected message frequency and LPN sleep period because messages that do not fit into the friend queue are dropped. Note that the given value is rounded up to the nearest power of 2. Range: 2..128 |
sl_btmesh_lpn_poll_timeout | (0x1) Poll timeout in milliseconds, which is the longest time that LPN sleeps in between querying its friend for queued messages. Long poll timeout allows the LPN to sleep for longer periods, at the expense of increased latency for receiving messages. Note that the given value is rounded up to the nearest 100 ms Range: 1 s to 95 h 59 min 59 s 900 ms |
sl_btmesh_lpn_receive_delay | (0x2) Receive delay in milliseconds. Receive delay is the time between the LPN sending a request and listening for a response. Receive delay allows the friend node time to prepare the message and LPN to sleep. Range: 10 ms to 255 ms The default receive delay in 10 ms. |
sl_btmesh_lpn_request_retries | (0x3) Request retry is the number of retry attempts to repeat e.g., the friend poll message if the friend update was not received by the LPN. Range is from 0 to 10, default is 3 |
sl_btmesh_lpn_retry_interval | (0x4) Time interval between retry attempts in milliseconds. Range is 0 to 100 ms. |
sl_btmesh_lpn_clock_accuracy | (0x5) Clock accuracy in ppm, which will be taken into account when opening and closing the receive window, and determining the poll timeout. Should be used with care, because inaccurate clock can increase the receive window lenght to up to 2,5 times in some cases. Default value is 0. |
7652
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
Function Documentation#
sl_btmesh_lpn_init#
sl_status_t sl_btmesh_lpn_init ()
Initialize the Low Power node (LPN) mode. The node needs to be provisioned before calling this command. After the LPN mode is initialized, the node can't operate in the network without a Friend node. To establish a friendship with a nearby Friend node, use the sl_btmesh_lpn_establish_friendship command. Make this call before calling the other commands in this class.
Returns
SL_STATUS_OK if successful. Error code otherwise.
7784
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_lpn_deinit#
sl_status_t sl_btmesh_lpn_deinit ()
Deinitialize the LPN functionality. After calling this command, a possible friendship with a Friend node is terminated and the node can operate in the network independently. After calling this command, do not call any other command in this class before the Low Power mode is sl_btmesh_lpn_init again.
Returns
SL_STATUS_OK if successful. Error code otherwise.
7798
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_lpn_establish_friendship#
sl_status_t sl_btmesh_lpn_establish_friendship (uint16_t netkey_index)
[in] | netkey_index | Network key index used in friendship request |
Establish a friendship. After a friendship has been established, the node can start saving power.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
7814
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_lpn_poll#
sl_status_t sl_btmesh_lpn_poll (uint16_t netkey_index)
[in] | netkey_index | Network key index used in poll |
Poll the Friend node for stored messages and security updates. This command may be used if the application is expecting to receive messages at a specific time. However, it is not required for correct operation, because the procedure will be performed autonomously before the poll timeout expires.
Returns
SL_STATUS_OK if successful. Error code otherwise.
7828
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_lpn_terminate_friendship#
sl_status_t sl_btmesh_lpn_terminate_friendship (uint16_t netkey_index)
[in] | netkey_index | Network key index used in friendship request |
Terminate an already established friendship. sl_btmesh_evt_lpn_friendship_terminated event will be emitted when the friendship termination has been completed.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
7844
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_lpn_config#
sl_status_t sl_btmesh_lpn_config (uint8_t setting_id, uint32_t value)
[in] | setting_id | Enum sl_btmesh_lpn_settings_t. Identifies the LPN setting to be updated. |
[in] | value | New value for the given setting |
Configure the parameters for friendship establishment and LPN behavior.
Returns
SL_STATUS_OK if successful. Error code otherwise.
7857
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
Macro Definition Documentation#
sl_btmesh_cmd_lpn_init_id#
#define sl_btmesh_cmd_lpn_init_idValue:
0x00230028
7636
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_cmd_lpn_deinit_id#
#define sl_btmesh_cmd_lpn_deinit_idValue:
0x01230028
7637
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_cmd_lpn_establish_friendship_id#
#define sl_btmesh_cmd_lpn_establish_friendship_idValue:
0x03230028
7638
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_cmd_lpn_poll_id#
#define sl_btmesh_cmd_lpn_poll_idValue:
0x04230028
7639
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_cmd_lpn_terminate_friendship_id#
#define sl_btmesh_cmd_lpn_terminate_friendship_idValue:
0x05230028
7640
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_cmd_lpn_config_id#
#define sl_btmesh_cmd_lpn_config_idValue:
0x06230028
7641
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_rsp_lpn_init_id#
#define sl_btmesh_rsp_lpn_init_idValue:
0x00230028
7642
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_rsp_lpn_deinit_id#
#define sl_btmesh_rsp_lpn_deinit_idValue:
0x01230028
7643
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_rsp_lpn_establish_friendship_id#
#define sl_btmesh_rsp_lpn_establish_friendship_idValue:
0x03230028
7644
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_rsp_lpn_poll_id#
#define sl_btmesh_rsp_lpn_poll_idValue:
0x04230028
7645
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_rsp_lpn_terminate_friendship_id#
#define sl_btmesh_rsp_lpn_terminate_friendship_idValue:
0x05230028
7646
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h
sl_btmesh_rsp_lpn_config_id#
#define sl_btmesh_rsp_lpn_config_idValue:
0x06230028
7647
of file /mnt/raid/workspaces/ws.cynwT2I6w/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h