"""Identifiers shared by every module that handles more than one sensor."""

from __future__ import annotations

#: Highest number of QTFM sensors the application supports at once.
MAX_SENSORS = 8

#: Stable, ordered keys for the supported sensors.
SENSOR_KEYS: tuple[str, ...] = tuple("ABCDEFGH"[:MAX_SENSORS])

#: Default number of sensors shown when the application starts.
DEFAULT_SENSOR_COUNT = 2


def sensor_name(key: str) -> str:
    """Return the human-readable name for a sensor key."""
    return f"Sensor {key}"


def difference_label(reference: str, key: str) -> str:
    """Return the label for the gradiometer channel ``reference − key``."""
    return f"{reference} − {key}"
