Bluetooth LE Profile API document
Bluetooth LE Profile API document Rev.1.00 [May 22, 2020]
Health Thermometer Service Server

The Health Thermometer service exposes temperature and other data from a thermometer intended for healthcare and fitness applications. More...

Detailed Description

The Health Thermometer service exposes temperature and other data from a thermometer intended for healthcare and fitness applications.

Data Structures

struct  st_ble_temp_meas_flags_t
 Temperature Measurement Flags value structure. More...
 
struct  st_ble_hts_temp_meas_t
 Temperature Measurement value structure. More...
 
struct  st_ble_hts_intermediate_temperature_t
 Intermediate Temperature value structure. More...
 
struct  st_ble_meas_interval_valid_range_t
 Valid Range value structure. More...
 

Macros

#define BLE_HTS_OUT_OF_RANGE_ERROR   (BLE_ERR_GROUP_GATT | 0x80)
 

Enumerations

enum  e_ble_temp_type_temperature_text_description_t {
  BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_ARMPIT = 1,
  BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_BODY = 2,
  BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_EAR = 3,
  BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_FINGER = 4,
  BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_GASTRO_INTESTINAL_TRACT = 5,
  BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_MOUTH = 6,
  BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_RECTUM = 7,
  BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_TOE = 8,
  BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_TYMPANUM = 9
}
 Temperature Type Temperature Text Description enumeration. More...
 
enum  e_ble_hts_char_idx_t {
  BLE_HTS_TEMP_MEAS_IDX,
  BLE_HTS_TEMP_MEAS_CLI_CNFG_IDX,
  BLE_HTS_TEMP_TYPE_IDX,
  BLE_HTS_INTERMEDIATE_TEMPERATURE_IDX,
  BLE_HTS_INTERMEDIATE_TEMPERATURE_CLI_CNFG_IDX,
  BLE_HTS_MEAS_INTERVAL_IDX,
  BLE_HTS_MEAS_INTERVAL_CLI_CNFG_IDX,
  BLE_HTS_MEAS_INTERVAL_VALID_RANGE_IDX
}
 Health Thermometer Service characteristic Index. More...
 
enum  e_ble_hts_event_t {
  BLE_HTS_EVENT_TEMP_MEAS_HDL_VAL_CNF = BLE_SERVS_ATTR_EVENT(BLE_HTS_TEMP_MEAS_IDX, BLE_SERVS_HDL_VAL_CNF),
  BLE_HTS_EVENT_TEMP_MEAS_CLI_CNFG_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_HTS_TEMP_MEAS_CLI_CNFG_IDX, BLE_SERVS_WRITE_REQ),
  BLE_HTS_EVENT_TEMP_MEAS_CLI_CNFG_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_HTS_TEMP_MEAS_CLI_CNFG_IDX, BLE_SERVS_WRITE_COMP),
  BLE_HTS_EVENT_TEMP_MEAS_CLI_CNFG_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_HTS_TEMP_MEAS_CLI_CNFG_IDX, BLE_SERVS_READ_REQ),
  BLE_HTS_EVENT_TEMP_TYPE_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_HTS_TEMP_TYPE_IDX, BLE_SERVS_READ_REQ),
  BLE_HTS_EVENT_INTERMEDIATE_TEMPERATURE_CLI_CNFG_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_HTS_INTERMEDIATE_TEMPERATURE_CLI_CNFG_IDX, BLE_SERVS_WRITE_REQ),
  BLE_HTS_EVENT_INTERMEDIATE_TEMPERATURE_CLI_CNFG_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_HTS_INTERMEDIATE_TEMPERATURE_CLI_CNFG_IDX, BLE_SERVS_WRITE_COMP),
  BLE_HTS_EVENT_INTERMEDIATE_TEMPERATURE_CLI_CNFG_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_HTS_INTERMEDIATE_TEMPERATURE_CLI_CNFG_IDX, BLE_SERVS_READ_REQ),
  BLE_HTS_EVENT_MEAS_INTERVAL_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_HTS_MEAS_INTERVAL_IDX, BLE_SERVS_WRITE_REQ),
  BLE_HTS_EVENT_MEAS_INTERVAL_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_HTS_MEAS_INTERVAL_IDX, BLE_SERVS_WRITE_COMP),
  BLE_HTS_EVENT_MEAS_INTERVAL_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_HTS_MEAS_INTERVAL_IDX, BLE_SERVS_READ_REQ),
  BLE_HTS_EVENT_MEAS_INTERVAL_HDL_VAL_CNF = BLE_SERVS_ATTR_EVENT(BLE_HTS_MEAS_INTERVAL_IDX, BLE_SERVS_HDL_VAL_CNF),
  BLE_HTS_EVENT_MEAS_INTERVAL_CLI_CNFG_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_HTS_MEAS_INTERVAL_CLI_CNFG_IDX, BLE_SERVS_WRITE_REQ),
  BLE_HTS_EVENT_MEAS_INTERVAL_CLI_CNFG_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_HTS_MEAS_INTERVAL_CLI_CNFG_IDX, BLE_SERVS_WRITE_COMP),
  BLE_HTS_EVENT_MEAS_INTERVAL_CLI_CNFG_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_HTS_MEAS_INTERVAL_CLI_CNFG_IDX, BLE_SERVS_READ_REQ),
  BLE_HTS_EVENT_MEAS_INTERVAL_VALID_RANGE_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_HTS_MEAS_INTERVAL_VALID_RANGE_IDX, BLE_SERVS_READ_REQ)
}
 Health Thermometer Service event type. More...
 

