SmartSnippets DA1459x SDK
uds.h
Go to the documentation of this file.
1 
43 #ifndef UDS_H_
44 #define UDS_H_
45 
46 #include <stdbool.h>
47 #include <stdint.h>
48 #include "ble_service.h"
49 
58 typedef void (* uds_ccc_changed_cb_t) (ble_service_t *svc, uint16_t conn_idx, uint16_t value);
59 
71  uint16_t conn_idx, uint32_t increment);
72 
82  uint16_t conn_idx, uint16_t consent);
83 
93 typedef void (* uds_cp_consent_cb_t) (ble_service_t *svc, uint16_t conn_idx, uint8_t user_id,
94  uint16_t consent);
95 
103 typedef void (* uds_cp_delete_user_data_cb_t) (ble_service_t *svc, uint16_t conn_idx);
104 
113 typedef void (* uds_db_read_cb_t) (ble_service_t *svc, uint16_t conn_idx, uint32_t field);
114 
126 typedef void (* uds_db_write_cb_t) (ble_service_t *svc, uint16_t conn_idx, uint32_t field,
127  uint16_t offset , uint16_t length, const void *value);
128 
130 typedef struct {
133 
136 
139 
142 
145 
148 
152 
154 typedef enum {
157 } uds_user_id_t;
158 
160 typedef enum {
162  UDS_ERROR_ACCESS_NOT_PERMITTED = ATT_ERROR_APPLICATION_ERROR,
163 } uds_error_t;
164 
166 typedef enum {
174  UDS_DB_FIELD_AGE = 0x00000008,
178  UDS_DB_FIELD_GENDER = 0x00000020,
180  UDS_DB_FIELD_WEIGHT = 0x00000040,
182  UDS_DB_FIELD_HEIGHT = 0x00000080,
184  UDS_DB_FIELD_VO2_MAX = 0x00000100,
222  UDS_DB_FIELD_LANGUAGE = 0x08000000,
224 
226 typedef enum {
238 
252  const uds_callbacks_t *cb);
253 
268 void uds_cp_register_new_user_cfm(ble_service_t *svc, uint16_t conn_idx,
269  uds_cp_response_t status, uint8_t user_id);
270 
283 void uds_set_db_increment(ble_service_t *svc, uint16_t conn_idx, uint32_t increment, bool notify);
284 
295 void uds_cp_consent_cfm(ble_service_t *svc, uint16_t conn_idx, uds_cp_response_t status);
296 
307 void uds_cp_delete_user_cfm(ble_service_t *svc, uint16_t conn_idx, uds_cp_response_t status);
308 
322 void uds_db_read_cfm(ble_service_t *svc, uint16_t conn_idx, uint32_t field, att_error_t status,
323  uint16_t length, const void *value);
324 
336 void uds_db_write_cfm(ble_service_t *svc, uint16_t conn_idx, uint32_t field, att_error_t status);
337 
348 void uds_set_user_id(ble_service_t *svc, uint16_t conn_idx, uint8_t user_id);
349 
361 uint8_t uds_get_user_id(ble_service_t *svc, uint16_t conn_idx);
362 
363 #endif /* UDS_H_ */
364 
uds_cp_delete_user_cfm
void uds_cp_delete_user_cfm(ble_service_t *svc, uint16_t conn_idx, uds_cp_response_t status)
Control Point delete user confirmation.
UDS_DB_FIELD_RESTING_HEART_RATE
Definition: uds.h:188
UDS_DB_FIELD_AEROBIC_THRESHOLD
Definition: uds.h:192
UDS_DB_FIELD_THREE_ZONE_HEART_RATE_LIMITS
Definition: uds.h:218
uds_cp_consent_cb_t
void(* uds_cp_consent_cb_t)(ble_service_t *svc, uint16_t conn_idx, uint8_t user_id, uint16_t consent)
Consent control point written callback.
Definition: uds.h:93
uds_cp_register_new_user_cb_t
void(* uds_cp_register_new_user_cb_t)(ble_service_t *svc, uint16_t conn_idx, uint16_t consent)
Register New User control point written callback.
Definition: uds.h:81
UDS_DB_FIELD_WAIST_CIRCUMFERENCE
Definition: uds.h:200
UDS_CP_RESPONSE_FAILED
Definition: uds.h:234
uds_cp_delete_user_data_cb_t
void(* uds_cp_delete_user_data_cb_t)(ble_service_t *svc, uint16_t conn_idx)
Delete user data control point written callback.
Definition: uds.h:103
uds_callbacks_t::db_write
uds_db_write_cb_t db_write
Definition: uds.h:150
UDS_CP_RESPONSE_INVALID_PARAM
Definition: uds.h:232
UDS_DB_FIELD_FAT_BURN_HEART_RATE_LOW_LIMIT
Definition: uds.h:204
uds_set_db_increment
void uds_set_db_increment(ble_service_t *svc, uint16_t conn_idx, uint32_t increment, bool notify)
Set database increment.
uds_cp_register_new_user_cfm
void uds_cp_register_new_user_cfm(ble_service_t *svc, uint16_t conn_idx, uds_cp_response_t status, uint8_t user_id)
Control Point register new user confirm.
UDS_DB_FIELD_AEROBIC_HEART_RATE_LOW_LIMIT
Definition: uds.h:208
UDS_ERROR_ACCESS_NOT_PERMITTED
Definition: uds.h:162
att_error_t
att_error_t
Definition: ble_att.h:64
UDS_DB_FIELD_ANAEROBIC_THRESHOLD
Definition: uds.h:194
UDS_DB_FIELD_FAT_BURN_HEART_RATE_UP_LIMIT
Definition: uds.h:206
UDS_DB_FIELD_LANGUAGE
Definition: uds.h:222
UDS_DB_FIELD_WEIGHT
Definition: uds.h:180
UDS_CP_RESPONSE_OPCODE_NOT_SUPPORTED
Definition: uds.h:230
UDS_DB_FIELD_TWO_ZONE_HEART_RATE_LIMIT
Definition: uds.h:220
uds_cp_response_t
uds_cp_response_t
Definition: uds.h:226
UDS_DB_FIELD_VO2_MAX
Definition: uds.h:184
UDS_DB_FIELD_MAX_RECOMMENDED_HEART_RATE
Definition: uds.h:190
UDS_DB_FIELD_HEIGHT
Definition: uds.h:182
UDS_DB_FIELD_FIVE_ZONE_HEART_RATE_LIMITS
Definition: uds.h:216
uds_ccc_changed_cb_t
void(* uds_ccc_changed_cb_t)(ble_service_t *svc, uint16_t conn_idx, uint16_t value)
CCC for Database Change Increment written callback.
Definition: uds.h:58
uds_set_user_id
void uds_set_user_id(ble_service_t *svc, uint16_t conn_idx, uint8_t user_id)
Set user ID.
uds_cp_consent_cfm
void uds_cp_consent_cfm(ble_service_t *svc, uint16_t conn_idx, uds_cp_response_t status)
Control Point consent confirmation.
ble_service.h
Services handling routines API.
UDS_DB_FIELD_DATE_OF_BIRTH
Definition: uds.h:176
UDS_DB_FIELD_EMAIL_ADDRESS
Definition: uds.h:172
UDS_DB_FIELD_AEROBIC_HEART_RATE_UP_LIMIT
Definition: uds.h:210
UDS_DB_FIELD_HEART_RATE_MAX
Definition: uds.h:186
UDS_USER_ID_UNKNOWN
Definition: uds.h:156
uds_callbacks_t::cp_consent
uds_cp_consent_cb_t cp_consent
Definition: uds.h:141
uds_error_t
uds_error_t
Definition: uds.h:160
uds_db_read_cfm
void uds_db_read_cfm(ble_service_t *svc, uint16_t conn_idx, uint32_t field, att_error_t status, uint16_t length, const void *value)
Database read confirmation.
UDS_DB_FIELD_AGE
Definition: uds.h:174
uds_callbacks_t::cp_register_new_user
uds_cp_register_new_user_cb_t cp_register_new_user
Definition: uds.h:138
uds_db_field_t
uds_db_field_t
Definition: uds.h:166
UDS_DB_FIELD_SPORT_TYPE
Definition: uds.h:196
uds_callbacks_t::db_read
uds_db_read_cb_t db_read
Definition: uds.h:147
UDS_DB_FIELD_ANEROBIC_HEART_RATE_UP_LIMIT
Definition: uds.h:214
uds_db_write_cfm
void uds_db_write_cfm(ble_service_t *svc, uint16_t conn_idx, uint32_t field, att_error_t status)
Database write confirmation.
UDS_DB_FIELD_DATE_OF_THRESHOLD_ASSESSMENT
Definition: uds.h:198
uds_get_user_id
uint8_t uds_get_user_id(ble_service_t *svc, uint16_t conn_idx)
Get user ID.
uds_callbacks_t::db_increment_changed
uds_db_increment_changed_cb_t db_increment_changed
Definition: uds.h:135
uds_callbacks_t
Definition: uds.h:130
uds_db_write_cb_t
void(* uds_db_write_cb_t)(ble_service_t *svc, uint16_t conn_idx, uint32_t field, uint16_t offset, uint16_t length, const void *value)
Client attempt to write database value callback.
Definition: uds.h:126
uds_db_increment_changed_cb_t
bool(* uds_db_increment_changed_cb_t)(ble_service_t *svc, uint16_t conn_idx, uint32_t increment)
Database Change Increment written callback.
Definition: uds.h:70
UDS_DB_FIELD_LAST_NAME
Definition: uds.h:170
UDS_DB_FIELD_FIRST_NAME
Definition: uds.h:168
uds_user_id_t
uds_user_id_t
Definition: uds.h:154
UDS_DB_FIELD_GENDER
Definition: uds.h:178
ble_service_config_t
Definition: ble_service.h:150
uds_callbacks_t::cp_delete_user_data
uds_cp_delete_user_data_cb_t cp_delete_user_data
Definition: uds.h:144
uds_db_read_cb_t
void(* uds_db_read_cb_t)(ble_service_t *svc, uint16_t conn_idx, uint32_t field)
Client attempt to read database value callback.
Definition: uds.h:113
UDS_CP_RESPONSE_NOT_AUTHORIZED
Definition: uds.h:236
uds_init
ble_service_t * uds_init(const ble_service_config_t *config, uds_db_field_t db_fields, const uds_callbacks_t *cb)
Register User Data Service instance.
UDS_DB_FIELD_ANEROBIC_HEART_RATE_LOW_LIMIT
Definition: uds.h:212
uds_callbacks_t::db_increment_ccc_changed
uds_ccc_changed_cb_t db_increment_ccc_changed
Definition: uds.h:132
UDS_CP_RESPONSE_SUCCESS
Definition: uds.h:228
ble_service
Definition: ble_service.h:132
UDS_DB_FIELD_HIP_CIRCUMFERENCE
Definition: uds.h:202