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

6 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-01-11 20:14 +0000

1"""Indoor Positioning 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 IndoorPositioningService(BaseGattService): 

12 """Indoor Positioning Service implementation. 

13 

14 Contains characteristics related to indoor positioning: 

15 - Latitude - Mandatory 

16 - Longitude - Mandatory 

17 - Local North Coordinate - Optional 

18 - Local East Coordinate - Optional 

19 - Floor Number - Optional 

20 - Altitude - Optional 

21 - Uncertainty - Optional 

22 - Location Name - Optional 

23 - Indoor Positioning Configuration - Optional 

24 """ 

25 

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

27 CharacteristicName.LATITUDE: True, # mandatory 

28 CharacteristicName.LONGITUDE: True, # mandatory 

29 CharacteristicName.FLOOR_NUMBER: False, # optional 

30 CharacteristicName.LOCATION_NAME: False, # optional 

31 CharacteristicName.INDOOR_POSITIONING_CONFIGURATION: False, # optional 

32 CharacteristicName.LOCAL_NORTH_COORDINATE: False, # optional 

33 CharacteristicName.LOCAL_EAST_COORDINATE: False, # optional 

34 CharacteristicName.ALTITUDE: False, # optional 

35 CharacteristicName.UNCERTAINTY: False, # optional 

36 }