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

6 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-04-03 16:41 +0000

1"""PhysicalActivityMonitor 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 PhysicalActivityMonitorService(BaseGattService): 

12 """Physical Activity Monitor Service implementation (0x183E). 

13 

14 Used for physical activity monitoring devices. Provides general, 

15 cardiorespiratory, and sleep activity data along with step 

16 counting and session management. 

17 """ 

18 

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

20 CharacteristicName.PHYSICAL_ACTIVITY_MONITOR_FEATURES: True, 

21 CharacteristicName.GENERAL_ACTIVITY_INSTANTANEOUS_DATA: True, 

22 CharacteristicName.GENERAL_ACTIVITY_SUMMARY_DATA: True, 

23 CharacteristicName.PHYSICAL_ACTIVITY_MONITOR_CONTROL_POINT: True, 

24 CharacteristicName.PHYSICAL_ACTIVITY_CURRENT_SESSION: True, 

25 CharacteristicName.PHYSICAL_ACTIVITY_SESSION_DESCRIPTOR: True, 

26 CharacteristicName.CARDIORESPIRATORY_ACTIVITY_INSTANTANEOUS_DATA: False, 

27 CharacteristicName.CARDIORESPIRATORY_ACTIVITY_SUMMARY_DATA: False, 

28 CharacteristicName.STEP_COUNTER_ACTIVITY_SUMMARY_DATA: False, 

29 CharacteristicName.SLEEP_ACTIVITY_INSTANTANEOUS_DATA: False, 

30 CharacteristicName.SLEEP_ACTIVITY_SUMMARY_DATA: False, 

31 }