Coverage for src / bluetooth_sig / utils / rssi_utils.py: 39%
18 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-18 11:17 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-18 11:17 +0000
1"""RSSI utility functions for BLE operations."""
3from __future__ import annotations
5# RSSI quality thresholds (in dBm)
6RSSI_EXCELLENT = -30
7RSSI_VERY_GOOD = -50
8RSSI_GOOD = -60
9RSSI_FAIR = -70
10RSSI_WEAK = -80
13def get_rssi_quality(rssi: int) -> str:
14 """Get human-readable RSSI signal quality description.
16 Args:
17 rssi: RSSI value in dBm
19 Returns:
20 Human-readable quality description
22 """
23 if rssi >= RSSI_EXCELLENT:
24 return "Excellent"
25 if rssi >= RSSI_VERY_GOOD:
26 return "Very Good"
27 if rssi >= RSSI_GOOD:
28 return "Good"
29 if rssi >= RSSI_FAIR:
30 return "Fair"
31 if rssi >= RSSI_WEAK:
32 return "Weak"
33 return "Very Weak"