nRF51 SDK - S110 SoftDevice
|
Heart Rate Service module. More...
Data Structures | |
struct | ble_hrs_evt_t |
Heart Rate Service event. More... | |
struct | ble_hrs_init_t |
Heart Rate Service init structure. This contains all options and data needed for initialization of the service. More... | |
struct | ble_hrs_s |
Heart Rate Service structure. This contains various status information for the service. More... | |
Macros | |
#define | BLE_HRS_BODY_SENSOR_LOCATION_OTHER 0 |
#define | BLE_HRS_BODY_SENSOR_LOCATION_CHEST 1 |
#define | BLE_HRS_BODY_SENSOR_LOCATION_WRIST 2 |
#define | BLE_HRS_BODY_SENSOR_LOCATION_FINGER 3 |
#define | BLE_HRS_BODY_SENSOR_LOCATION_HAND 4 |
#define | BLE_HRS_BODY_SENSOR_LOCATION_EAR_LOBE 5 |
#define | BLE_HRS_BODY_SENSOR_LOCATION_FOOT 6 |
#define | BLE_HRS_MAX_BUFFERED_RR_INTERVALS 20 |
Typedefs | |
typedef struct ble_hrs_s | ble_hrs_t |
Heart Rate Service structure. This contains various status information for the service. | |
typedef void(* | ble_hrs_evt_handler_t )(ble_hrs_t *p_hrs, ble_hrs_evt_t *p_evt) |
Heart Rate Service event handler type. | |
Enumerations | |
enum | ble_hrs_evt_type_t { BLE_HRS_EVT_NOTIFICATION_ENABLED, BLE_HRS_EVT_NOTIFICATION_DISABLED } |
Heart Rate Service event type. More... | |
Functions | |
uint32_t | ble_hrs_init (ble_hrs_t *p_hrs, const ble_hrs_init_t *p_hrs_init) |
Function for initializing the Heart Rate Service. More... | |
void | ble_hrs_on_ble_evt (ble_hrs_t *p_hrs, ble_evt_t *p_ble_evt) |
Function for handling the Application's BLE Stack events. More... | |
uint32_t | ble_hrs_heart_rate_measurement_send (ble_hrs_t *p_hrs, uint16_t heart_rate) |
Function for sending heart rate measurement if notification has been enabled. More... | |
void | ble_hrs_rr_interval_add (ble_hrs_t *p_hrs, uint16_t rr_interval) |
Function for adding a RR Interval measurement to the RR Interval buffer. More... | |
bool | ble_hrs_rr_interval_buffer_is_full (ble_hrs_t *p_hrs) |
Function for checking if RR Interval buffer is full. More... | |
uint32_t | ble_hrs_sensor_contact_supported_set (ble_hrs_t *p_hrs, bool is_sensor_contact_supported) |
Function for setting the state of the Sensor Contact Supported bit. More... | |
void | ble_hrs_sensor_contact_detected_update (ble_hrs_t *p_hrs, bool is_sensor_contact_detected) |
Function for setting the state of the Sensor Contact Detected bit. More... | |
uint32_t | ble_hrs_body_sensor_location_set (ble_hrs_t *p_hrs, uint8_t body_sensor_location) |
Function for setting the Body Sensor Location. More... | |
Heart Rate Service module.
This module implements the Heart Rate Service with the Heart Rate Measurement, Body Sensor Location and Heart Rate Control Point characteristics. During initialization it adds the Heart Rate Service and Heart Rate Measurement characteristic to the BLE stack database. Optionally it also adds the Body Sensor Location and Heart Rate Control Point characteristics.
If enabled, notification of the Heart Rate Measurement characteristic is performed when the application calls ble_hrs_heart_rate_measurement_send().
The Heart Rate Service also provides a set of functions for manipulating the various fields in the Heart Rate Measurement characteristic, as well as setting the Body Sensor Location characteristic value.
If an event handler is supplied by the application, the Heart Rate Service will generate Heart Rate Service events to the application.
#define BLE_HRS_MAX_BUFFERED_RR_INTERVALS 20 |
Size of RR Interval buffer inside service.
enum ble_hrs_evt_type_t |
uint32_t ble_hrs_body_sensor_location_set | ( | ble_hrs_t * | p_hrs, |
uint8_t | body_sensor_location | ||
) |
Function for setting the Body Sensor Location.
Sets a new value of the Body Sensor Location characteristic. The new value will be sent to the client the next time the client reads the Body Sensor Location characteristic.
[in] | p_hrs | Heart Rate Service structure. |
[in] | body_sensor_location | New Body Sensor Location. |
uint32_t ble_hrs_heart_rate_measurement_send | ( | ble_hrs_t * | p_hrs, |
uint16_t | heart_rate | ||
) |
Function for sending heart rate measurement if notification has been enabled.
The application calls this function after having performed a heart rate measurement. If notification has been enabled, the heart rate measurement data is encoded and sent to the client.
[in] | p_hrs | Heart Rate Service structure. |
[in] | heart_rate | New heart rate measurement. |
uint32_t ble_hrs_init | ( | ble_hrs_t * | p_hrs, |
const ble_hrs_init_t * | p_hrs_init | ||
) |
Function for initializing the Heart Rate Service.
[out] | p_hrs | Heart Rate 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_hrs_init | Information needed to initialize the service. |
Function for handling the Application's BLE Stack events.
Handles all events from the BLE stack of interest to the Heart Rate Service.
[in] | p_hrs | Heart Rate Service structure. |
[in] | p_ble_evt | Event received from the BLE stack. |
void ble_hrs_rr_interval_add | ( | ble_hrs_t * | p_hrs, |
uint16_t | rr_interval | ||
) |
Function for adding a RR Interval measurement to the RR Interval buffer.
All buffered RR Interval measurements will be included in the next heart rate measurement message, up to the maximum number of measurements that will fit into the message. If the buffer is full, the oldest measurement in the buffer will be deleted.
[in] | p_hrs | Heart Rate Service structure. |
[in] | rr_interval | New RR Interval measurement (will be buffered until the next transmission of Heart Rate Measurement). |
bool ble_hrs_rr_interval_buffer_is_full | ( | ble_hrs_t * | p_hrs | ) |
Function for checking if RR Interval buffer is full.
[in] | p_hrs | Heart Rate Service structure. |
void ble_hrs_sensor_contact_detected_update | ( | ble_hrs_t * | p_hrs, |
bool | is_sensor_contact_detected | ||
) |
Function for setting the state of the Sensor Contact Detected bit.
[in] | p_hrs | Heart Rate Service structure. |
[in] | is_sensor_contact_detected | TRUE if sensor contact is detected, FALSE otherwise. |
uint32_t ble_hrs_sensor_contact_supported_set | ( | ble_hrs_t * | p_hrs, |
bool | is_sensor_contact_supported | ||
) |
Function for setting the state of the Sensor Contact Supported bit.
[in] | p_hrs | Heart Rate Service structure. |
[in] | is_sensor_contact_supported | New state of the Sensor Contact Supported bit. |