Seit Beta4 im Oktober 2016 sind nun 5 Monate vergangen. In der Zeit hat sich hinsichtlich Beta5 nicht allzuviel getan. Zumindest was den Code angeht. In Sachen Planung bin ich jedoch ein ganzen Stück weiter:
Beta5 wird mit deutlich mehr Gruppenadressen und vor allem mehr als einer Gruppenadresse (GA) pro Kommunikationsobjekt (KO) umgehen können. Hierfür ist ein Grundlegender Umbau der internen Struktur notwendig.
Statt bei der Programmierung wie bisher einzelne KOs und GAs zu übertragen, wird künftig bereits in der Suite der Datenspeicher für den Arduino aufgebaut, und es wird nur noch der fertig aufgebaut Datenspeicher zum Arduino übertragen. Das heißt also: Weg von Funktionen wie „writeComObj“ und „writeParam“, hin zu einem einzigen „writeMemory“ für alles. Damit fällt die einigermaßen lesbare Kontrolle über einen Gruppenmonitor (wie man ihn z.B. in der ETS findet) weg. Dort wird man dann nur noch sehen welche Bytes an welche Adresse im Arduino kopiert wurden. Da da aber sowieso wohl nie jemand im Detail reingeschaut hat, ist das nicht weiter tragisch.
Die Anzahl der möglichen KOs und GAs wird künftig über eine Art „Profil“ gesteuert. Für die kleinen 8-bit Mikrocontroller (ATmega32u4 und Co.) wird es ein einfaches Profil geben, für unseren mittlerweile „Standard-Mikrocontroller“ Atmel SAMD21G8 wird es ein Standard-Profil geben das deutlich mehr kann. Die Auswahl des Profils wird automatisch geschehen und sich an den Daten des Mikrocontrollers (interner EEPROM etc..) orientieren.
Nachdem dieses „Feature“ eher weniger Sichtbar für den normalen Anwender ist, wird es (nach aktueller Planung) noch ein Feature geben, das wohl jeder mit Freuden begrüßen wird:
Update der Firmware eines KONNEKTING Geräts über den KNX Bus
Das Team um den Arduino Core für die SAMD Mikrocontroller (https://github.com/arduino/ArduinoCore-samd) hat einen sogenannten 2nd-Stage Bootloader eingeführt, der es uns ermöglicht, Sketches aus einem bereits laufenden Sketch heraus zu aktualisieren. Wir müssen hier zwar die eine oder andere Anpassung vornehmen, aber so wie es aktuell aussieht, wird dieses Feature fester Bestandteil von Beta5.
Für die HW-Entwickler unter den Lesern hier: Um den Sketch zwischenspeichern zu können, werden wir wohl auf einen SPI-Flash-Speicher setzen. Zum Beispiel diesen hier:
Solche Chips sind mit ausreichender Kapazität in verschiedenen Baugrößen für meist <=50cent zu bekommen. Wie die exakte INtegration (auch SW-seitig) aussieht, wird sich noch zeigen. Wenn ihr also ein neues Controller-Design beginnt: Behaltet das Thema mal im Auge …