2. Konfiguration der aaFlipra-Library

Die aaFlipra-Library ist universell für alle meine Hardwarelösungen geeignet. Für die eingesetzte wwFlip Steuerplatine und das verwendete Flip-Dot-Modul muss sie konfiguriert werden. Damit man dies nicht in jedem seiner Programme wiederholt einstellen muss - und dabei vielleicht Fehler macht - gibt es eine Konfigurationdatei im Ordner der aaFlipra-Library. Hat man das einmal erledigt, funktionieren alle Beispielprogramme ohne jegliche Änderungen "out of the box".

Speicherort der aaFlipraConfig.h

Die Arduino IDE legt die Library n meinen Windows Ordner C:\Users\Rainer\Documents\Arduino\libraries\aaFlipra\ bzw. auf dem MAC unter: ~/Documents/Arduino/libraries/aaFlipra) ab.

Das kann bei Euch abweichen! Im Beispielfoto unten habe ich das Sketchbook von Arduino, das auch die Libraries enthält auf OneDrive gelegt (stellt man in der Arduino IDE ein). Somit greife ich von allen meinen Windows Rechnern immer auf die gleiche Umgebung zu.

Speicherort der aaFlipraConfig.h unter oneDrive für alle meine Windows Rechner

Speicherort der aaFlipraConfig.h unter oneDrive für alle meine Windows Rechner

Der eigentliche Programmcode jeder Arduino Library liegt in dessen Unterordner src (source). Hier öffnet man die Datei aaFlipraConfig.h mit einem beliebigen Texteditor wie dem "Editor" bei Windows oder "TextEdit" auf dem MAC. Für Windows empfehle ich das kostenlose notepad++.

PS: Wer einen schnellen Funktionsüberblick über eine beliebige Arduino Library erhalten möchte, der wird ebenfalls im src Ordner einer jeden Library fündig. Dort muss es immer eine Datei mit Namen der Library und der Endung .h geben. Hier ist das die aaFlipra.h. In dieser Datei müssen für den Compiler alle verfügbaren Funktionen und Schlüsselworte definiert werden. Nette Programmierer fügen in die .h auch kurze Bemerkungen ein.

Steuerplatine und Dot-Modul

Achtung Neuere Versionen der aaFlipraConfig.h (Config) können von dieser Beschreibung (Stand 11/2024) abweichen - die Struktur bleibt dabei aber gleich.

Beim Kompilieren eines Arduino Programms öffnet der Kompiler die aaFlipraConfig.h und merkt sich alle durch #define eingestellten Schlüsselwörter. Über diese #defines wird anschließend die Codeerstellung passend zur Hardware durchgeführt. Alle erlaubten Schlüsselwörter wie z.B. PCB_BROSE19 sind bereits in der Config aufgelistet, aber durch die Kommentarzeichen "//" auskommentiert = unwirksam gemacht.

Der folgende Ausschnitt der Config demonstriert dieses Vorgehen. Für BROSE und BUSE ist immer genau eine Steuerplatine und ein Dot-Modul auszuwählen. Hier also die Steuerplatine PCBBROSE1905 und das Dot-Modul BROSE 28x16. Für KRUEGER muss nur die Modulgröße ausgewählt werden. Die Schlüsselworte dürfen nicht verändert werden.
PS: Die Version der wwFlip-Platine findet Ihr immer unten rechts am Rande der Platine verzeichnet.

//===================================================================================================================== 
// aaFlipraConfig.h 	Rainer Radow 	30171 Hannover, Germany
// 2024.07.27  Für ESP_ARDUINO_VERSION 2.x.x und ESP_ARDUINO_VERSION 3.x.x
// 2024.11.08  Neuintegration KRÜGER mit ESP32C3
//===================================================================================================================== 
// Zum Auswählen von Steuerplatinen und Flip-Dot-Modulen 
// vor der gewünschten Konfiguration das Kommentarzeichen // entfernen.
// !! Es darf nur eine Steuerplatine und nur ein Dot-Modul ausgewählt werden !!
//=====================================================================================================================
// wwFlip-PCB + Dot-Modul für KRUEGER Dot-Module mit eckigen Klappen
   // aktuell gibt es nur eine Steuerplatinenansteuerung je Dot-Modul, 
   // daher muss bei Krueger keine Steuerplatine, sondern nur das Dot-Modul ausgewählt werden
   //#define KRUEGER        // 16x24 Modul
   //#define KRUEGER16x16   // 16x16 Modul
   // wwFlipLumiE-v0.1																 
//=====================================================================================================================
// wwFlip-PCB für BROSE Dot-Module mit einem FP28xx Chip, mit sich drehende Dots und 60 poligem Stecker
   //#define PCB_BROSE19036     // "wwFlipDirekt-0.36/-0.40"        = Treiber für 19 Dots in Zeile 1 bis 19 mit 8 fach Modulauswahl ESP32
   #define PCB_BROSE1905x   // "wwFlipDirekt-0.50", "wwFlipDirekt-0.51", "wwFlipDirekt-0.52"  = Treiber für 19 Dots in Zeile 1 bis 19 mit 8 fach Modulauswahl ESP32S2
   //#define FP2800 100
