ich benötige ein paar Tipps von euch, da ich gerade einen logischen Hänger habe.
Ich habe 4 Module mit einem PCA9685 (16 Kanal 12bit LED PWM Generator) und 4 Module mit einem MCP23017 (16 Kanal Input und Output Portexpander).
Hierfür habe ich jeweils eine Klasse geschrieben und eine Instanz zur Steuerung der Hardware aufgebaut. Hier am Beispiel für das LED-Licht.

Mit der Instanz für LichtHardware und einer Referenzliste habe ich die Klassen HW_Ledtreiber und PCA9685 wie folgt aufgebaut und jeweils in einer Liste innerhalb der Initialisierungsphase gespeichert.

In der Klasse HW_Ledtreiber habe ich die Klasse PCA9685 als Instanz aufgerufen.
Code: Alles auswählen
self._hw_treiber = PCA9685(self._i2cbus_system, self._ledtreiber_adresse, self._treiber_option)
Wie auch immer, die Instanz von LichtHardware funktioniert und ich kann über diese auf die einzelnen Module zugreifen und somit auch die Hardware bedienen.
Nun habe ich mir überlegt eine weiter Instanz aufzubauen um die Steuerung des Lichtes zu gewährleisten.


Das sind nun 2 Instanzen nur für das Licht. Nach dem gleichen Schema würde ich 2 Instanzen für die Ein- und Ausgänge aufbauen.
Dann hätte ich also 4 Instanzen.
Wie kann man am Besten die Instanzen organisieren? (In Listen?)
Wie kann man Informationen in so einem Aufbau am besten verarbeiten und an die entsprechenden Instanzen verteilen?
Würde es Sinn machen eine Controller-Instanz aufzubauen?
Ich stehe gerade auf dem Schlauch und komme gerade nicht wirklich weiter.
Wenn ihr weitere Infos braucht, kann ich sie euch gerne geben.