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

9 statements  

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

1"""PM2.5 Concentration characteristic implementation.""" 

2 

3from __future__ import annotations 

4 

5from .base import BaseCharacteristic 

6from .templates import ConcentrationTemplate 

7 

8 

9class PM25ConcentrationCharacteristic(BaseCharacteristic): 

10 """PM2.5 particulate matter concentration characteristic (0x2BD6). 

11 

12 Represents particulate matter PM2.5 concentration in micrograms per 

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

14 """ 

15 

16 _template = ConcentrationTemplate() 

17 

18 _characteristic_name: str = "Particulate Matter - PM2.5 Concentration" 

19 resolution: float = 1.0 

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

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