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

This is the client for the Health Thermometer Service. More...

Detailed Description

This is the client for the Health Thermometer Service.

Data Structures

struct  st_ble_temp_meas_flags_t
 Temperature Measurement Flags value structure. More...
 
struct  st_ble_htc_temp_meas_t
 Temperature Measurement value structure. More...
 
struct  st_ble_htc_temp_meas_attr_hdl_t
 Temperature Measurement attribute handle value. More...
 
struct  st_ble_htc_temp_type_attr_hdl_t
 Temperature Type attribute handle value. More...
 
struct  st_ble_htc_intermediate_temperature_t
 Intermediate Temperature characteristic parameters. More...
 
struct  st_ble_htc_intermediate_temperature_attr_hdl_t
 Intermediate Temperature attribute handle value. More...
 
struct  st_ble_meas_interval_valid_range_t
 Valid Range value structure. More...
 
struct  st_ble_htc_meas_interval_attr_hdl_t
 Measurement Interval attribute handle value. More...
 
struct  st_ble_htc_evt_data_t
 Health Thermometer Service client event data. More...
 

Macros

#define BLE_HTC_TEMP_MEAS_LEN   (13)
 Temperature Measurement characteristic value length. More...
 
#define BLE_HTC_TEMP_TYPE_LEN   (1)
 Temperature Type characteristic value length. More...
 
#define BLE_HTC_TEMP_TYPE_LEN   (1)
 Temperature Type characteristic value length. More...
 
#define BLE_HTC_INTERMEDIATE_TEMPERATURE_LEN   (13)
 Intermediate Temperature characteristic value length. More...
 
#define BLE_HTC_INTERMEDIATE_TEMPERATURE_LEN   (13)
 Intermediate Temperature characteristic value length. More...
 
#define BLE_HTC_MEAS_INTERVAL_LEN   (2)
 Measurement Interval characteristic value length. More...
 
#define BLE_HTC_MEAS_INTERVAL_LEN   (2)
 Measurement Interval characteristic value length. More...
 
#define BLE_PRV_HTC_TEMP_MEAS_FLAGS_TEMPERATURE_UNITS_FLAG   (1 << 0)
 Temperature Units Flag bit. More...
 
#define BLE_PRV_HTC_TEMP_MEAS_FLAGS_TIME_STAMP_FLAG   (1 << 1)
 Time Stamp Flag bit. More...
 
#define BLE_PRV_HTC_TEMP_MEAS_FLAGS_TEMP_TYPE_FLAG   (1 << 2)
 Temperature Type Flag bit. More...
 
#define BLE_HTC_TEMP_MEAS_UUID   (0x2A1C)
 
#define BLE_HTC_TEMP_MEAS_CLI_CNFG_UUID   (0x2902)
 
#define BLE_HTC_TEMP_MEAS_CLI_CNFG_LEN   (2)
 
#define BLE_HTC_TEMP_TYPE_UUID   (0x2A1D)
 
#define BLE_HTC_INTERMEDIATE_TEMPERATURE_UUID   (0x2A1E)
 
#define BLE_HTC_INTERMEDIATE_TEMPERATURE_CLI_CNFG_UUID   (0x2902)
 
#define BLE_HTC_INTERMEDIATE_TEMPERATURE_CLI_CNFG_LEN   (2)
 
#define BLE_HTC_MEAS_INTERVAL_UUID   (0x2A21)
 
#define BLE_HTC_MEAS_INTERVAL_CLI_CNFG_UUID   (0x2902)
 
#define BLE_HTC_MEAS_INTERVAL_CLI_CNFG_LEN   (2)
 
#define BLE_HTC_MEAS_INTERVAL_VALID_RANGE_UUID   (0x2906)
 
#define BLE_HTC_MEAS_INTERVAL_VALID_RANGE_LEN   (4)
 
#define BLE_HTC_OUT_OF_RANGE_ERROR   (BLE_ERR_GROUP_GATT | 0x80)
 The value is considered invalid and outside of the range allowed by the charateristic. More...
 

Enumerations

enum  e_ble_htc_temp_type_temperature_text_description_t {
  BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_ARMPIT = 1,
  BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_BODY = 2,
  BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_EAR = 3,
  BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_FINGER = 4,
  BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_GASTRO_INTESTINAL_TRACT = 5,
  BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_MOUTH = 6,
  BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_RECTUM = 7,
  BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_TOE = 8,
  BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_TYMPANUM = 9
}
 Temperature Type Temperature Text Description enumeration. More...
 
