Code Restrukturierung - 2009

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche

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

  • Protocol Teil abtrennen und in ecmd eingliedern. Übernehmen ich. Rayofhope 10:00, 11. Apr. 2009 (UTC)
    • 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. Rayofhope 10:00, 11. Apr. 2009 (UTC)

Status: erledigt, nicht getestet (17. April 09)

config.h

auflösen und Inhalt gleichmäßig auf andere Dateien verteilen Rayofhope 12:27, 17. Apr. 2009 (UTC)

menuconfig

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