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

9 statements  

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

1"""Pollen Concentration characteristic implementation.""" 

2 

3from __future__ import annotations 

4 

5from ...types.gatt_enums import ValueType 

6from .base import BaseCharacteristic 

7from .templates import ScaledUint24Template 

8 

9 

10class PollenConcentrationCharacteristic(BaseCharacteristic): 

11 """Pollen concentration measurement characteristic (0x2A75). 

12 

13 Uses uint24 (3 bytes) format as per SIG specification. 

14 Unit: grains/m³ (count per cubic meter) 

15 """ 

16 

17 _template = ScaledUint24Template(scale_factor=1.0) 

18 

19 _manual_value_type: ValueType | str | None = "float" # Override YAML spec since decode_value returns float 

20 _manual_unit: str = "grains/m³" # Override template's "units" default 

21 

22 # SIG specification configuration 

23 resolution: float = 1.0