Projekt

Allgemein

Profil

Aktionen

Feature #15

geschlossen
JH

Pulsmesser mit ANT+ Interface anbinden

Feature #15: Pulsmesser mit ANT+ Interface anbinden

Von Julius Haman vor 24 Tagen hinzugefügt. Vor 24 Tagen aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
-
Zielversion:
Beginn:
Abgabedatum:
% erledigt:

100%

Geschätzter Aufwand:
Gefunden in Version:

Beschreibung

down

Subject

Pulsmesser mit ANT+ Interface anbinden

Text

Hintergrund

Der Pulsmesser (Registerkarte „Pulsmesser“) unterstützt aktuell nur BLE-Empfang
(BleHrsScanner, HR-Service 0x180D). Der Verbindungstyp ANT+ HRM existiert bereits, ist aber nur
verwaltet — der Hinweis „PulsmesserNotTestable“ erklärt, dass hier noch nichts anschließt.

Ziel: Ein ANT+-HRM-Sensor (Chest-Strap oder Sportuhr mit HR-Broadcast) als weitere Pulsquelle.
ANT+ hat kein Service-Discovery wie BLE — der Sensor sendet eigenständig als Master, ErControl ist
reiner Empfänger („Display“). Der Empfang läuft über den bestehenden AntInterface-Prozess, dessen
Kanäle fest vergeben sind (0 = Power-Broadcast, 1 = FE-C, 2 = Puls). Kanal 2 ist damit bereits für
diese Rolle reserviert.

Umsetzung

AntInterface

  • Neue Rolle AntHrDisplayRole auf Kanal 2 (IAntChannelRole), analog FecControlRole/
    PowerBroadcastRole aufgebaut:
    • Kanal als Empfänger konfigurieren (Channel Type RECEIVE/Slave), Channel Period 8072,
      RF 57, Device ID 0 (Auto-Discovery), Device Type 0x78 (Heart Rate Monitor),
      Transmission Type 0.
    • Empfangene Broadcast-Pakete auswerten: Haupt-Datenpage 0x20 (Computed Heart Rate,
      Byte 4 = Puls in bpm), regelmäßig eingestreute Common-/Info-Pages ignorieren.
    • Empfangener Puls wird über die Named Pipe an eine neue statische Property
      ErgometerDataReceiver.CurrentPulse durchgereicht (analog CurrentPower/CurrentCadence).
    • Logging mit Kanal-Präfix „Kanal 2 (Puls): …“ im bestehenden Stil.

ErControl.Core

  • Trainingsintegration über denselben einzigen Ausgangspunkt wie BLE: Am Anfang von
    DataSender_SendingData überschreibt die aktive Pulsquelle data.Pulse — je nach
    ConnectionType des aktiven Pulsmesser-Geräts:
    • BleHrs → BlePulsmesser (bestehend),
    • AntHrm → ErgometerDataReceiver.CurrentPulse (AntInterface läuft beim Training ohnehin
      für FE-C).
  • Fehlerverhalten bleibt still

JH Von Julius Haman vor 24 Tagen aktualisiert Aktionen #1

  • Status wurde von Neu zu Gelöst geändert
  • Zugewiesen an Julius Haman wurde gelöscht
  • % erledigt wurde von 0 zu 100 geändert

JH Von Julius Haman vor 24 Tagen aktualisiert Aktionen #2

  • Status wurde von Gelöst zu Erledigt geändert
Aktionen

Auch abrufbar als: PDF Atom