| nRF5 SDK v12.0.0 |

Choose documentation: | nRF5 SDK | S130 SoftDevice API | S132 SoftDevice API | S212 SoftDevice API | S332 SoftDevice API

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Modules | Data Structures | Typedefs | Enumerations | Functions
Battery Service
BLE Services

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...

## 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
uint32_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_bas_t *p_bas, ble_evt_t *p_ble_evt)
| Function for handling the Application's BLE Stack events. More...
uint32_t | ble_bas_battery_level_update (ble_bas_t *p_bas, uint8_t battery_level)
| Function for updating the battery level. 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 propagate BLE stack events to the Battery Service module by calling ble_bas_on_ble_evt() from the SoftDevice Event Handler callback.
  Attention! To maintain compliance with Nordic Semiconductor ASA Bluetooth profile qualification listings, this section of source code must not be modified.

## Enumeration Type Documentation

enum ble_bas_evt_type_t

Battery Service event type.

Enumerator
BLE_BAS_EVT_NOTIFICATION_ENABLED | Battery value notification enabled event.
BLE_BAS_EVT_NOTIFICATION_DISABLED | Battery value notification disabled event.

## Function Documentation

uint32_t ble_bas_battery_level_update | ( | ble_bas_t * | p_bas,
|  | uint8_t | battery_level
| ) |  |

Function for updating the battery level.

The application calls this function after having performed a battery measurement. If notification has been enabled, the battery level characteristic is sent to the client.

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] | battery_level | New battery measurement value (in percent of full capacity).

Returns
  NRF_SUCCESS on success, otherwise an error code.

uint32_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_bas_t * | p_bas,
|  | ble_evt_t * | p_ble_evt
| ) |  |

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_bas | Battery Service structure.
  [in] | p_ble_evt | Event received from the BLE stack.