Functions

ble_status_t R_BLE_HTS_IndicateTempMeas (uint16_t conn_hdl, const st_ble_hts_temp_meas_t *p_value)
 Send indication of Temperature Measurement characteristic value to the remote device. More...
 
ble_status_t R_BLE_HTS_SetTempMeasCliCnfg (uint16_t conn_hdl, const uint16_t *p_value)
 Set Temperature Measurement cli cnfg descriptor value to the local GATT database. More...
 
ble_status_t R_BLE_HTS_GetTempMeasCliCnfg (uint16_t conn_hdl, uint16_t *p_value)
 Get Temperature Measurement cli cnfg descriptor value from the local GATT database. More...
 
ble_status_t R_BLE_HTS_SetTempType (const uint8_t *p_value)
 Set Temperature Type characteristic value to the local GATT database. More...
 
ble_status_t R_BLE_HTS_GetTempType (uint8_t *p_value)
 Get Temperature Type characteristic value from the local GATT database. More...
 
ble_status_t R_BLE_HTS_NotifyIntermediateTemperature (uint16_t conn_hdl, const st_ble_hts_intermediate_temperature_t *p_value)
 Send notification of Intermediate Temperature characteristic value to the remote device. More...
 
ble_status_t R_BLE_HTS_SetIntermediateTemperatureCliCnfg (uint16_t conn_hdl, const uint16_t *p_value)
 Set Intermediate Temperature cli cnfg descriptor value to the local GATT database. More...
 
ble_status_t R_BLE_HTS_GetIntermediateTemperatureCliCnfg (uint16_t conn_hdl, uint16_t *p_value)
 Get Intermediate Temperature cli cnfg descriptor value from the local GATT database. More...
 
ble_status_t R_BLE_HTS_SetMeasInterval (const uint16_t *p_value)
 Set Measurement Interval characteristic value to the local GATT database. More...
 
ble_status_t R_BLE_HTS_GetMeasInterval (uint16_t *p_value)
 Get Measurement Interval characteristic value from the local GATT database. More...
 
ble_status_t R_BLE_HTS_IndicateMeasInterval (uint16_t conn_hdl, const uint16_t *p_value)
 Send indication of Measurement Interval characteristic value to the remote device. More...
 
ble_status_t R_BLE_HTS_SetMeasIntervalCliCnfg (uint16_t conn_hdl, const uint16_t *p_value)
 Set Measurement Interval cli cnfg descriptor value to the local GATT database. More...
 
ble_status_t R_BLE_HTS_GetMeasIntervalCliCnfg (uint16_t conn_hdl, uint16_t *p_value)
 Get Measurement Interval cli cnfg descriptor value from the local GATT database. More...
 
ble_status_t R_BLE_HTS_SetMeasIntervalValidRange (const st_ble_meas_interval_valid_range_t *p_value)
 Set Measurement Interval valid range descriptor value to the local GATT database. More...
 
ble_status_t R_BLE_HTS_GetMeasIntervalValidRange (st_ble_meas_interval_valid_range_t *p_value)
 Get Measurement Interval valid range descriptor value from the local GATT database. More...
 
ble_status_t R_BLE_HTS_Init (ble_servs_app_cb_t cb)
 Initialize Health Thermometer Service service. More...
 

Enumeration Type Documentation

◆ e_ble_temp_type_temperature_text_description_t

Temperature Type Temperature Text Description enumeration.

Enumerator
BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_ARMPIT 

Armpit

BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_BODY 

Body (general)

BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_EAR 

Ear (usually ear lobe)

BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_FINGER 

Finger

BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_GASTRO_INTESTINAL_TRACT 

Gastro-intestinal Tract

BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_MOUTH 

Mouth

BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_RECTUM 

Rectum

BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_TOE 

Toe

BLE_HTS_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_TYMPANUM 

Tympanum (ear drum)

◆ e_ble_hts_char_idx_t

Health Thermometer Service characteristic Index.

◆ e_ble_hts_event_t

Health Thermometer Service event type.

Function Documentation

◆ R_BLE_HTS_IndicateTempMeas()

ble_status_t R_BLE_HTS_IndicateTempMeas ( uint16_t  conn_hdl,
const st_ble_hts_temp_meas_t p_value 
)

