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

11 statements  

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

1"""PM10 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 PM10ConcentrationCharacteristic(BaseCharacteristic): 

11 """PM10 particulate matter concentration characteristic (0x2BD7). 

12 

13 Represents particulate matter PM10 concentration in micrograms per 

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

15 """ 

16 

17 _template = ConcentrationTemplate() 

18 

19 _characteristic_name: str = "Particulate Matter - PM10 Concentration" 

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

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

22 

23 # Template configuration 

24 resolution: float = 1.0 

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