Weil es grad in einem Ticket aufkam, stoße ich die Diskussion hier
nochmal an: REFLEX beinhaltet sehr viel altem oder ungetestetem Code,
alte Treiber und Klassen von denen niemand mehr genau weiss, was sie
machen sollen. Und dann kommen da immer neue Sachen hinzu (ich hab z.B.
grad eine einfache 'Delay' Komponente zugefügt -> Ticket #190 im trac
[1]). Wir wollen REFLEX eigentlich sauber, klein und übersichtlich
halten. Aber dabei muss natürlich trotzdem jede Menge Funktionalität
geboten werden. Ein erster Ansatz wurde ja schonmal diskutiert, bei dem
man bestimmte Teile von REFLEX verschieden klassifiziert und dann auch
getrennt verwaltet. Die Idee eines "REFLEX core" war dabei das zentrale
Element. Ein möglichst kleiner funktionaler Kern. Mit der Ordnerstruktur
haben wir ja sowas in der Art schon, aber das sollte nochmal richtig
spezifiziert werden und dann vielleicht sogar in getrennte Repositories
wandern.

core - Eventkanäle (Source/Sink), Scheduling, ???
lib  - Controller-unabhängige Komponenten, VirtualTimer?
controller - für jede(n) Controller(familie) getrennt
driver - Gerätetreiber mit spezifizierten Schnittstellen (I2C, SPI)
contrib - der ganze andere Kram ;-)

Fragen:
* wo würden in so einem System die examples hinwandern? Dort geht es ja
darum, ein example für viele Plattformen gemeinsam bereit zu stellen.
* Wo kommt die Dokumentation hin? Was wird alles dokumentiert?
* Wie entscheiden wir, was wie nah an den Reflex Kern ran darf
* Was wurde da noch alles vergessen?

Das nur ganz kurz um das anzustoßen. Fertig ausgearbeitet gab es da ja
noch von niemandem etwas, soweit ich weiss. Diese Änderungen werden
definitiv nicht ins nächste Release aufgenommen. Das wird leider länger
dauern.

Grüße
Stefan

[1]
https://idun.informatik.tu-cottbus.de/reflex/cgi/reflex-trac.fcgi/ticket/190

Attachment: signature.asc
Description: OpenPGP digital signature

Antwort per Email an