Projekt

Allgemein

Profil

Aktionen

Feature #147

geschlossen
JH

BLE-Pulsmesser: Anwesenheitsanzeige in der Geräteübersicht und schnellerer Verbindungsaufbau

Feature #147: BLE-Pulsmesser: Anwesenheitsanzeige in der Geräteübersicht und schnellerer Verbindungsaufbau

Von Julius Haman vor 22 Tagen hinzugefügt. Vor 19 Tagen aktualisiert.

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

100%

Geschätzter Aufwand:
Gefunden in Version:

Beschreibung

Anlass: Die Live-Statusanzeige für BLE-Pulsmesser in der Geräteübersicht wurde mit #139 entfernt, weil die dauerhafte Verbindung der Übersicht den Verbindungsaufbau im Training verzögerte (ein Pulsmesser nimmt nur eine Central-Verbindung an). Seitdem gibt es dort keinen Hinweis mehr, ob ein Gerät erreichbar ist. Außerdem dauert der BLE-Verbindungsaufbau gegenüber ANT+ spürbar länger (im Log typisch 6-10 s).

Umfang

  1. Anwesenheitsanzeige: Pro BLE-Pulsmesser ein Punkt in der Liste. Grün = Advertising in den letzten 8 s gesehen, grau = nicht gesehen. Rein passiver Advertisement-Watcher, keine Verbindung, kein Puls. Der Watcher läuft nur, solange die Geräteansicht geladen ist, und pausiert während eines Freien Trainings, BLE-Tests und der Gerätesuche. Nur BLE, kein ANT+.
  2. Schnellerer Verbindungsaufbau: BleAddressResolver öffnet das Gerät zuerst sofort mit dem aus der Adresse abgeleiteten Adresstyp. Nur wenn Windows das Gerät nicht kennt, wird wie bisher bis zu 5 s auf ein Advertisement gewartet. Vorher wurde diese Wartezeit unabhängig vom eigentlichen Connect bezahlt (0,1-5 s, bei "nicht gesehen" der volle Timeout).
  3. Diagnose: Die "Verbunden"-Zeile im Log enthält Teilzeiten (Gerät geöffnet, Service, Characteristic).

Messung (Garmin Instinct 2X Solar, Log 10.10.2026)

  • Wartezeit vor dem Connect: vorher Ø 2,6 s (bis 5 s), nachher 50-75 ms.
  • Gesamtdauer: vorher Ø 6,6 s, nachher 0,9-4,9 s bei bestehender Verbindung, 2,9-7,8 s bei Kaltstart.
  • Uhr sendet keinen Puls: Fehlschlag nach 7,9 s (Unreachable, Windows-GATT-Timeout), ohne dass eine Verbindung zurückbleibt.

Offen / bewusst nicht umgesetzt

  • BluetoothCacheMode.Cached für Service-/Characteristic-Discovery: Gewinn nur bei bestehender Verbindung erwartet, Risiko veralteter Windows-Caches (#133).
  • Eigenes kürzeres Timeout für nicht antwortende Geräte (aktuell Windows-Timeout, ca. 8 s).
  • Anwesenheitsanzeige für ANT+.
Aktionen

Auch abrufbar als: PDF Atom