enum  e_ble_htc_char_idx_t {
  BLE_HTC_TEMP_MEAS_IDX,
  BLE_HTC_TEMP_MEAS_CLI_CNFG_IDX,
  BLE_HTC_TEMP_TYPE_IDX,
  BLE_HTC_INTERMEDIATE_TEMPERATURE_IDX,
  BLE_HTC_INTERMEDIATE_TEMPERATURE_CLI_CNFG_IDX,
  BLE_HTC_MEAS_INTERVAL_IDX,
  BLE_HTC_MEAS_INTERVAL_CLI_CNFG_IDX,
  BLE_HTC_MEAS_INTERVAL_VALID_RANGE_IDX
}
 Health Thermometer Service characteristic ID. More...
 
enum  e_ble_htc_event_t {
  BLE_HTC_EVENT_TEMP_MEAS_HDL_VAL_IND = BLE_SERVC_ATTR_EVENT(BLE_HTC_TEMP_MEAS_IDX, BLE_SERVC_HDL_VAL_IND),
  BLE_HTC_EVENT_TEMP_MEAS_CLI_CNFG_READ_RSP = BLE_SERVC_ATTR_EVENT(BLE_HTC_TEMP_MEAS_CLI_CNFG_IDX, BLE_SERVC_READ_RSP),
  BLE_HTC_EVENT_TEMP_MEAS_CLI_CNFG_WRITE_RSP = BLE_SERVC_ATTR_EVENT(BLE_HTC_TEMP_MEAS_CLI_CNFG_IDX, BLE_SERVC_WRITE_RSP),
  BLE_HTC_EVENT_TEMP_TYPE_READ_RSP = BLE_SERVC_ATTR_EVENT(BLE_HTC_TEMP_TYPE_IDX, BLE_SERVC_READ_RSP),
  BLE_HTC_EVENT_INTERMEDIATE_TEMPERATURE_HDL_VAL_NTF = BLE_SERVC_ATTR_EVENT(BLE_HTC_INTERMEDIATE_TEMPERATURE_IDX, BLE_SERVC_HDL_VAL_NTF),
  BLE_HTC_EVENT_INTERMEDIATE_TEMPERATURE_CLI_CNFG_READ_RSP = BLE_SERVC_ATTR_EVENT(BLE_HTC_INTERMEDIATE_TEMPERATURE_CLI_CNFG_IDX, BLE_SERVC_READ_RSP),
  BLE_HTC_EVENT_INTERMEDIATE_TEMPERATURE_CLI_CNFG_WRITE_RSP = BLE_SERVC_ATTR_EVENT(BLE_HTC_INTERMEDIATE_TEMPERATURE_CLI_CNFG_IDX, BLE_SERVC_WRITE_RSP),
  BLE_HTC_EVENT_MEAS_INTERVAL_READ_RSP = BLE_SERVC_ATTR_EVENT(BLE_HTC_MEAS_INTERVAL_IDX, BLE_SERVC_READ_RSP),
  BLE_HTC_EVENT_MEAS_INTERVAL_WRITE_RSP = BLE_SERVC_ATTR_EVENT(BLE_HTC_MEAS_INTERVAL_IDX, BLE_SERVC_WRITE_RSP),
  BLE_HTC_EVENT_MEAS_INTERVAL_HDL_VAL_IND = BLE_SERVC_ATTR_EVENT(BLE_HTC_MEAS_INTERVAL_IDX, BLE_SERVC_HDL_VAL_IND),
  BLE_HTC_EVENT_MEAS_INTERVAL_CLI_CNFG_READ_RSP = BLE_SERVC_ATTR_EVENT(BLE_HTC_MEAS_INTERVAL_CLI_CNFG_IDX, BLE_SERVC_READ_RSP),
  BLE_HTC_EVENT_MEAS_INTERVAL_CLI_CNFG_WRITE_RSP = BLE_SERVC_ATTR_EVENT(BLE_HTC_MEAS_INTERVAL_CLI_CNFG_IDX, BLE_SERVC_WRITE_RSP),
  BLE_HTC_EVENT_MEAS_INTERVAL_VALID_RANGE_READ_RSP = BLE_SERVC_ATTR_EVENT(BLE_HTC_MEAS_INTERVAL_VALID_RANGE_IDX, BLE_SERVC_READ_RSP)
}
 Health Thermometer Service client event type. More...
 

Functions

ble_status_t R_BLE_HTC_ReadTempMeasCliCnfg (uint16_t conn_hdl)
 Read Temperature Measurement characteristic Client Characteristic Configuration descriptor value from the remote GATT database. More...
 
