Battery Service module. More...
Modules |
|
| Battery Service configuration | |
Data Structures |
|
| struct | ble_bas_evt_t |
|
Battery Service event.
More...
|
|
| struct | ble_bas_init_t |
|
Battery Service init structure. This contains all options and data needed for initialization of the service.
More...
|
|
| struct | ble_bas_s |
|
Battery Service structure. This contains various status information for the service.
More...
|
|
Macros |
|
| #define | BLE_BAS_DEF (_name) |
|
Macro for defining a ble_bas instance.
More...
|
|
Typedefs |
|
| typedef struct ble_bas_s | ble_bas_t |
| typedef void(* | ble_bas_evt_handler_t )( ble_bas_t *p_bas, ble_bas_evt_t *p_evt) |
|
Battery Service event handler type.
|
|
Enumerations |
|
| enum |
ble_bas_evt_type_t
{
BLE_BAS_EVT_NOTIFICATION_ENABLED , BLE_BAS_EVT_NOTIFICATION_DISABLED } |
|
Battery Service event type.
More...
|
|
Functions |
|
| ret_code_t | ble_bas_init ( ble_bas_t *p_bas, const ble_bas_init_t *p_bas_init) |
|
Function for initializing the Battery Service.
More...
|
|
| void | ble_bas_on_ble_evt ( ble_evt_t const *p_ble_evt, void *p_context) |
|
Function for handling the Application's BLE Stack events.
More...
|
|
| ret_code_t | ble_bas_battery_level_update ( ble_bas_t *p_bas, uint8_t battery_level, uint16_t conn_handle) |
|
Function for updating the battery level.
More...
|
|
| ret_code_t | ble_bas_battery_lvl_on_reconnection_update ( ble_bas_t *p_bas, uint16_t conn_handle) |
|
Function for sending the last battery level when bonded client reconnects.
More...
|
|
Detailed Description
Battery Service module.
This module implements the Battery Service with the Battery Level characteristic. During initialization it adds the Battery Service and Battery Level characteristic to the BLE stack database. Optionally it can also add a Report Reference descriptor to the Battery Level characteristic (used when including the Battery Service in the HID service).
If specified, the module will support notification of the Battery Level characteristic through the ble_bas_battery_level_update() function. If an event handler is supplied by the application, the Battery Service will generate Battery Service events to the application.
- Note
-
The application must register this module as BLE event observer using the NRF_SDH_BLE_OBSERVER macro. Example:
ble_bas_t instance;NRF_SDH_BLE_OBSERVER (anything, BLE_BAS_BLE_OBSERVER_PRIO ,ble_bas_on_ble_evt , &instance);
- Attention! To maintain compliance with Nordic Semiconductor ASA Bluetooth profile qualification listings, this section of source code must not be modified.
Macro Definition Documentation
| #define BLE_BAS_DEF | ( | _name | ) |
Macro for defining a ble_bas instance.
- Parameters
-
_name Name of the instance.
Enumeration Type Documentation
| enum ble_bas_evt_type_t |
Function Documentation
| ret_code_t ble_bas_battery_level_update | ( | ble_bas_t * | p_bas , |
| uint8_t | battery_level , | ||
| uint16_t | conn_handle | ||
| ) |
Function for updating the battery level.
The application calls this function after having performed a battery measurement. The battery level characteristic will only be sent to the clients which have enabled notifications. BLE_CONN_HANDLE_ALL can be used as a connection handle to send notifications to all connected devices.
- Parameters
-
[in] p_bas Battery Service structure. [in] battery_level New battery measurement value (in percent of full capacity). [in] conn_handle Connection handle.
- Returns
- NRF_SUCCESS on success, otherwise an error code.
| ret_code_t ble_bas_battery_lvl_on_reconnection_update | ( | ble_bas_t * | p_bas , |
| uint16_t | conn_handle | ||
| ) |
Function for sending the last battery level when bonded client reconnects.
The application calls this function, in the case of a reconnection of a bonded client if the value of the battery has changed since its disconnection.
- Note
- For the requirements in the BAS specification to be fulfilled, this function must be called upon reconnection if the battery level has changed while the service has been disconnected from a bonded client.
- Parameters
-
[in] p_bas Battery Service structure. [in] conn_handle Connection handle.
- Returns
- NRF_SUCCESS on success, NRF_ERROR_INVALID_STATE when notification is not supported, otherwise an error code returned by sd_ble_gatts_hvx .
| ret_code_t ble_bas_init | ( | ble_bas_t * | p_bas , |
| const ble_bas_init_t * | p_bas_init | ||
| ) |
Function for initializing the Battery Service.
- Parameters
-
[out] p_bas Battery Service structure. This structure will have to be supplied by the application. It will be initialized by this function, and will later be used to identify this particular service instance. [in] p_bas_init Information needed to initialize the service.
- Returns
- NRF_SUCCESS on successful initialization of service, otherwise an error code.
| void ble_bas_on_ble_evt | ( | ble_evt_t const * | p_ble_evt , |
| void * | p_context | ||
| ) |
Function for handling the Application's BLE Stack events.
Handles all events from the BLE stack of interest to the Battery Service.
- Note
- For the requirements in the BAS specification to be fulfilled, ble_bas_battery_level_update() must be called upon reconnection if the battery level has changed while the service has been disconnected from a bonded client.
- Parameters
-
[in] p_ble_evt Event received from the BLE stack. [in] p_context Battery Service structure.