@@ -58,10 +58,20 @@ static uint8_t dis_system_id[8] = {BT_BYTES_LIST_LE40((uint64_t)CONFIG_BT_DIS_SY
5858#endif
5959
6060#if defined(CONFIG_BT_DIS_SETTINGS )
61+ #if defined(CONFIG_BT_DIS_MODEL_NUMBER )
62+ BUILD_ASSERT (sizeof (CONFIG_BT_DIS_MODEL_NUMBER_STR ) <= CONFIG_BT_DIS_STR_MAX + 1 );
63+ static uint8_t dis_model [CONFIG_BT_DIS_STR_MAX + 1 ] = CONFIG_BT_DIS_MODEL_NUMBER_STR ;
64+ #elif defined(CONFIG_BT_DIS_MODEL_DEPRECATED_USED )
6165BUILD_ASSERT (sizeof (CONFIG_BT_DIS_MODEL ) <= CONFIG_BT_DIS_STR_MAX + 1 );
62- BUILD_ASSERT (sizeof (CONFIG_BT_DIS_MANUF ) <= CONFIG_BT_DIS_STR_MAX + 1 );
6366static uint8_t dis_model [CONFIG_BT_DIS_STR_MAX + 1 ] = CONFIG_BT_DIS_MODEL ;
67+ #endif
68+ #if defined(CONFIG_BT_DIS_MANUF_NAME )
69+ BUILD_ASSERT (sizeof (CONFIG_BT_DIS_MANUF_NAME_STR ) <= CONFIG_BT_DIS_STR_MAX + 1 );
70+ static uint8_t dis_manuf [CONFIG_BT_DIS_STR_MAX + 1 ] = CONFIG_BT_DIS_MANUF_NAME_STR ;
71+ #elif defined(CONFIG_BT_DIS_MANUF_DEPRECATED_USED )
72+ BUILD_ASSERT (sizeof (CONFIG_BT_DIS_MANUF ) <= CONFIG_BT_DIS_STR_MAX + 1 );
6473static uint8_t dis_manuf [CONFIG_BT_DIS_STR_MAX + 1 ] = CONFIG_BT_DIS_MANUF ;
74+ #endif
6575#if defined(CONFIG_BT_DIS_SERIAL_NUMBER )
6676BUILD_ASSERT (sizeof (CONFIG_BT_DIS_SERIAL_NUMBER_STR ) <= CONFIG_BT_DIS_STR_MAX + 1 );
6777static uint8_t dis_serial_number [CONFIG_BT_DIS_STR_MAX + 1 ] = CONFIG_BT_DIS_SERIAL_NUMBER_STR ;
@@ -114,8 +124,16 @@ static uint8_t dis_ieee_rcdl[CONFIG_BT_DIS_STR_MAX + 1] = CONFIG_BT_DIS_IEEE_RCD
114124
115125#else /* CONFIG_BT_DIS_SETTINGS */
116126
127+ #if defined(CONFIG_BT_DIS_MODEL_NUMBER )
128+ #define BT_DIS_MODEL_REF CONFIG_BT_DIS_MODEL_NUMBER_STR
129+ #elif defined(CONFIG_BT_DIS_MODEL_DEPRECATED_USED )
117130#define BT_DIS_MODEL_REF CONFIG_BT_DIS_MODEL
131+ #endif
132+ #if defined(CONFIG_BT_DIS_MANUF_NAME )
133+ #define BT_DIS_MANUF_REF CONFIG_BT_DIS_MANUF_NAME_STR
134+ #elif defined(CONFIG_BT_DIS_MANUF_DEPRECATED_USED )
118135#define BT_DIS_MANUF_REF CONFIG_BT_DIS_MANUF
136+ #endif
119137#define BT_DIS_SERIAL_NUMBER_STR_REF CONFIG_BT_DIS_SERIAL_NUMBER_STR
120138#define BT_DIS_FW_REV_STR_REF CONFIG_BT_DIS_FW_REV_STR
121139#define BT_DIS_HW_REV_STR_REF CONFIG_BT_DIS_HW_REV_STR
@@ -128,12 +146,20 @@ static uint8_t dis_ieee_rcdl[CONFIG_BT_DIS_STR_MAX + 1] = CONFIG_BT_DIS_IEEE_RCD
128146
129147#endif /* CONFIG_BT_DIS_SETTINGS */
130148
149+ #define BT_DIS_READ_STR_USED \
150+ (CONFIG_BT_DIS_MODEL_NUMBER || CONFIG_BT_DIS_MODEL_DEPRECATED_USED || \
151+ CONFIG_BT_DIS_MANUF_NAME || CONFIG_BT_DIS_MANUF_DEPRECATED_USED || \
152+ CONFIG_BT_DIS_SERIAL_NUMBER || CONFIG_BT_DIS_FW_REV || CONFIG_BT_DIS_HW_REV || \
153+ CONFIG_BT_DIS_SW_REV || CONFIG_BT_DIS_IEEE_RCDL)
154+
155+ #if BT_DIS_READ_STR_USED
131156static ssize_t read_str (struct bt_conn * conn , const struct bt_gatt_attr * attr , void * buf ,
132157 uint16_t len , uint16_t offset )
133158{
134159 return bt_gatt_attr_read (conn , attr , buf , len , offset , attr -> user_data ,
135160 strlen (attr -> user_data ));
136161}
162+ #endif
137163
138164#if CONFIG_BT_DIS_PNP
139165static ssize_t read_pnp_id (struct bt_conn * conn , const struct bt_gatt_attr * attr , void * buf ,
@@ -226,10 +252,16 @@ static ssize_t read_udi(struct bt_conn *conn, const struct bt_gatt_attr *attr, v
226252BT_GATT_SERVICE_DEFINE (
227253 dis_svc , BT_GATT_PRIMARY_SERVICE (BT_UUID_DIS ),
228254
255+ #if defined(CONFIG_BT_DIS_MODEL_NUMBER ) || defined (CONFIG_BT_DIS_MODEL_DEPRECATED_USED )
229256 BT_GATT_CHARACTERISTIC (BT_UUID_DIS_MODEL_NUMBER , BT_GATT_CHRC_READ , BT_GATT_PERM_READ ,
230257 read_str , NULL , BT_DIS_MODEL_REF ),
258+ #endif
259+
260+ #if defined(CONFIG_BT_DIS_MANUF_NAME ) || defined(CONFIG_BT_DIS_MANUF_DEPRECATED_USED )
231261 BT_GATT_CHARACTERISTIC (BT_UUID_DIS_MANUFACTURER_NAME , BT_GATT_CHRC_READ , BT_GATT_PERM_READ ,
232262 read_str , NULL , BT_DIS_MANUF_REF ),
263+ #endif
264+
233265#if CONFIG_BT_DIS_PNP
234266 BT_GATT_CHARACTERISTIC (BT_UUID_DIS_PNP_ID , BT_GATT_CHRC_READ , BT_GATT_PERM_READ ,
235267 read_pnp_id , NULL , & dis_pnp_id ),
@@ -309,7 +341,10 @@ static int dis_set(const char *name, size_t len_rd, settings_read_cb read_cb, vo
309341 int nlen ;
310342 const char * next ;
311343
344+ ARG_UNUSED (len );
345+
312346 nlen = settings_name_next (name , & next );
347+ #if defined(CONFIG_BT_DIS_MANUF_NAME ) || defined(CONFIG_BT_DIS_MANUF_DEPRECATED_USED )
313348 if (!strncmp (name , "manuf" , nlen )) {
314349 len = read_cb (store , & dis_manuf , sizeof (dis_manuf ) - 1 );
315350 if (len < 0 ) {
@@ -321,6 +356,8 @@ static int dis_set(const char *name, size_t len_rd, settings_read_cb read_cb, vo
321356 }
322357 return 0 ;
323358 }
359+ #endif
360+ #if defined(CONFIG_BT_DIS_MODEL_NUMBER ) || defined(CONFIG_BT_DIS_MODEL_DEPRECATED_USED )
324361 if (!strncmp (name , "model" , nlen )) {
325362 len = read_cb (store , & dis_model , sizeof (dis_model ) - 1 );
326363 if (len < 0 ) {
@@ -332,6 +369,7 @@ static int dis_set(const char *name, size_t len_rd, settings_read_cb read_cb, vo
332369 }
333370 return 0 ;
334371 }
372+ #endif
335373#if defined(CONFIG_BT_DIS_SERIAL_NUMBER )
336374 if (!strncmp (name , "serial" , nlen )) {
337375 len = read_cb (store , & dis_serial_number , sizeof (dis_serial_number ) - 1 );
0 commit comments