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
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-11 20:14 +0000
1"""Indoor Positioning Service implementation."""
3from __future__ import annotations
5from typing import ClassVar
7from ..characteristics.registry import CharacteristicName
8from .base import BaseGattService
11class IndoorPositioningService(BaseGattService):
12 """Indoor Positioning Service implementation.
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 """
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 }