Ja und jetzt legst du einmal die Matrix im Hauptprogramm an und über übergibst sie als Pointer oder notfalls als globale Variable an die Subprogramme.
Ja und jetzt legst du einmal die Matrix im Hauptprogramm an und über übergibst sie als Pointer oder notfalls als globale Variable an die Subprogramme.
Habe noch nie mit Pointern gearbeitet. Hab mich eben schon belesen, aber so richtig blicke ich da noch nicht durch was ich wie übergeben muss...
Wäre für einen Denkanstoß dankbar..
Also du hast dein Hauptprogramm.
Dort legst du ganz normal im globalen Scope deine Matrix an, so wie du das bisher auch gemachst hast.
Jetzt bekommt jedes Subprogramm eine weitere Varaible und Init methode in der Form:
Zugriff erfolgt dann mit -> statt mit . oder mit (*myMatrix).meineMethodeCode:RGBmatrixPanel* myMatrix; void Init(RGBmatrixPanel * mat) { myMatrix = mat; }
Vielen Dank!
Eine Frage noch: Wird hier im Subprogramm mit
RGBmatrixPanel* myMatrix;
eine neue definiert per Zeiger oder ist in deinem Beispiel die Definition "myMatrix" in meinem Fall laut main.ino "matrix"?
Ich werde es ausprobieren, Danke sehr!
EDIT: habe probiert, komme aber nicht wirklich weiter, jetzt habe ich wieder multiple Definitionen oder andere Fehlermeldungen... Vllt brauche ich auch nur eine Denkpause. Beschäftige mich seit Wochen mit diesem Menü... oh je....
komme eh erst am Montag wieder dazu mich mit dem Code zu beschäftigen...
Falls jemand interessiert ist oder ich einen anderen Fehler im Code habe den ich blind übersehe, dann schaut euch doch mal den kompletten sketch an:
Geändert von Fibs2000 (06.11.2015 um 16:19 Uhr)
Auch wenn das jetzt vllt. etwas böse klingt. Lerne die Programmiersprache die du verwenden willst richtig. Ist aber nicht böse gemeint.
Es bringt dich aber wesentlich weiter, wenn du noch mal ein Buch/Tutorial zu C bzw. C++ von vorne durcharbeitest. Dort wird dir alles von richtigen Headerfiles bishin zu Pointern, richtig erklärt.
Zu RGBmatrixPanel* myMatrix;
Damit legst du einen neuen noch nicht zugewiesenen Pointer auf ein Objekt vom Typ RGBmatrixPanel an.
Danke sehr für deine Kritik. Ich weis dass ich noch sehr unwissend bin diesbezüglich. Ich lerne seit einigen Monaten mehr durch das studieren der Sketche und probiere hier und da aus. Mir fehlt leider die Zeit C bzw C++ zu lernen. Darum versuche ich es so und falle zurück auf den Anfang. Jedoch kommt sehr sehr oft der AHA-Effekt beim probieren. Lesen tue ich natürlich auch sehr viel.... Ich weiss dass dies nicht böse von dir gemeint ist, und ich muss dir natürlich Recht geben... bin halt sehr neu bezüglich C++ und Arduino usw... Bin eher der für die Ideen und die Hardware/Elektronik....
Sorry für die Unwissenheit......
Hier trotzdem der Link für diejenigen welche gerne mal Testen wollen: https://github.com/Fibs2000/GameTableTest
und hier noch fix ein paar Bilder...:
Geändert von Fibs2000 (06.11.2015 um 17:23 Uhr)
Okey, ich gebe dir einfach mal nur den Tipp: Wie verwendet man Objekte in cpp bzw. wie deklariert man Klassen in cpp und wo deklariert man globale Variablen in einer Klasse.
Dann wirst du sehr schnell sehen warum die meinen (Pseudo)Code falsch eingebaut hast.
Lesezeichen