Aufbau und Leistungsmerkmale


 

Allgemein  

Das Modul ist so implementiert, dass es keine hardware- oder betriebssystemnahen Funktionen benutzt. 

Solche Funktionen sind in ein vom Anwender zu erstellendem Modul dali_ll_hal.c als Callbacks ausgelagert. 

Alle hier aufgezeigten Beispiele sind für STM32-Prozessoren programmiert. Sie sollten aber auch auf anderer Hardware zu implementieren sein. 

Kommunikation 

Die Kommunikation von und zum Treiber findet auch über Callbacks statt. Diese sind ausführlich in der API-Dokumentation beschrieben. 

Alle Nachrichten von und zum Treiber werden über Queues abgewickelt um zu verhindern, dass Interrupt-Aktionen zu lange dauern. Die Verarbeitung der Queues wird im Hauptprogramm oder bei Multitasking-Umgebungen in einem DALI-Thread angestoßen. 

Der Treiber ist in der Lage, mehrere Instanzen der DALI-API auf einer Hardware zu unterstützen. Das heißt, dass auf einer Hardware mehrere DALI-Geräte, z. B. eine LED und ein Applikations-Controller existieren können. Sie kommunizieren über den Treiber sowohl untereinander, als auch über den DALI-Bus mit externen Geräten. Dafür besitzt der Treiber eine Loop-Schicht die, nachdem eine Nachricht über die Hardware gesendet wurde, diese auch an alle anderen Instanzen auf derselben Hardware zustellt.