//=====================================================================================================================
//=====================================================================================================================
// hier genau 1x die passende Größe für Dot-Module BROSE, BUSE oder LAWO auswählen, wenn man nur 1 Dot-Modul verbaut hat!
// Die Bezeichnung der Dot-Module mit BROSE am Anfang ist historisch gewachsen - müsste man mal ändern ...
   //#define DOT_21X7         // 7x21 Modul mit einfach bestückter Platine
   //#define DOT_14X19        //
   //#define DOT_21X11          //
   //#define DOT_21X16        //
   //#define DOT_21X19vorne   // Die 21x19 Module gibt es in zwei Versionen - einfach mal ausprobieren
   //#define DOT_21X19hinten  // Das Dot oben links mus durch set(1,1); ansprechbar sein - dann ist es richtig gewählt!
   //#define DOT_28X10        //
   //#define DOT_28X11        //
   #define DOT_28X16        //
   //#define DOT_28x16bottom  // Dots beginnen erst in Zeile = Y = 3
   //#define DOT_28X19          // passt auch für alle anderen BROSE Platinen - ist dann aber nicht optimal
   //#define DOT_28X24        // Bisher nur Luminator
   //#define DOT_28X28        // nur PCB_BROSE020 und LAWO
//=====================================================================================================================
 

Nachtrag 30.05.2020 Da die Spaltentreiber ICs BROSE2840 und FP2800 teilweise eine unterschiedliche Ansteuerung benötigen, gibt es die Definition #define FP2800 2. Zunächst sollte man ohne diese Definition starten. Wenn ein FP2800 verbaut ist, muss diese Definition zumindest beim PCB_BROSE1903 aktiviert werden. Anschließend sollte man den Wert von FP2800 durch Versuche so klein wie möglich stellen. Bei Problemen mit einem FP2800 meldet Euch einfach bei mir.

Sonstige Einstellungen

Schaltet man zum schnellen Flippen z.B. mehrere KRUEGER Dot-Module in Reihe, auf denen jeweils eine eigene wwFlip-Platine aufgesteckt ist, muss man im MODULCOUNT die entsprechende Anzahl Dot-Module eintragen. Dann kann auf jedem Dot-Modul gleichzeitig ein Dot flippen, was die Bild-Wiederholrate erheblich steigert.

Verwendet man hingegen z.B. 4 BROSE 28x16 Module, die über 60-polige Flachbandkabel mit nur einer wwFlip-Platine angesteuert werden, wählt man das Dot-Modul BROSE112x16 aus und der MODULCOUNT bleibt weiterhin auf 1. Durch die von der Firma BROSE vorgegebene Technik kann dann auf der 112x16 großen Fläche jeweils nur genau ein Dot flippen.

//====================================================== sonstige Einstellungen 
 // --- Anzahl verbauter Dot-Module
   #define MODULECOUNT 1        // 1 für ein Modul = Defaultwert.
                                // Dieser Parameter legt auch die Feldgröße der Dot-Matrix fest = Speicherverbrauch!
//------------------------------------------------------------------------------------------------------------------ 

Dot-Module können in beliebiger mechanischer Orientierung/Drehung verbaut werden. Um das Programmieren zu erleichtern, kann man das Benutzerkoordinatensystem so einstellen, dass das Dot x=1, y=1 immer in der oberen linken Ecke liegt. Die Umrechnung zum physikalischen Dot übernimmt die Library.

Die Grenzen für die Verwendung in den Dot-Funktionen werden entsprechend angepasst. Dreht man ein 28x16 Modul (28 Dots in x und 16 Dots in y ) um 90°, so verändert sich natürlich auch die maximale Auflösung zu 16 Dots in x und 28 Dots in y.

Die in der Config eingestellte Orientierung kann jederzeit im Programmablauf, auch mehrmals durch eine entsprechende Funktion geändert werden - siehe Punkt 3 Systemfunktionen und -parameter

//====================================================== sonstige Einstellungen 
                                  // Orientierung bei Krüger:
   #define DEFAULTORIENTATION 1 // 1 = Elektronik oben
   //#define DEFAULTORIENTATION 2 // 2 = Elektronik unten
   //#define DEFAULTORIENTATION 3 // 3 = Elektronik links - von vorne gesehen
   //#define DEFAULTORIENTATION 4 // 4 = Elektronik rechts - von vorne gesehen
                                  // Orientierung bei BROSE Modulen
                                  // Standard Orientierung = Modul mit Elektronik unten = 1
//=====================================================================================================================



Wem das alles zu kompliziert erscheint, dem helfe ich gerne per Mail weiter!

keine Verfolgung durch soziale Medien

Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0