Go to the documentation of this file.
63 #include "custom_config.h"
73 #define BCS_CONNECTION_MAX 10
74 #define BCS_MEAS_VAL_LEN_MAX 20
75 #define BCS_FEAT_VAL_LEN_MAX 4
77 #define INDI_PAYLOAD_HEADER_LEN 3
90 #define MEAS_PACKET_FIRST 0
91 #define MEAS_PACKET_SUB 1
94 #define BCS_CACHE_MEAS_NUM_MAX 25
96 #define BCS_MEAS_UNSUCCESS 0xFFFF
98 #define BCS_MEAS_FLAG_DEFAULT 0x01FF
105 #define BCS_CHAR_FEAT_MANDATORY 0x3F
uint16_t height
Height data.
@ BCS_MEAS_FLAG_SOFT_LEAN_MASS
Flag bit for Soft Lean Mass Present.
uint8_t basal_metabolism_present
Basal Metabolism flag.
uint8_t char_mask
Initial mask of Supported characteristics, and configured with Characteristics Mask.
@ BCS_MEAS_FLAG_HEIGHT
Flag bit for Height Present.
bcs_feature_t
Body Composition Feature characteristic bit values.
@ BCS_MASS_RES_500G
Resolution of 0.5kg or 1lb.
bcs_unit_t
BCS unit types.
const uint8_t * p_data
Pointer to event data.
bcs_meas_flag_t bcs_meas_flags
Initial measurement flags.
@ BCS_MEAS_FLAG_FAT_FREE_MASS
Flag bit for Fat Free Mass Present.
bcs_mass_res_t
BCS Weight Measurement resolutions.
@ BCS_MEAS_FLAG_MUSCLE_PERCENTAGE
Flag bit for Muscle Percentage Present.
uint8_t time_stamp_present
Time Stamp flag.
bcs_evt_type_t
Body Composition Service event type.
Body Composition Service event.
@ BCS_HEIGHT_RES_10MM
Resolution of 0.01m or 1in.
@ BCS_MEAS_FLAG_UNIT_IMPERIAL
Flag bit for Imperial Measurement Units Present.
bcs_mass_res_t bcs_mass_res
Initial resolution of mass value.
bcs_evt_type_t evt_type
The BCS event type.
@ BCS_MASS_RES_5G
Resolution of 0.005kg or 0.01lb.
@ BCS_FEAT_HEIGHT_RES_1MM
Resolution of 0.001m or 0.1in.
@ BCS_HEIGHT_RES_5MM
Resolution of 0.005m or 0.5in.
uint16_t impedance
Impedance data.
@ BCS_MEAS_FLAG_UNIT_SI
Flag bit for SI Measurement Units Present.
@ BCS_FEAT_MASS_RES_20G
Resolution of 0.02kg or 0.05lb.
@ BCS_FEAT_MASS_RES_200G
Resolution of 0.2kg or 0.5lb.
sdk_err_t bcs_measurement_send(uint8_t conn_idx, bcs_meas_val_t *p_meas, uint8_t cache_num)
Send Body Composition Measurement indication.
bcs_height_res_t bcs_height_res
Initial resolution of height value.
@ BCS_EVT_MEAS_INDICATION_ENABLE
Indicate that body composition measurement indication has been enabled.
Body Composition Service Init variable.
uint8_t fat_free_mass_present
Fat Free Mass flag.
@ BCS_FEAT_MUSCLE_MASS
Muscle mass supported.
@ BCS_FEAT_MASS_RES_10G
Resolution of 0.01kg or 0.02lb.
uint16_t weight
Weight data.
uint16_t * bcs_start_handle_get(void)
Get the pointer to the start handle of Body Composition Service.
@ BCS_MEAS_FLAG_USER_ID_PRESENT
Flag bit for User ID Present.
uint8_t soft_lean_mass_present
Soft Lean Mass flag.
@ BCS_FEAT_HEIGHT_RES_10MM
Resolution of 0.01m or 1in.
@ BCS_MEAS_FLAG_MUSCLE_MASS
Flag bit for Muscle Mass Present.
prf_date_time_t time_stamp
Time Stamp data.
@ BCS_FEAT_MASS_RES_100G
Resolution of 0.1kg or 0.2lb.
uint16_t muscle_mass
Muscle Mass data.
uint16_t body_water_mass
Body Water Mass data.
@ BCS_FEAT_MASS_RES_50G
Resolution of 0.05kg or 0.1lb.
@ BCS_MASS_RES_200G
Resolution of 0.2kg or 0.5lb.
uint16_t sdk_err_t
SDK API result type.
@ BCS_FEAT_WEIGHT
Weight supported.
Body composition Measurement flag data.
@ BCS_FEAT_TIME_STAMP
Time Stamp supported.
void(* bcs_evt_handler_t)(bcs_evt_t *p_evt)
Body Composition Service event handler type.
uint8_t impedance_present
Impedance flag.
The date and time structure.
uint8_t muscle_percentage_present
Muscle Percentage flag.
@ BCS_MEAS_FLAG_BASAL_METABOLISM
Flag bit for Basal Metabolism Present.
uint8_t conn_idx
The index of the connection.
@ BCS_MASS_RES_10G
Resolution of 0.01kg or 0.02lb.
bcs_meas_flag_bits
Body Composition Measurement Flags.
@ BCS_UNIT_SI
Weight in kilograms and height in meters.
uint8_t body_water_mass_present
Body Water Mass flag.
@ BCS_FEAT_MULTI_USER
Multiple Users supported.
@ BCS_FEAT_MASS_RES_5G
Resolution of 0.005kg or 0.01lb.
uint8_t user_id
User Index data.
@ BCS_FEAT_SOFT_LEAN_MASS
Soft lean mass supported.
@ BCS_FEAT_MUSCLE_PERCENTAGE
Muscle percentage supported.
@ BCS_MEAS_FLAG_WEIGHT
Flag bit for Weight Present.
@ BCS_UNIT_IMPERIAL
Weight in pounds and height in inches.
@ BCS_EVT_MEAS_READ_CHARACTERISTIC
The peer reads the characteristic.
@ BCS_MEAS_FLAG_MUTI_PACKET
Flag bit for Multiple Packet Measurement Present.
@ BCS_FEAT_BASAL_METABOLISM
Basal metabolism supported.
uint32_t feature
Initial value for features.
@ BCS_FEAT_IMPEDANCE
Impedance supported.
bcs_height_res_t
BCS Height Measurement resolutions.
bcs_evt_handler_t evt_handler
Body Composition Service event handler.
@ BCS_MASS_RES_50G
Resolution of 0.05kg or 0.1lb.
uint8_t weight_present
Weight flag.
@ BCS_EVT_MEAS_INDICATION_DISABLE
Indicate that body composition measurement indication has been disabled.
uint16_t length
Length of event data.
Profile/Service Utilities API.
uint16_t muscle_percentage
Muscle Percentage data.
@ BCS_FEAT_HEIGHT_RES_5MM
Resolution of 0.005m or 0.5in.
uint16_t fat_free_mass
Fat Free Mass data.
@ BCS_MEAS_FLAG_BODY_WATER_MASS
Flag bit for Body Water Mass Present.
uint8_t height_present
Height flag.
Body composition Measurement data.
uint16_t body_fat_percentage
Body Fat Percentage data.
@ BCS_FEAT_MASS_RES_500G
Resolution of 0.5kg or 1lb.
uint16_t soft_lean_mass
Soft Lean Mass data.
@ BCS_MASS_RES_20G
Resolution of 0.02kg or 0.05lb.
uint16_t basal_metabolism
Basal Metabolism data.
@ BCS_MEAS_FLAG_IMPEDANCE
Flag bit for Impedance Present.
bcs_unit_t bcs_unit
Initial unit system as SI or Imperial.
@ BCS_FEAT_BODY_WATER_MASS
Body water mass supported.
@ BCS_FEAT_FAT_FREE_MASS
Fat free mass supported.
@ BCS_FEAT_HEIGHT
Height supported.
@ BCS_MEAS_FLAG_DATE_TIME_PRESENT
Flag bit for Time Stamp Present.
sdk_err_t bcs_service_init(bcs_init_t *p_bcs_init)
Initialize a Body Composition Service instance and add in the DB.
uint8_t muscle_mass_present
Muscle Mass flag.
uint8_t user_id_present
User ID flag.
@ BCS_HEIGHT_RES_1MM
Resolution of 0.001m or 0.1in.
@ BCS_EVT_INVALID
Indicate that invalid event.
@ BCS_EVT_MEAS_INDICATION_CPLT
Indicate that BC Measurement has been indicated.
@ BCS_MASS_RES_100G
Resolution of 0.1kg or 0.2lb.