Go to the documentation of this file.
63 #include "custom_config.h"
72 #define UDS_CONNECTION_MAX (10 < CFG_MAX_CONNECTIONS ?\
73 10 : CFG_MAX_CONNECTIONS)
75 #define UDS_AGE_VAL_LEN_MAX 2
76 #define UDS_DATE_OF_BIRTH_VAL_LEN_MAX 4
77 #define UDS_FIRST_NAME_VAL_LEN_MAX 50
78 #define UDS_HEIGHT_VAL_LEN_MAX 2
79 #define UDS_GENDER_VAL_LEN_MAX 2
80 #define UDS_DB_CHANGE_INCR_VAL_LEN_MAX 4
81 #define UDS_USER_INDEX_VAL_LEN_MAX 1
82 #define UDS_CTRL_PT_RSP_LEN_MIN 3
83 #define UDS_CTRL_PT_RSP_LEN_MAX 20
84 #define UDS_CTRL_PT_VAL_LEN_MAX 19
85 #define UDS_REGI_USER_DATA_LEN_MAX 19
86 #define UDS_REGI_USER_VAL_LEN_MAX 20
88 #define UDS_ERROR_UD_ACCESS_NOT_PERMIT 0x80
89 #define UDS_ERROR_PROC_IN_PROGRESS 0xFE
90 #define UDS_ERROR_CCCD_INVALID 0xFD
92 #define UDS_DB_CHANGE_INCR_DEFAULT_VAL 0x00
93 #define UDS_UNKNOWN_USER 0xFF
94 #define UDS_CONSENT_CODE_VAL_MAX 0x270F
95 #define UDS_CONSENT_TRY_NUM_MAX 0x04
97 #define UDS_MIDDLE_REGI_USER_SEGM 0x00
98 #define UDS_FIRST_REGI_USER_SEGM 0x01
99 #define UDS_LAST_REGI_USER_SEGM 0x02
100 #define UDS_ONLY_REGI_USER_SEGM 0x03
107 #define UDS_CHAR_MANDATORY 0x000001FF
108 #define UDS_CHAR_AGE_SUP 0x00000600
109 #define UDS_CHAR_DATE_OF_BIRTH_SUP 0x00001800
110 #define UDS_CHAR_FIRST_NAME_SUP 0x00006000
111 #define UDS_CHAR_HEIGHT_SUP 0x00018000
112 #define UDS_CHAR_GENDER_SUP 0x00060000
113 #define UDS_CHAR_REGIST_USER_SUP 0x00380000
114 #define UDS_CHAR_FULL 0x003FFFFF
167 UDS_EVT_DEL_USER_DATA,
353 #if defined(PTS_AUTO_TEST)
354 void uds_regist_new_user(uint8_t conn_idx);
@ UDS_CHARS_WEIGHT_PRESENT
Definition: uds.h:174
@ UDS_EVT_CTRL_POINT_INDICATION_DISABLE
Definition: uds.h:152
@ UDS_CTRL_PT_RSP_RESERVED
Definition: uds.h:137
uint16_t length
Definition: uds.h:239
@ UDS_EVT_REGIST_NEW_USER
Definition: uds.h:166
uint16_t height
Definition: uds.h:219
uds_chars_val_t uds_chars_val
Definition: uds.h:241
@ UDS_CTRL_PT_RSP_INVALID_PARAM
Definition: uds.h:140
@ UDS_EVT_GENDER_SET_BY_PEER
Definition: uds.h:162
@ UDS_CTRL_PT_OP_REGIST_NEW_USER
Definition: uds.h:126
uint8_t user_index
Definition: uds.h:274
@ UDS_EVT_HEIGHT_SET_BY_PEER
Definition: uds.h:161
@ UDS_CTRL_PT_OP_RSP_CODE
Definition: uds.h:131
uint32_t char_mask
Definition: uds.h:273
uint8_t gender_present
Definition: uds.h:210
uint8_t weight_present
Definition: uds.h:205
@ UDS_CHARS_HEIGHT_PRESENT
Definition: uds.h:178
uint8_t regi_user_name_present
Definition: uds.h:228
uint8_t user_name_truncated
Definition: uds.h:229
uint8_t * p_first_name
Definition: uds.h:221
@ UDS_EVT_DB_CHANGE_INCR_NOTIFICATION_DISABLE
Definition: uds.h:150
@ UDS_EVT_CTRL_POINT_INDICATION_ENABLE
Definition: uds.h:151
uint8_t gender
Definition: uds.h:220
UDS Characteristics Flags structure.
Definition: uds.h:204
uint8_t db_change_incr_val
Definition: uds.h:275
uds_regi_user_data_flag_t uds_regi_user_data_flag
Definition: uds.h:276
uint8_t uds_get_cur_user_index(uint8_t conn_idx)
Get current user index.
@ UDS_CTRL_PT_RSP_SUCCESS
Definition: uds.h:138
uint16_t length
Definition: uds.h:262
uint8_t first_name_present
Definition: uds.h:208
@ UDS_CTRL_PT_OP_LIST_ALL_USERS
Definition: uds.h:129
uint8_t conn_idx
Definition: uds.h:236
@ UDS_CTRL_PT_OP_DEL_USERS
Definition: uds.h:130
@ UDS_EVT_DB_CHANGE_INCR_SEND_CPLT
Definition: uds.h:155
@ UDS_EVT_DATE_OF_BIRTH_SET_BY_PEER
Definition: uds.h:159
UDS Registered User Data stream.
Definition: uds.h:260
uint16_t segm_offset
Definition: uds.h:266
sdk_err_t uds_ctrl_pt_rsp_send(uint8_t conn_idx, uint8_t *p_data, uint16_t length)
Send User Control Point response if it's indication has been enabled.
uint16_t offset
Definition: uds.h:263
@ UDS_EVT_REGIST_USER_INDICATION_DISABLE
Definition: uds.h:154
uds_regi_user_data_flag_bits
Registered User Data Flags.
Definition: uds.h:184
void(* uds_evt_handler_t)(uds_evt_t *p_evt)
User Data Service event handler type.
Definition: uds.h:251
const uint8_t * p_data
Definition: uds.h:238
@ UDS_CTRL_PT_OP_DEL_USER_DATA
Definition: uds.h:128
@ UDS_CHARS_FIRST_NAME_PRESENT
Definition: uds.h:177
@ UDS_CHARS_AGE_PRESENT
Definition: uds.h:175
@ UDS_CTRL_PT_RSP_NOT_SUP
Definition: uds.h:139
uds_evt_type_t
User Data Service event type.
Definition: uds.h:147
uint16_t sdk_err_t
SDK API result type.
Definition: ble_error.h:243
@ UDS_CTRL_PT_RSP_FAILED
Definition: uds.h:141
uint8_t reserved
Definition: uds.h:230
uint32_t db_change_incr_val
Definition: uds.h:242
@ UDS_CHARS_BIRTH_DATE_PRESENT
Definition: uds.h:176
sdk_err_t uds_db_change_incr_val_send(uint8_t conn_idx, uint8_t user_idx)
Send Database Change Increment Characteristic value if UDS Characteristics value has been changed.
@ UDS_EVT_REGIST_USER_RSP_CPLT
Definition: uds.h:157
uint16_t name_length
Definition: uds.h:222
uint16_t year
Definition: uds.h:197
uint16_t weight
Definition: uds.h:216
uds_evt_type_t evt_type
Definition: uds.h:237
@ UDS_EVT_USER_GRANT_ACCESS
Definition: uds.h:165
uint8_t * p_data
Definition: uds.h:261
uint8_t age_present
Definition: uds.h:206
uds_chars_flag_t uds_chars_flag
Definition: uds.h:277
@ UDS_CHARS_GENDER_PRESENT
Definition: uds.h:179
@ UDS_EVT_AGE_SET_BY_PEER
Definition: uds.h:158
uint16_t segm_num
Definition: uds.h:265
birth_date_t date_of_birth
Definition: uds.h:218
@ UDS_EVT_REGIST_USER_INDICATION_ENABLE
Definition: uds.h:153
sdk_err_t uds_service_init(uds_init_t *p_uds_init)
Initialize a User Data Service instance and add in the DB.
@ UDS_CTRL_PT_OP_CONSENT
Definition: uds.h:127
uint16_t age
Definition: uds.h:217
@ UDS_EVT_FIRST_NAME_SET_BY_PEER
Definition: uds.h:160
uds_chars_flag_bits
UDS Characteristics Flags.
Definition: uds.h:173
@ UDS_EVT_CTRL_POINT_RSP_CPLT
Definition: uds.h:156
@ UDS_EVT_DB_CHANGE_INCR_SET_BY_PEER
Definition: uds.h:163
@ UDS_EVT_CTRL_POINT_SET_BY_PEER
Definition: uds.h:164
Profile/Service Utilities API.
User Data Service event.
Definition: uds.h:235
@ UDS_CTRL_PT_OP_RESERVED
Definition: uds.h:125
sdk_err_t uds_regi_user_val_send(uint8_t conn_idx)
Send Registered User Characteristic value.
uint8_t height_present
Definition: uds.h:209
@ UDS_EVT_DB_CHANGE_INCR_NOTIFICATION_ENABLE
Definition: uds.h:149
@ UDS_CTRL_PT_RSP_USER_NOT_AUTH
Definition: uds.h:142
uint8_t day
Definition: uds.h:199
uint8_t month
Definition: uds.h:198
uint16_t consent_code
Definition: uds.h:240
uds_ctrl_pt_op_code_t
User Data Service Control Point Operation Code.
Definition: uds.h:124
uds_ctrl_pt_rsp_t
User Data Service Control Point Response value.
Definition: uds.h:136
uds_evt_handler_t evt_handler
Definition: uds.h:272
UDS Characteristic - birthdate's structure.
Definition: uds.h:196
Registered User Data Flags structure.
Definition: uds.h:227
@ UDS_REGI_USER_NAME_PRESENT
Definition: uds.h:185
uint16_t * p_segm_length
Definition: uds.h:264
@ UDS_USER_NAME_TRUNCATED
Definition: uds.h:186
uint8_t birth_date_present
Definition: uds.h:207
UDS Characteristics value structure.
Definition: uds.h:215
void uds_set_cur_user_index(uint8_t conn_idx, uint8_t user_index)
Set current user index.
User Data Service init structure. This contains all option and data needed for initialization of the ...
Definition: uds.h:271
@ UDS_EVT_INVALID
Definition: uds.h:148