ble_status_t R_BLE_HTC_WriteTempMeasCliCnfg (uint16_t conn_hdl, const uint16_t *p_value)
 Write Temperature Measurement characteristic Client Characteristic Configuration descriptor value to remote GATT database. More...
 
void R_BLE_HTC_GetTempMeasAttrHdl (const st_ble_dev_addr_t *p_addr, st_ble_htc_temp_meas_attr_hdl_t *p_hdl)
 Get Temperature Measurement attribute handles. More...
 
ble_status_t R_BLE_HTC_ReadTempType (uint16_t conn_hdl)
 Read Temperature Type characteristic value from the remote GATT database. More...
 
void R_BLE_HTC_GetTempTypeAttrHdl (const st_ble_dev_addr_t *p_addr, st_ble_htc_temp_type_attr_hdl_t *p_hdl)
 Get Temperature Type attribute handles. More...
 
ble_status_t R_BLE_HTC_ReadIntermediateTemperatureCliCnfg (uint16_t conn_hdl)
 Read Intermediate Temperature characteristic Client Characteristic Configuration descriptor value from the remote GATT database. More...
 
ble_status_t R_BLE_HTC_WriteIntermediateTemperatureCliCnfg (uint16_t conn_hdl, const uint16_t *p_value)
 Write Intermediate Temperature characteristic Client Characteristic Configuration descriptor value to remote GATT database. More...
 
void R_BLE_HTC_GetIntermediateTemperatureAttrHdl (const st_ble_dev_addr_t *p_addr, st_ble_htc_intermediate_temperature_attr_hdl_t *p_hdl)
 Get Intermediate Temperature attribute handles. More...
 
ble_status_t R_BLE_HTC_ReadMeasIntervalCliCnfg (uint16_t conn_hdl)
 Read Measurement Interval characteristic Client Characteristic Configuration descriptor value from the remote GATT database. More...
 
ble_status_t R_BLE_HTC_WriteMeasIntervalCliCnfg (uint16_t conn_hdl, const uint16_t *p_value)
 Write Measurement Interval characteristic Client Characteristic Configuration descriptor value to remote GATT database. More...
 
ble_status_t R_BLE_HTC_ReadMeasIntervalValidRange (uint16_t conn_hdl)
 Read Measurement Interval characteristic Valid Range descriptor value from the remote GATT database. More...
 
ble_status_t R_BLE_HTC_ReadMeasInterval (uint16_t conn_hdl)
 Read Measurement Interval characteristic value from the remote GATT database. More...
 
ble_status_t R_BLE_HTC_WriteMeasInterval (uint16_t conn_hdl, const uint16_t *p_value)
 Write Measurement Interval characteristic value to remote GATT database. More...
 
void R_BLE_HTC_GetMeasIntervalAttrHdl (const st_ble_dev_addr_t *p_addr, st_ble_htc_meas_interval_attr_hdl_t *p_hdl)
 Get Measurement Interval attribute handles. More...
 
ble_status_t R_BLE_HTC_Init (ble_servc_app_cb_t cb)
 Initialize Health Thermometer Service client. More...
 
void R_BLE_HTC_ServDiscCb (uint16_t conn_hdl, uint8_t serv_idx, uint16_t type, void *p_param)
 Health Thermometer Service client discovery callback. More...
 
void R_BLE_HTC_GetServAttrHdl (const st_ble_dev_addr_t *p_addr, st_ble_gatt_hdl_range_t *p_hdl)
 Get Health Thermometer Service client attribute handle. More...
 

Macro Definition Documentation

◆ BLE_HTC_TEMP_MEAS_LEN

#define BLE_HTC_TEMP_MEAS_LEN   (13)

Temperature Measurement characteristic value length.

◆ BLE_HTC_TEMP_TYPE_LEN [1/2]

#define BLE_HTC_TEMP_TYPE_LEN   (1)

Temperature Type characteristic value length.

◆ BLE_HTC_TEMP_TYPE_LEN [2/2]

#define BLE_HTC_TEMP_TYPE_LEN   (1)

Temperature Type characteristic value length.

◆ BLE_HTC_INTERMEDIATE_TEMPERATURE_LEN [1/2]

#define BLE_HTC_INTERMEDIATE_TEMPERATURE_LEN   (13)

Intermediate Temperature characteristic value length.

◆ BLE_HTC_INTERMEDIATE_TEMPERATURE_LEN [2/2]

#define BLE_HTC_INTERMEDIATE_TEMPERATURE_LEN   (13)

Intermediate Temperature characteristic value length.

