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.
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
5x in16-bim112 ARM | 1x rol-jal-bim112 ARM | 2x MSA | 1x raincenter-bim112 ARM | 8x Kombisensor LPC | 1x out8 LPC | 2x 2in2out LPC