1# GATT Device Information service
2
3# Copyright (c) 2018 Nordic Semiconductor ASA
4# SPDX-License-Identifier: Apache-2.0
5
6menuconfig BT_DIS
7	bool "GATT Device Information service"
8
9if BT_DIS
10
11config BT_DIS_SETTINGS
12	bool "Settings usage in Device Information Service"
13	select SETTINGS
14	help
15	  Enable Settings usage in Device Information Service.
16
17config BT_DIS_STR_MAX
18	int "Maximum size in bytes for DIS strings"
19	depends on BT_DIS_SETTINGS
20	default 21
21	range 2 248
22	help
23	  Bluetooth DIS string storage size. Storage can be up to 248 bytes
24	  long (excluding NULL termination).
25
26config BT_DIS_MODEL_NUMBER
27	bool "Model number characteristic"
28	depends on !BT_DIS_MODEL_DEPRECATED_USED
29	default y
30	help
31	  Enable model number characteristic in Device Information Service.
32
33config BT_DIS_MODEL_NUMBER_STR
34	string "Model number"
35	depends on BT_DIS_MODEL_NUMBER
36	default SOC
37	help
38	  Configure model number string that can be read with the model number characteristic
39	  in Device Information Service.
40
41config BT_DIS_MODEL
42	string "Model name [DEPRECATED]"
43	help
44	  The device model inside Device Information Service.
45	  This option is deprecated. Use BT_DIS_MODEL_NUMBER and BT_DIS_MODEL_NUMBER_STR instead.
46
47config BT_DIS_MODEL_DEPRECATED_USED
48	bool
49	default y if BT_DIS_MODEL != ""
50	select DEPRECATED
51
52config BT_DIS_MANUF_NAME
53	bool "Manufacturer name characteristic"
54	depends on !BT_DIS_MANUF_DEPRECATED_USED
55	default y
56	help
57	  Enable manufacturer name characteristic in Device Information Service.
58
59config BT_DIS_MANUF_NAME_STR
60	string "Manufacturer name"
61	depends on BT_DIS_MANUF_NAME
62	default "Manufacturer"
63	help
64	  Configure manufacturer name string that can be read with the manufacturer name
65	  characteristic in Device Information Service.
66
67config BT_DIS_MANUF
68	string "Manufacturer name [DEPRECATED]"
69	help
70	  The device manufacturer inside Device Information Service.
71	  This option is deprecated. Use BT_DIS_MANUF_NAME and BT_DIS_MANUF_NAME_STR instead.
72
73config BT_DIS_MANUF_DEPRECATED_USED
74	bool
75	default y if BT_DIS_MANUF != ""
76	select DEPRECATED
77
78config BT_DIS_PNP
79	bool "PnP_ID characteristic"
80	default y
81	help
82	  Enable PnP_ID characteristic in Device Information Service.
83
84if BT_DIS_PNP
85
86config BT_DIS_PNP_VID_SRC
87	int "Vendor ID source"
88	range 1 2
89	default 1
90	help
91	  The Vendor ID Source field designates which organization assigned the
92	  value used in the Vendor ID field value.
93	  The possible values are:
94	  - 1 Bluetooth SIG, the Vendor ID was assigned by the Bluetooth SIG
95	  - 2 USB IF, the Vendor ID was assigned by the USB IF
96
97config BT_DIS_PNP_VID
98	hex "Vendor ID"
99	range 0 0xFFFF
100	default 0
101	help
102	  The Vendor ID field is intended to uniquely identify the vendor of the
103	  device. This field is used in conjunction with Vendor ID Source field,
104	  which determines which organization assigned the Vendor ID field value.
105	  Note: The Bluetooth Special Interest Group assigns Device ID Vendor ID,
106	  and the USB Implementers Forum assigns Vendor IDs,
107	  either of which can be used for the Vendor ID field value.
108	  Device providers should procure the Vendor ID from the USB Implementers
109	  Forum or the Company Identifier from the Bluetooth SIG.
110
111config BT_DIS_PNP_PID
112	hex "Product ID"
113	range 0 0xFFFF
114	default 0
115	help
116	  The Product ID field is intended to distinguish between different products
117	  made by the vendor identified with the Vendor ID field. The vendors
118	  themselves manage Product ID field values.
119
120config BT_DIS_PNP_VER
121	hex "Product Version"
122	range 0 0xFFFF
123	default 1
124	help
125	  The Product Version field is a numeric expression identifying the device
126	  release number in Binary-Coded Decimal. This is a vendor-assigned value,
127	  which defines the version of the product identified by the Vendor ID and
128	  Product ID fields. This field is intended to differentiate between
129	  versions of products with identical Vendor IDs and Product IDs.
130	  The value of the field value is 0xJJMN for version JJ.M.N
131	  (JJ - major version number, M - minor version number,
132	  N - sub-minor version number); e.g., version 2.1.3 is represented with
133	  value 0x0213 and version 2.0.0 is represented with a value of 0x0200.
134	  When upward-compatible changes are made to the device, it is recommended
135	  that the minor version number be incremented. If incompatible changes are
136	  made to the device, it is recommended that the major version number be
137	  incremented. The sub-minor version is incremented for bug fixes.
138
139endif # BT_DIS_PNP
140
141config BT_DIS_SERIAL_NUMBER
142	bool "DIS Serial number characteristic"
143	help
144	  Enable Serial Number characteristic in Device Information Service.
145
146config BT_DIS_SERIAL_NUMBER_STR
147	string "Serial Number"
148	depends on BT_DIS_SERIAL_NUMBER
149	help
150	  Enable Serial Number characteristic in Device Information Service.
151
152config BT_DIS_FW_REV
153	bool "DIS Firmware Revision characteristic"
154	help
155	  Enable Firmware Revision characteristic in Device Information Service.
156
157config BT_DIS_FW_REV_STR
158	string "Firmware revision"
159	depends on BT_DIS_FW_REV
160	default "$(APP_VERSION_TWEAK_STRING)" if "$(VERSION_MAJOR)" != ""
161	default "0.0.0+0"
162	help
163	  Enable firmware revision characteristic in Device Information Service.
164
165config BT_DIS_HW_REV
166	bool "DIS Hardware Revision characteristic"
167	help
168	  Enable Hardware Revision characteristic in Device Information Service.
169
170config BT_DIS_HW_REV_STR
171	string "Hardware revision"
172	depends on BT_DIS_HW_REV
173	help
174	  Enable hardware revision characteristic in Device Information Service.
175
176config BT_DIS_SW_REV
177	bool "DIS Software Revision characteristic"
178	help
179	  Enable Software Revision characteristic in Device Information Service.
180
181config BT_DIS_SW_REV_STR
182	string "Software revision"
183	depends on BT_DIS_SW_REV
184	help
185	  Enable software revision characteristic in Device Information Service.
186
187config BT_DIS_UDI
188	bool "DIS UDI for Medical Devices characteristic"
189	help
190	  Enable UDI for Medical Devices characteristic in Device Information Service.
191
192if BT_DIS_UDI
193config BT_DIS_UDI_LABEL_STR
194	string "UDI Label"
195	help
196	  String value matching the UDI in human readable form
197	  as assigned to the product by a recognized UDI Issuer.
198
199config BT_DIS_UDI_DI_STR
200	string "UDI Device Identifier"
201	help
202	  A fixed portion of a UDI that identifies the labeler and the
203	  specific version or model of a device.
204
205config BT_DIS_UDI_ISSUER_STR
206	string "UDI Issuer"
207	help
208	  OID representing the UDI Issuing Organization, such as GS1.
209
210config BT_DIS_UDI_AUTHORITY_STR
211	string "UDI Authority"
212	help
213	  OID representing the regional UDI Authority, such as the US FDA.
214endif # BT_DIS_UDI
215
216config BT_DIS_SYSTEM_ID
217	bool "DIS System ID characteristic [experimental]"
218	select EXPERIMENTAL
219	help
220	  Enable System ID characteristic in Device Information Service.
221	  The System ID characteristic is used to represent an extended unique identifier (EUI) of the system
222	  implementing the service that contains this characteristic. This 64-bit structure is an EUI-64 which consists
223	  of an Organizationally Unique Identifier (OUI) concatenated with a manufacturer-defined identifier.
224
225	  This will be transmitted as the 40 bit identifier followed by the 24-bit OUI.
226	  Both in little-endian format.
227
228if BT_DIS_SYSTEM_ID
229config BT_DIS_SYSTEM_ID_OUI
230	hex "Organizationally Unique Identifier (OUI) of the manufacturer."
231	range 0 0xFFFFFF
232	default 0
233	help
234	  The OUI is a 24-bit number issued by the IEEE Registration Authority.
235	  System ID characteristic in Device Information Service.
236	  Shall contain an Organisationally Unique Identifier (OUI) followed by a manufacturer-defined indentifier unique for the device.
237
238config BT_DIS_SYSTEM_ID_IDENTIFIER
239	hex "Manufacturer-defined unique identifier."
240	range 0 0xFFFFFFFFFF
241	default 0
242	help
243	  The manufacturer-defined unique identifier is 40 bits long.
244endif # BT_DIS_SYSTEM_ID
245
246config BT_DIS_IEEE_RCDL
247	bool "DIS IEEE 11073-20601 Regulatory Certification Data List characteristic"
248	help
249	  Enable IEEE 11073-20601 Regulatory Certification Data List characteristic in Device Information Service.
250
251config BT_DIS_IEEE_RCDL_STR
252	string "IEEE 11073-20601 Regulatory Certification Data List"
253	depends on BT_DIS_IEEE_RCDL
254	help
255	  IEEE 11073-20601 Regulatory Certification Data List characteristic in Device Information Service string contents.
256
257endif # BT_DIS
258