SmartSnippets DA1459x SDK
sdk
interfaces
ble
services
include
bcs.h
Go to the documentation of this file.
1
43
#ifndef BCS_H_
44
#define BCS_H_
45
46
#include <stdbool.h>
47
#include <stdint.h>
48
#include "
ble_service.h
"
49
#include "
svc_types.h
"
50
51
typedef
void (* bcs_indication_changed_cb_t) (uint16_t conn_idx,
bool
enabled);
52
typedef
void (* bcs_indication_sent_cb_t) (uint16_t conn_idx,
bool
status);
53
59
typedef
struct
{
61
bcs_indication_changed_cb_t indication_changed;
63
bcs_indication_sent_cb_t indication_sent;
64
}
bcs_callbacks_t
;
65
71
typedef
enum
{
72
BCS_UNIT_SI
,
73
BCS_UNIT_IMPERIAL
,
74
}
bcs_unit_t
;
75
81
typedef
enum
{
82
BCS_FEAT_TIME_STAMP
= 0x000001,
83
BCS_FEAT_MULTIPLE_USERS
= 0x000002,
84
BCS_FEAT_BASAL_METABOLISM
= 0x000004,
85
BCS_FEAT_MUSCLE_PERCENTAGE
= 0x000008,
86
BCS_FEAT_MUSCLE_MASS
= 0x000010,
87
BCS_FEAT_FAT_FREE_MASS
= 0x000020,
88
BCS_FEAT_SOFT_LEAN_MASS
= 0x000040,
89
BCS_FEAT_BODY_WATER_MASS
= 0x000080,
90
BCS_FEAT_IMPEDANCE
= 0x000100,
91
BCS_FEAT_WEIGHT
= 0x000200,
92
BCS_FEAT_HEIGHT
= 0x000400,
94
BCS_FEAT_MASS_RES_05_KG
= 0x000800,
95
BCS_FEAT_MASS_RES_02_KG
= 0x001000,
96
BCS_FEAT_MASS_RES_01_KG
= 0x001800,
97
BCS_FEAT_MASS_RES_005_KG
= 0x002000,
98
BCS_FEAT_MASS_RES_002_KG
= 0x002800,
99
BCS_FEAT_MASS_RES_001_KG
= 0x003000,
100
BCS_FEAT_MASS_RES_0005_KG
= 0x003800,
102
BCS_FEAT_MASS_RES_05_LB
= 0x000800,
103
BCS_FEAT_MASS_RES_02_LB
= 0x001000,
104
BCS_FEAT_MASS_RES_01_LB
= 0x001800,
105
BCS_FEAT_MASS_RES_005_LB
= 0x002000,
106
BCS_FEAT_MASS_RES_002_LB
= 0x002800,
107
BCS_FEAT_MASS_RES_001_LB
= 0x003000,
108
BCS_FEAT_MASS_RES_0005_LB
= 0x003800,
110
BCS_FEAT_HEIGHT_RES_001_M
= 0x008000,
111
BCS_FEAT_HEIGHT_RES_005_M
= 0x010000,
112
BCS_FEAT_HEIGHT_RES_0001_M
= 0x018000,
114
BCS_FEAT_HEIGHT_RES_1_INCH
= 0x008000,
115
BCS_FEAT_HEIGHT_RES_05_INCH
= 0x010000,
116
BCS_FEAT_HEIGHT_RES_01_INCH
= 0x018000,
117
}
bcs_feat_t
;
118
125
typedef
struct
{
126
bcs_unit_t
measurement_unit
;
127
bool
time_stamp_present
;
128
svc_date_time_t
time_stamp
;
129
uint8_t
user_id
;
130
uint16_t
body_fat_percentage
;
131
uint16_t
basal_metabolism
;
132
uint16_t
muscle_percentage
;
133
uint16_t
muscle_mass
;
134
uint16_t
fat_free_mass
;
135
uint16_t
soft_lean_mass
;
136
uint16_t
body_water_mass
;
137
uint16_t
impedance
;
138
uint16_t
weight
;
139
uint16_t
height
;
140
}
bcs_body_measurement_t
;
141
152
ble_service_t
*
bcs_init
(
const
ble_service_config_t
*config,
bcs_feat_t
feat,
153
const
bcs_callbacks_t
*cb);
154
167
ble_error_t
bcs_indicate
(
ble_service_t
*svc, uint16_t conn_idx,
bcs_body_measurement_t
*meas);
168
178
void
bcs_indicate_all
(
ble_service_t
*svc,
bcs_body_measurement_t
*meas);
179
189
bool
bcs_is_indication_enabled
(
ble_service_t
*svc, uint16_t conn_idx);
190
191
#endif
/* BCS_H_ */
192
BCS_FEAT_HEIGHT_RES_0001_M
Definition:
bcs.h:112
BCS_FEAT_MASS_RES_01_LB
Definition:
bcs.h:104
bcs_body_measurement_t::fat_free_mass
uint16_t fat_free_mass
Definition:
bcs.h:134
bcs_indicate_all
void bcs_indicate_all(ble_service_t *svc, bcs_body_measurement_t *meas)
BCS_FEAT_MASS_RES_001_KG
Definition:
bcs.h:99
BCS_UNIT_SI
Definition:
bcs.h:72
bcs_indicate
ble_error_t bcs_indicate(ble_service_t *svc, uint16_t conn_idx, bcs_body_measurement_t *meas)
BCS_FEAT_BASAL_METABOLISM
Definition:
bcs.h:84
svc_types.h
Characteristics common types.
BCS_FEAT_MASS_RES_005_LB
Definition:
bcs.h:105
BCS_FEAT_MASS_RES_01_KG
Definition:
bcs.h:96
bcs_body_measurement_t::impedance
uint16_t impedance
Definition:
bcs.h:137
BCS_FEAT_WEIGHT
Definition:
bcs.h:91
BCS_FEAT_BODY_WATER_MASS
Definition:
bcs.h:89
bcs_body_measurement_t::body_water_mass
uint16_t body_water_mass
Definition:
bcs.h:136
BCS_FEAT_TIME_STAMP
Definition:
bcs.h:82
BCS_FEAT_MULTIPLE_USERS
Definition:
bcs.h:83
BCS_FEAT_HEIGHT
Definition:
bcs.h:92
BCS_FEAT_HEIGHT_RES_001_M
Definition:
bcs.h:110
bcs_body_measurement_t::user_id
uint8_t user_id
Definition:
bcs.h:129
svc_date_time_t
Definition:
svc_types.h:62
bcs_body_measurement_t::soft_lean_mass
uint16_t soft_lean_mass
Definition:
bcs.h:135
BCS_FEAT_HEIGHT_RES_1_INCH
Definition:
bcs.h:114
bcs_body_measurement_t::weight
uint16_t weight
Definition:
bcs.h:138
BCS_FEAT_HEIGHT_RES_05_INCH
Definition:
bcs.h:115
ble_service.h
Services handling routines API.
BCS_FEAT_MASS_RES_0005_KG
Definition:
bcs.h:100
BCS_FEAT_MASS_RES_02_LB
Definition:
bcs.h:103
BCS_FEAT_FAT_FREE_MASS
Definition:
bcs.h:87
bcs_unit_t
bcs_unit_t
BCS unit types.
Definition:
bcs.h:71
BCS_FEAT_HEIGHT_RES_01_INCH
Definition:
bcs.h:116
BCS_FEAT_MASS_RES_05_LB
Definition:
bcs.h:102
BCS_FEAT_MUSCLE_PERCENTAGE
Definition:
bcs.h:85
bcs_feat_t
bcs_feat_t
BCS feature types.
Definition:
bcs.h:81
BCS_FEAT_HEIGHT_RES_005_M
Definition:
bcs.h:111
BCS_FEAT_MASS_RES_005_KG
Definition:
bcs.h:97
BCS_FEAT_MASS_RES_002_LB
Definition:
bcs.h:106
BCS_FEAT_MUSCLE_MASS
Definition:
bcs.h:86
bcs_is_indication_enabled
bool bcs_is_indication_enabled(ble_service_t *svc, uint16_t conn_idx)
Check if indication is enabled.
bcs_init
ble_service_t * bcs_init(const ble_service_config_t *config, bcs_feat_t feat, const bcs_callbacks_t *cb)
BCS_FEAT_MASS_RES_002_KG
Definition:
bcs.h:98
BCS_FEAT_SOFT_LEAN_MASS
Definition:
bcs.h:88
BCS_UNIT_IMPERIAL
Definition:
bcs.h:73
BCS_FEAT_IMPEDANCE
Definition:
bcs.h:90
bcs_body_measurement_t::muscle_mass
uint16_t muscle_mass
Definition:
bcs.h:133
bcs_body_measurement_t::measurement_unit
bcs_unit_t measurement_unit
Definition:
bcs.h:126
ble_error_t
ble_error_t
Definition:
ble_common.h:53
BCS_FEAT_MASS_RES_02_KG
Definition:
bcs.h:95
bcs_body_measurement_t::basal_metabolism
uint16_t basal_metabolism
Definition:
bcs.h:131
bcs_body_measurement_t
Definition:
bcs.h:125
ble_service_config_t
Definition:
ble_service.h:150
bcs_body_measurement_t::body_fat_percentage
uint16_t body_fat_percentage
Definition:
bcs.h:130
BCS_FEAT_MASS_RES_05_KG
Definition:
bcs.h:94
bcs_body_measurement_t::muscle_percentage
uint16_t muscle_percentage
Definition:
bcs.h:132
bcs_body_measurement_t::time_stamp_present
bool time_stamp_present
Definition:
bcs.h:127
bcs_body_measurement_t::height
uint16_t height
Definition:
bcs.h:139
BCS_FEAT_MASS_RES_0005_LB
Definition:
bcs.h:108
bcs_callbacks_t
BCS application callbacks.
Definition:
bcs.h:59
bcs_body_measurement_t::time_stamp
svc_date_time_t time_stamp
Definition:
bcs.h:128
ble_service
Definition:
ble_service.h:132
BCS_FEAT_MASS_RES_001_LB
Definition:
bcs.h:107
Generated on Tue Oct 24 2023 10:38:23 for SmartSnippets DA1459x SDK by
1.8.16