Go to the documentation of this file.
68 #include "custom_config.h"
77 #define GLS_CONNECTION_MAX 10
78 #define GLS_MEAS_VAL_LEN_MAX 20
79 #define GLS_MEAS_CTX_LEN_MAX 20
80 #define GLS_REC_ACCESS_CTRL_LEN_MIN 2
81 #define GLS_REC_ACCESS_CTRL_LEN_MAX 21
84 #define GLS_NTF_OF_NULL 0x00
85 #define GLS_NTF_OF_MEAS 0x01
86 #define GLS_NTF_OF_MEAS_CTX 0x10
88 #define GLS_ERROR_PROC_IN_PROCESS 0x80
89 #define GLS_ERROR_CCCD_INVALID 0x81
96 #define GLS_CHAR_MANDATORY 0x0f8f
97 #define GLS_CHAR_MEAS_CTX_SUP 0x0070
98 #define GLS_CHAR_FULL 0x0fff
106 #define GLS_FEAT_LOW_BATT (0x01 << 0)
107 #define GLS_FEAT_MALFUNC (0x01 << 1)
108 #define GLS_FEAT_SAMPLE_SIZE (0x01 << 2)
109 #define GLS_FEAT_INSERT_ERR (0x01 << 3)
110 #define GLS_FEAT_TYPE_ERR (0x01 << 4)
111 #define GLS_FEAT_RES_HIGH_LOW (0x01 << 5)
112 #define GLS_FEAT_TEMP_HIGH_LOW (0x01 << 6)
113 #define GLS_FEAT_READ_INT (0x01 << 7)
114 #define GLS_FEAT_GENERAL_FAULT (0x01 << 8)
115 #define GLS_FEAT_TIME_FAULT (0x01 << 9)
116 #define GLS_FEAT_MULTI_BOND (0x01 << 10)
117 #define GLS_FEAT_FULL (0x07ff)
126 #define GLS_MEAS_FLAG_TIME_OFFSET 0x01
127 #define GLS_MEAS_FLAG_CONC_TYPE_LOC 0x02
128 #define GLS_MEAS_FLAG_UNITS_KG_L 0x00
129 #define GLS_MEAS_FLAG_UNITS_MOL_L 0x04
130 #define GLS_MEAS_FLAG_SENSOR_STATUS 0x08
131 #define GLS_MEAS_FLAG_CONTEXT_INFO 0x10
139 #define GLS_MEAS_CTX_FLAG_CARB (0x01 << 0)
140 #define GLS_MEAS_CTX_FLAG_MEAL (0x01 << 1)
141 #define GLS_MEAS_CTX_FLAG_TESTER (0x01 << 2)
142 #define GLS_MEAS_CTX_FLAG_EXERCISE (0x01 << 3)
143 #define GLS_MEAS_CTX_FLAG_MED (0x01 << 4)
144 #define GLS_MEAS_CTX_FLAG_MED_KG (0x01 << 5)
145 #define GLS_MEAS_CTX_FLAG_MED_L (0x01 << 6)
146 #define GLS_MEAS_CTX_FLAG_HBA1C (0x01 << 7)
147 #define GLS_MEAS_CTX_FLAG_EXT (0x01 << 8)
155 #define GLS_MEAS_STATUS_BATT_LOW (0x01 << 0)
156 #define GLS_MEAS_STATUS_SENSOR_FAULT (0x01 << 1)
157 #define GLS_MEAS_STATUS_SAMPLE_SIZE (0x01 << 2)
158 #define GLS_MEAS_STATUS_STRIP_INSERT (0x01 << 3)
159 #define GLS_MEAS_STATUS_STRIP_TYPE (0x01 << 4)
160 #define GLS_MEAS_STATUS_RESULT_HIGH (0x01 << 5)
161 #define GLS_MEAS_STATUS_RESULT_LOW (0x01 << 6)
162 #define GLS_MEAS_STATUS_TEMP_HIGH (0x01 << 7)
163 #define GLS_MEAS_STATUS_TEMP_LOW (0x01 << 8)
164 #define GLS_MEAS_STATUS_STRIP_PULL (0x01 << 9)
165 #define GLS_MEAS_STATUS_GENERAL_FAULT (0x01 << 10)
166 #define GLS_MEAS_STATUS_TIME_FAULT (0x01 << 11)
bool gls_new_meas_record(gls_rec_t *p_rec)
Record a new glucose measurement.
@ GLS_MEAS_CTX_TESTER_LAB
@ GLS_MEAS_CTX_CARB_SUPPER
@ GLS_MEAS_CTX_CARB_BREAKFAST
Glucose Measurement structure. This contains glucose measurement value.
gls_meas_loc_t
Glucose measurement location.
prf_date_time_t base_time
gls_ieee_float16_t glucose_concentration
@ GLS_MEAS_TYPE_UNDET_BLOOD
SFLOAT format (IEEE-11073 16-bit FLOAT, defined as a 16-bit value with 12-bit mantissa and 4-bit expo...
gls_ieee_float16_t medication
@ GLS_EVT_CTRL_INDICATION_ENABLED
void(* gls_evt_handler_t)(gls_evt_t *p_evt)
Glucose Service event handler type.
gls_meas_type_t
Glucose measurement type.
@ GLS_MEAS_CTX_CARB_DRINK
@ GLS_EVT_CTRL_INDICATION_DISABLED
gls_evt_handler_t evt_handler
gls_meas_ctx_health_t
Glucose measurement context health.
@ GLS_MEAS_CTX_MED_PREMIX
@ GLS_MEAS_TYPE_UNDET_PLASMA
@ GLS_EVT_MEAS_NOTIFICATION_DISABLED
@ GLS_MEAS_CTX_MEAL_PREPRANDIAL
@ GLS_MEAS_CTX_HEALTH_MAJOR
gls_meas_ctx_carb_id_t
Glucose measurement context carbohydrate ID.
@ GLS_MEAS_CTX_TESTER_SELF
uint8_t tester_and_health
uint16_t exercise_duration
@ GLS_MEAS_TYPE_CAP_PLASMA
@ GLS_MEAS_CTX_MEAL_CASUAL
@ GLS_EVT_CTX_NOTIFICATION_ENABLED
@ GLS_MEAS_CTX_MED_INTERMED
uint8_t exercise_intensity
@ GLS_MEAS_CTX_CARB_BRUNCH
@ GLS_EVT_MEAS_NOTIFICATION_ENABLED
@ GLS_MEAS_CTX_TESTER_PRO
sdk_err_t gls_racp_rsp_send(uint8_t conn_idx, uint8_t *p_data, uint16_t length)
Send RACP responce if indication has been enabled.
@ GLS_MEAS_CTX_CARB_DINNER
@ GLS_MEAS_TYPE_VEN_BLOOD
@ GLS_MEAS_TYPE_ART_BLOOD
@ GLS_MEAS_CTX_HEALTH_MINOR
uint16_t sdk_err_t
SDK API result type.
sdk_err_t gls_service_init(gls_init_t *p_gls_init)
Initialize a Glucose Service instance and add in the DB.
@ GLS_MEAS_CTX_TESTER_NOT_AVAIL
The date and time structure. The packed size is 7 bytes.
@ GLS_MEAS_CTX_CARB_SNACK
@ GLS_MEAS_CTX_HEALTH_NOT_AVAIL
@ GLS_MEAS_CTX_HEALTH_MENSES
gls_ieee_float16_t carbohydrate
@ GLS_MEAS_TYPE_ART_PLASMA
@ GLS_MEAS_CTX_HEALTH_NONE
uint16_t sensor_status_annunciation
@ GLS_EVT_CTX_NOTIFICATION_DISABLED
gls_meas_ctx_tester_t
Glucose measurement context tester.
@ GLS_MEAS_TYPE_CAP_BLOOD
@ GLS_MEAS_CTX_MEAL_BEDTIME
@ GLS_MEAS_CTX_CARB_LUNCH
Glucose Service init stucture. This contains all option and data needed for initialization of the ser...
gls_meas_ctx_medic_id_t
Glucose measurement context medication ID.
Glucose measurement context structure.
Profile/Service Utilities API.
@ GLS_MEAS_CTX_MEAL_FASTING
gls_evt_type_t
Glucose Service event type.
@ GLS_MEAS_CTX_MEAL_POSTPRANDIAL
Glucose measurement record.
@ GLS_MEAS_TYPE_VEN_PLASMA
@ GLS_MEAS_CTX_HEALTH_STRESS
gls_meas_ctx_meal_t
Glucose measurement context meal.