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