◆ BLE_HTC_MEAS_INTERVAL_LEN [1/2]

#define BLE_HTC_MEAS_INTERVAL_LEN   (2)

Measurement Interval characteristic value length.

◆ BLE_HTC_MEAS_INTERVAL_LEN [2/2]

#define BLE_HTC_MEAS_INTERVAL_LEN   (2)

Measurement Interval characteristic value length.

◆ BLE_PRV_HTC_TEMP_MEAS_FLAGS_TEMPERATURE_UNITS_FLAG

#define BLE_PRV_HTC_TEMP_MEAS_FLAGS_TEMPERATURE_UNITS_FLAG   (1 << 0)

Temperature Units Flag bit.

◆ BLE_PRV_HTC_TEMP_MEAS_FLAGS_TIME_STAMP_FLAG

#define BLE_PRV_HTC_TEMP_MEAS_FLAGS_TIME_STAMP_FLAG   (1 << 1)

Time Stamp Flag bit.

◆ BLE_PRV_HTC_TEMP_MEAS_FLAGS_TEMP_TYPE_FLAG

#define BLE_PRV_HTC_TEMP_MEAS_FLAGS_TEMP_TYPE_FLAG   (1 << 2)

Temperature Type Flag bit.

◆ BLE_HTC_OUT_OF_RANGE_ERROR

#define BLE_HTC_OUT_OF_RANGE_ERROR   (BLE_ERR_GROUP_GATT | 0x80)

The value is considered invalid and outside of the range allowed by the charateristic.

Enumeration Type Documentation

◆ e_ble_htc_temp_type_temperature_text_description_t

Temperature Type Temperature Text Description enumeration.

Enumerator
BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_ARMPIT 

Armpit

BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_BODY 

Body (general)

BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_EAR 

Ear (usually ear lobe)

BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_FINGER 

Finger

BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_GASTRO_INTESTINAL_TRACT 

Gastro-intestinal Tract

BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_MOUTH 

Mouth

BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_RECTUM 

Rectum

BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_TOE 

Toe

BLE_HTC_TEMP_TYPE_TEMPERATURE_TEXT_DESCRIPTION_TYMPANUM 

Tympanum (ear drum)

◆ e_ble_htc_char_idx_t

Health Thermometer Service characteristic ID.

◆ e_ble_htc_event_t

Health Thermometer Service client event type.

Function Documentation

◆ R_BLE_HTC_ReadTempMeasCliCnfg()

ble_status_t R_BLE_HTC_ReadTempMeasCliCnfg ( uint16_t  conn_hdl)

Read Temperature Measurement characteristic Client Characteristic Configuration descriptor value from the remote GATT database.

Parameters
[in]conn_hdlConnection handle.
Returns
ble_status_t

◆ R_BLE_HTC_WriteTempMeasCliCnfg()

ble_status_t R_BLE_HTC_WriteTempMeasCliCnfg ( uint16_t  conn_hdl,
const uint16_t *  p_value 
)

Write Temperature Measurement characteristic Client Characteristic Configuration descriptor value to remote GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueTemperature Measurement characteristic Client Characteristic Configuration descriptor value to write.
Returns
ble_status_t

◆ R_BLE_HTC_GetTempMeasAttrHdl()

void R_BLE_HTC_GetTempMeasAttrHdl ( const st_ble_dev_addr_t p_addr,
st_ble_htc_temp_meas_attr_hdl_t p_hdl 
)

Get Temperature Measurement attribute handles.

Parameters
[in]p_addrBluetooth device address for the attribute handles.
[out]p_hdlThe pointer to store the retrieved attribute handles.
Returns
ble_status_t

◆ R_BLE_HTC_ReadTempType()

ble_status_t R_BLE_HTC_ReadTempType ( uint16_t  conn_hdl)

Read Temperature Type characteristic value from the remote GATT database.

Parameters
[in]conn_hdlConnection handle.
Returns
ble_status_t

◆ R_BLE_HTC_GetTempTypeAttrHdl()

void R_BLE_HTC_GetTempTypeAttrHdl ( const st_ble_dev_addr_t p_addr,
st_ble_htc_temp_type_attr_hdl_t p_hdl 
)

Get Temperature Type attribute handles.

Parameters
[in]p_addrBluetooth device address for the attribute handles.
[out]p_hdlThe pointer to store the retrieved attribute handles.
Returns
ble_status_t

◆ R_BLE_HTC_ReadIntermediateTemperatureCliCnfg()

ble_status_t R_BLE_HTC_ReadIntermediateTemperatureCliCnfg ( uint16_t  conn_hdl)

