Seite 1 von 1

Neue Version der ARM-Lib mit vielen Verbesserungen verfügbar

Verfasst: 24. Apr 2023, 22:30
von dallmair
Zu Ostern hats nicht ganz geklappt, aber pünktlich zum anstehenden langen Wochenende mit dem Tag der (Open Source) Arbeit haben wir nun eine neue Version 2.01 unserer Library nebst Bootloader veröffentlicht, auf die alle Selfbus-ARM-Geräte aufbauen.

Highlights:
  • Höhere KNX-Spec-Compliance bei Verhalten und Timing. Wo vorher keine Wiederholungen geschickt oder damit zu lange gewartet wurde, wiederholte Telegramme nicht geACKt und fälschlicherweise bis zur App durchgereicht wurden oder sogar Telegramme mit BUSY quittiert wurden, wiederholen wir nun zuverlässig nach exakt der vorgeschriebenen Zeit, senden ACK oder gar nix und filtern wie es sein soll.
  • Kollisionen werden korrekt behandelt. Vorher wurden nur manche Kollisionen überhaupt erkannt und dann zwar das Senden eingestellt aber das empfangene Telegramm verworfen, nun empfangen und verarbeiten wir Telegramme trotz Kollision korrekt. Auf belebtem Bus ohne Einkopplungen haben wir nun 100% Empfangsquote.
  • Einkopplungen (Spikes) werden besser gefiltert und toleranter behandelt. Hier wurden vorher z.T. Telegramme wiederholt ohne das Repeat-Flag zu setzen, was nun u.a. behoben ist.
  • Verbindungslose Punkt-zu-Punkt-Kommunikation implementiert, die gab es vorher gar nicht.
  • Transport Layer State Machine Style 3 statt Style 1 Rationalized sorgt für wesentlich höhere Stabilität der Punkt-zu-Punkt-Verbindungen. Wir haben 100% Spec-Test-Case-Conformance für Style 3.
  • Neuer `--timeout` Switch beim PC Updater Tool ermöglicht erfolgreiche Updates, selbst wenn man in eine (ganz selten auftretende!) Disconnect-/Connect-Loop läuft.
Dies alles bedeutet
  • das manchmal zu beobachtende Fluten des Busses mit Nachrichten ist Geschichte
  • die ETS erkennt nur noch ein Gerät im Programmiermodus wenn da nur eins ist
  • Geschwindigkeit von Flashen mittels Bootloader über knxd nun vergleichbar mit Hardware-IP-Interface
  • insgesamt höhere Geschwindigkeit und Stabilität bei Download von der ETS und beim Flashen mittels Bootloader, insbesondere wenn Spikes auftreten
Auch wenn ich die Ankündigung hier poste, so gebührt ein Großteil des Danks unserem Community-Mitglied Darthyson, der all diese Verbesserungen entwickelt und/oder getestet und mich regelmäßig mit neuen Logs zur Analyse versorgt hat.

Einen kleinen Wermutstropfen gibt's: die Verbesserungen kommen erst so richtig zum Tragen, wenn man alle Selfbus-ARM-Geräte am Bus aktualisiert.

Viele Grüße
Thomas

Re: Neue Version der ARM-Lib mit vielen Verbesserungen verfügbar

Verfasst: 25. Apr 2023, 11:17
von Tontechniker
Hallo Thomas,
sehr beeindruckend, was ihr da geschaffen habt!
Vielen Dank für eure Arbeit!
Gruß
Hans

Re: Neue Version der ARM-Lib mit vielen Verbesserungen verfügbar

Verfasst: 6. Jun 2023, 13:18
von Darthyson
Hallo zusammen,

Da es im Rocketchat zu etwas Verwirrung kam, will ich es auch hier genauer erklären.
dallmair hat geschrieben: 24. Apr 2023, 22:30
  • die ETS erkennt nur noch ein Gerät im Programmiermodus wenn da nur eins ist
Geräte mit einer Firmware basierend auf dem alten DEV-OPP Branch haben den "mehrere Geräte im Programmiermodus" Bug. Kurzzeitig betroffen (21.02.-24.3.2023) waren auch Geräte basierend auf dem neuen main Branch.
Mit sbLib Version 2.02 wurde u.a. dieser Bug wieder gefixt.
dallmair hat geschrieben: 24. Apr 2023, 22:30 die Verbesserungen kommen erst so richtig zum Tragen, wenn man alle Selfbus-ARM-Geräte am Bus aktualisiert.
Das gilt nach wie vor, da einige der von Thomas erwähnten Highlights nur auf dem neuen main zu finden sind.

Viele Grüße
Denis