Coverage for src / bluetooth_sig / gatt / characteristics / voltage_frequency.py: 100%
9 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-11 20:14 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-11 20:14 +0000
1"""Voltage Frequency characteristic implementation."""
3from __future__ import annotations
5from ...types.units import ElectricalUnit
6from .base import BaseCharacteristic
7from .templates import ScaledUint16Template
10class VoltageFrequencyCharacteristic(BaseCharacteristic[float]):
11 """Voltage Frequency characteristic (0x2BE8).
13 org.bluetooth.characteristic.voltage_frequency
15 Voltage Frequency characteristic.
17 Measures voltage frequency with 1/256 Hz resolution.
18 """
20 _template = ScaledUint16Template(scale_factor=1 / 256)
22 _manual_unit: str = ElectricalUnit.HERTZ.value # Override template's "units" default
23 resolution: float = 1 / 256
24 # YAML encodes min/max as "Minimum: 1" "Maximum: 65533" (not "Allowed range").
25 max_value: float = 65533.0 * (1.0 / 256.0) # Exclude special values 0xFFFE and 0xFFFF