Read Intermediate Temperature characteristic Client Characteristic Configuration descriptor value from the remote GATT database.

Parameters
[in]conn_hdlConnection handle.
Returns
ble_status_t

◆ R_BLE_HTC_WriteIntermediateTemperatureCliCnfg()

ble_status_t R_BLE_HTC_WriteIntermediateTemperatureCliCnfg ( uint16_t  conn_hdl,
const uint16_t *  p_value 
)

Write Intermediate Temperature characteristic Client Characteristic Configuration descriptor value to remote GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueIntermediate Temperature characteristic Client Characteristic Configuration descriptor value to write.
Returns
ble_status_t

◆ R_BLE_HTC_GetIntermediateTemperatureAttrHdl()

void R_BLE_HTC_GetIntermediateTemperatureAttrHdl ( const st_ble_dev_addr_t p_addr,
st_ble_htc_intermediate_temperature_attr_hdl_t p_hdl 
)

Get Intermediate Temperature attribute handles.

Parameters
[in]p_addrBluetooth device address for the attribute handles.
[out]p_hdlThe pointer to store the retrieved attribute handles.
Returns
ble_status_t

◆ R_BLE_HTC_ReadMeasIntervalCliCnfg()

ble_status_t R_BLE_HTC_ReadMeasIntervalCliCnfg ( uint16_t  conn_hdl)

Read Measurement Interval characteristic Client Characteristic Configuration descriptor value from the remote GATT database.

Parameters
[in]conn_hdlConnection handle.
Returns
ble_status_t

◆ R_BLE_HTC_WriteMeasIntervalCliCnfg()

ble_status_t R_BLE_HTC_WriteMeasIntervalCliCnfg ( uint16_t  conn_hdl,
const uint16_t *  p_value 
)

Write Measurement Interval characteristic Client Characteristic Configuration descriptor value to remote GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueMeasurement Interval characteristic Client Characteristic Configuration descriptor value to write.
Returns
ble_status_t

◆ R_BLE_HTC_ReadMeasIntervalValidRange()

ble_status_t R_BLE_HTC_ReadMeasIntervalValidRange ( uint16_t  conn_hdl)

Read Measurement Interval characteristic Valid Range descriptor value from the remote GATT database.

Parameters
[in]conn_hdlConnection handle.
Returns
ble_status_t

◆ R_BLE_HTC_ReadMeasInterval()

ble_status_t R_BLE_HTC_ReadMeasInterval ( uint16_t  conn_hdl)

Read Measurement Interval characteristic value from the remote GATT database.

Parameters
[in]conn_hdlConnection handle.
Returns
ble_status_t

◆ R_BLE_HTC_WriteMeasInterval()

ble_status_t R_BLE_HTC_WriteMeasInterval ( uint16_t  conn_hdl,
const uint16_t *  p_value 
)

Write Measurement Interval characteristic value to remote GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueMeasurement Interval characteristic value to write.
Returns
ble_status_t

◆ R_BLE_HTC_GetMeasIntervalAttrHdl()

void R_BLE_HTC_GetMeasIntervalAttrHdl ( const st_ble_dev_addr_t p_addr,
st_ble_htc_meas_interval_attr_hdl_t p_hdl 
)

Get Measurement Interval attribute handles.

Parameters
[in]p_addrBluetooth device address for the attribute handles.
[out]p_hdlThe pointer to store the retrieved attribute handles.
Returns
ble_status_t

◆ R_BLE_HTC_Init()

ble_status_t R_BLE_HTC_Init ( ble_servc_app_cb_t  cb)

Initialize Health Thermometer Service client.

Parameters
[in]cbClient callback.
Returns
ble_status_t

◆ R_BLE_HTC_ServDiscCb()

void R_BLE_HTC_ServDiscCb ( uint16_t  conn_hdl,
uint8_t  serv_idx,
uint16_t  type,
void *  p_param 
)

Health Thermometer Service client discovery callback.

Parameters
[in]conn_hdlConnection handle
[in]serv_idxService instance index.
[in]typeService discovery event type.
[out]p_paramService discovery event parameter.
Returns
ble_status_t

◆ R_BLE_HTC_GetServAttrHdl()

void R_BLE_HTC_GetServAttrHdl ( const st_ble_dev_addr_t p_addr,
st_ble_gatt_hdl_range_t p_hdl 
)

Get Health Thermometer Service client attribute handle.

Parameters
[in]p_addrBluetooth device address for the attribute handles.
[out]p_hdlThe pointer to store the retrieved attribute handles.