Send indication of Temperature Measurement characteristic value to the remote device.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueCharacteristic value to send.
Returns
ble_status_t

◆ R_BLE_HTS_SetTempMeasCliCnfg()

ble_status_t R_BLE_HTS_SetTempMeasCliCnfg ( uint16_t  conn_hdl,
const uint16_t *  p_value 
)

Set Temperature Measurement cli cnfg descriptor value to the local GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueDescriptor value to set.
Returns
ble_status_t

◆ R_BLE_HTS_GetTempMeasCliCnfg()

ble_status_t R_BLE_HTS_GetTempMeasCliCnfg ( uint16_t  conn_hdl,
uint16_t *  p_value 
)

Get Temperature Measurement cli cnfg descriptor value from the local GATT database.

Parameters
[in]conn_hdlConnection handle.
[out]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_HTS_SetTempType()

ble_status_t R_BLE_HTS_SetTempType ( const uint8_t *  p_value)

Set Temperature Type characteristic value to the local GATT database.

Parameters
[in]p_valueCharacteristic value to set.
Returns
ble_status_t

◆ R_BLE_HTS_GetTempType()

ble_status_t R_BLE_HTS_GetTempType ( uint8_t *  p_value)

Get Temperature Type characteristic value from the local GATT database.

Parameters
[out]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_HTS_NotifyIntermediateTemperature()

ble_status_t R_BLE_HTS_NotifyIntermediateTemperature ( uint16_t  conn_hdl,
const st_ble_hts_intermediate_temperature_t p_value 
)

Send notification of Intermediate Temperature characteristic value to the remote device.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueCharacteristic value to send.
Returns
ble_status_t

◆ R_BLE_HTS_SetIntermediateTemperatureCliCnfg()

ble_status_t R_BLE_HTS_SetIntermediateTemperatureCliCnfg ( uint16_t  conn_hdl,
const uint16_t *  p_value 
)

Set Intermediate Temperature cli cnfg descriptor value to the local GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueDescriptor value to set.
Returns
ble_status_t

◆ R_BLE_HTS_GetIntermediateTemperatureCliCnfg()

ble_status_t R_BLE_HTS_GetIntermediateTemperatureCliCnfg ( uint16_t  conn_hdl,
uint16_t *  p_value 
)

Get Intermediate Temperature cli cnfg descriptor value from the local GATT database.

Parameters
[in]conn_hdlConnection handle.
[out]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_HTS_SetMeasInterval()

ble_status_t R_BLE_HTS_SetMeasInterval ( const uint16_t *  p_value)

Set Measurement Interval characteristic value to the local GATT database.

Parameters
[in]p_valueCharacteristic value to set.
Returns
ble_status_t

◆ R_BLE_HTS_GetMeasInterval()

ble_status_t R_BLE_HTS_GetMeasInterval ( uint16_t *  p_value)

Get Measurement Interval characteristic value from the local GATT database.

Parameters
[out]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_HTS_IndicateMeasInterval()

ble_status_t R_BLE_HTS_IndicateMeasInterval ( uint16_t  conn_hdl,
const uint16_t *  p_value 
)

Send indication of Measurement Interval characteristic value to the remote device.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueCharacteristic value to send.
Returns
ble_status_t

◆ R_BLE_HTS_SetMeasIntervalCliCnfg()

ble_status_t R_BLE_HTS_SetMeasIntervalCliCnfg ( uint16_t  conn_hdl,
const uint16_t *  p_value 
)

Set Measurement Interval cli cnfg descriptor value to the local GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueDescriptor value to set.
Returns
ble_status_t

◆ R_BLE_HTS_GetMeasIntervalCliCnfg()

ble_status_t R_BLE_HTS_GetMeasIntervalCliCnfg ( uint16_t  conn_hdl,
uint16_t *  p_value 
)

Get Measurement Interval cli cnfg descriptor value from the local GATT database.

Parameters
[in]conn_hdlConnection handle.
[out]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_HTS_SetMeasIntervalValidRange()

ble_status_t R_BLE_HTS_SetMeasIntervalValidRange ( const st_ble_meas_interval_valid_range_t p_value)

Set Measurement Interval valid range descriptor value to the local GATT database.

Parameters
[in]p_valueDescriptor value to set.
Returns
ble_status_t

◆ R_BLE_HTS_GetMeasIntervalValidRange()

ble_status_t R_BLE_HTS_GetMeasIntervalValidRange ( st_ble_meas_interval_valid_range_t p_value)

Get Measurement Interval valid range descriptor value from the local GATT database.

Parameters
[out]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_HTS_Init()

ble_status_t R_BLE_HTS_Init ( ble_servs_app_cb_t  cb)

Initialize Health Thermometer Service service.

Parameters
[in]cbService callback.
Returns
ble_status_t