Code Restrukturierung - 2009: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(Exklusive Ressourcen)
(Plan für das Stella Modul)
Zeile 16: Zeile 16:
  
 
== Modul: Stella ==
 
== Modul: Stella ==
* Protocol Teil abtrennen und in ecmd eingliedern. Übernehmen ich. [[Benutzer:Rayofhope|Rayofhope]] 10:00, 11. Apr. 2009 (UTC)
+
Folgendes plane ich ([[Benutzer:Rayofhope|Rayofhope]]) für das Modul:
** Dafür werde ich speziell für ecmd udp einen "speed mode" einführen, d.h. ein kommandobyte, payload, kommandobyte ...; Eingeleitet wird der speedmode mit einem newline Zeichen, da dieses in einem normalem ecmd kommando nicht an erste Stelle vorkommen kann. Speedmode muss von einem Modul explizit unterstützt werden, ist also nicht automatisch für jedes ecmd-fähige Modul verfügbar und läuft nicht über die bisherigen m4/script Lösungen. Warum speedmode? Stella PWM braucht schnelle Paket Verarbeitung. Ein eigenes stella Protokoll macht recht wenig Sinn, weil auch Dinge wie Cronjobs über dieses Protokoll abgewickelt werden sollen. [[Benutzer:Rayofhope|Rayofhope]] 10:00, 11. Apr. 2009 (UTC)
+
* Umbennenung in StellaLight. Für Servos gibt es jetzt ein eigenes PWM Modul.
 
+
* Moodlight Ansteuerung auslagern in ein seperates Modul, welches von StellaLight abhängt.
Status: erledigt, nicht getestet (17. April 09)
+
* Moodlight Modul mit ecmd Schnittstelle versehen
 
+
* Entfernen von speed_ecmd
== config.h ==
+
* Ansteuerung von StellaLight über das dmx Modul, d.h. ethersex mit StellaLight+dmx verhält sich dann wie ein dmx Client.
auflösen und Inhalt gleichmäßig auf andere Dateien verteilen [[Benutzer:Rayofhope|Rayofhope]] 12:27, 17. Apr. 2009 (UTC)
+
* Entfernen von contrib/stella (baut auf speed_ecmd auf).
 +
* Neues contrib Programm um ethersex dmx über artnet anzusteuern.
  
 
== menuconfig ==
 
== menuconfig ==
 
An die neue Ordnerstruktur angleichen.  [[Benutzer:Rayofhope|Rayofhope]] 12:27, 17. Apr. 2009 (UTC)
 
An die neue Ordnerstruktur angleichen.  [[Benutzer:Rayofhope|Rayofhope]] 12:27, 17. Apr. 2009 (UTC)

Version vom 17. Juli 2009, 09:30 Uhr

Editieren erwünscht (mit Signatur wäre klasse) ;) Rayofhope 10:00, 11. Apr. 2009 (UTC)

Idee: Exklusive Ressourcen

Problem: Aktuell ist es möglich per menuconfig mehrere Module einzuschalten, die exklusiven Zugriff auf ein und dieselbe Hardware Komponente des Mikrokontrollers benötigen oder sich aus anderen Gründen gegenseitig stark beeinflussen. Darunter fällt etwa, wenn zwei Module den selben Timer verwenden wollen, oder ein Modul auf regelmäßige Interrupts angewiesen ist, und ein anderes Modul Interrupts ganz oder teilweise abschaltet. Rayofhope 12:51, 10. Mai 2009 (UTC)

Lösungsvorschläge:

  • Ressourcen Management in menuconfig mit einbauen. Vorteil: Warnungen noch vor dem Compilieren. Nachteil: Ist wohl etwas aufwändiger. Rayofhope 12:51, 10. Mai 2009 (UTC)
  • Module deklarieren irgendwo zentral oder auch dezentral, welche Ressourcen sie nutzen. Zur Compilierzeit werden dann die Fehler, bedingt durch doppelte #ifdefs, ausgegeben. Vorteil: Einfacher zu implementieren?! Nachteil: Nicht direkt in menuconfig erkennbar, wenn Module sich beißen. Rayofhope 12:51, 10. Mai 2009 (UTC)

Modul: mcuf

  • Splitten und auf die 3 bekannten Ordner verteilen

Modul: Stella

Folgendes plane ich (Rayofhope) für das Modul:

  • Umbennenung in StellaLight. Für Servos gibt es jetzt ein eigenes PWM Modul.
  • Moodlight Ansteuerung auslagern in ein seperates Modul, welches von StellaLight abhängt.
  • Moodlight Modul mit ecmd Schnittstelle versehen
  • Entfernen von speed_ecmd
  • Ansteuerung von StellaLight über das dmx Modul, d.h. ethersex mit StellaLight+dmx verhält sich dann wie ein dmx Client.
  • Entfernen von contrib/stella (baut auf speed_ecmd auf).
  • Neues contrib Programm um ethersex dmx über artnet anzusteuern.

menuconfig

An die neue Ordnerstruktur angleichen. Rayofhope 12:27, 17. Apr. 2009 (UTC)