Coverage for src/bluetooth_sig/gatt/services/device_information.py: 100%

6 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2025-10-30 00:10 +0000

1"""Device Information Service implementation.""" 

2 

3from __future__ import annotations 

4 

5from typing import ClassVar 

6 

7from ..characteristics.registry import CharacteristicName 

8from .base import BaseGattService 

9 

10 

11class DeviceInformationService(BaseGattService): 

12 """Device Information Service implementation. 

13 

14 Contains characteristics that expose device information: 

15 - Manufacturer Name String - Required 

16 - Model Number String - Optional 

17 - Serial Number String - Optional 

18 - Hardware Revision String - Optional 

19 - Firmware Revision String - Optional 

20 - Software Revision String - Optional 

21 """ 

22 

23 service_characteristics: ClassVar[dict[CharacteristicName, bool]] = { 

24 CharacteristicName.MANUFACTURER_NAME_STRING: True, # required 

25 CharacteristicName.MODEL_NUMBER_STRING: False, # optional 

26 CharacteristicName.SERIAL_NUMBER_STRING: False, # optional 

27 CharacteristicName.HARDWARE_REVISION_STRING: False, # optional 

28 CharacteristicName.FIRMWARE_REVISION_STRING: False, # optional 

29 CharacteristicName.SOFTWARE_REVISION_STRING: False, # optional 

30 }