Coverage for src/bluetooth_sig/types/units.py: 100%
43 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-30 00:10 +0000
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-30 00:10 +0000
1"""Unit enumerations for measurements and data types.
3Defines enums for measurement systems, weight units, height units,
4temperature units, and other unit types to replace string usage with type-safe alternatives.
5"""
7from __future__ import annotations
9from enum import Enum
12class MeasurementSystem(Enum):
13 """Measurement system for body composition and weight data."""
15 METRIC = "metric"
16 IMPERIAL = "imperial"
19class WeightUnit(Enum):
20 """Units for weight/mass measurements."""
22 KG = "kg"
23 LB = "lb"
26class HeightUnit(Enum):
27 """Units for height measurements."""
29 METERS = "meters"
30 INCHES = "inches"
33class TemperatureUnit(Enum):
34 """Units for temperature measurements."""
36 CELSIUS = "°C"
37 FAHRENHEIT = "°F"
40class GlucoseConcentrationUnit(Enum):
41 """Units for glucose concentration measurements."""
43 MG_DL = "mg/dL"
44 MMOL_L = "mmol/L"
47class PressureUnit(Enum):
48 """Units for pressure measurements."""
50 KPA = "kPa"
51 MMHG = "mmHg"
54class ElectricalUnit(Enum):
55 """Units for electrical measurements."""
57 VOLTS = "V"
58 AMPS = "A"
59 HERTZ = "Hz"
60 DBM = "dBm"
63class ConcentrationUnit(Enum):
64 """Units for concentration measurements."""
66 MICROGRAMS_PER_CUBIC_METER = "µg/m³"
67 PARTS_PER_MILLION = "ppm"
68 PARTS_PER_BILLION = "ppb"
69 KILOGRAMS_PER_CUBIC_METER = "kg/m³"
70 GRAINS_PER_CUBIC_METER = "grains/m³"
73class PercentageUnit(Enum):
74 """Units for percentage measurements."""
76 PERCENT = "%"
79class AngleUnit(Enum):
80 """Units for angle measurements."""
82 DEGREES = "°"
85class SoundUnit(Enum):
86 """Units for sound measurements."""
88 DECIBELS_SPL = "dB SPL"
91class LengthUnit(Enum):
92 """Units for length measurements."""
94 MILLIMETERS = "mm"
95 METERS = "m"
96 INCHES = "'"
99class PhysicalUnit(Enum):
100 """Units for physical measurements."""
102 TESLA = "T"