Coverage for src/bluetooth_sig/gatt/characteristics/pm1_concentration.py: 100%

11 statements  

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

1"""PM1 Concentration characteristic implementation.""" 

2 

3from __future__ import annotations 

4 

5from ...types.gatt_enums import ValueType 

6from .base import BaseCharacteristic 

7from .templates import ConcentrationTemplate 

8 

9 

10class PM1ConcentrationCharacteristic(BaseCharacteristic): 

11 """Particulate Matter - PM1 Concentration characteristic (0x2BD5). 

12 

13 org.bluetooth.characteristic.particulate_matter_pm1_concentration 

14 

15 PM1 particulate matter concentration characteristic (0x2BD7). 

16 

17 Represents particulate matter PM1 concentration in micrograms per 

18 cubic meter with a resolution of 1 μg/m³. 

19 """ 

20 

21 _template = ConcentrationTemplate() 

22 

23 _characteristic_name: str = "Particulate Matter - PM1 Concentration" 

24 _manual_value_type: ValueType | str | None = ValueType.INT 

25 _manual_unit: str = "µg/m³" # Override template's "ppm" default 

26 

27 # Template configuration 

28 resolution: float = 1.0 

29 max_value: float = 65533.0 # Exclude special values 0xFFFE and 0xFFFF