Ich und die Pointer... das wird wohl nix mehr.
Mein Ziel:
Ich habe einige Icons definiert, die ich auf einem Display ausgeben will.
Aufbau wie folgt. Ico1 ist nur ein Beispiel, Es gibt noch Ico2, Ico3,....
const char Ico1[] PROGMEM{
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x83, 0xc1, 0x00, 0x86, 0x61, 0x00,
};
Die Ausgabe aufs Display sieht so aus:
display.drawXbm( 0, 0, 24, 24, Ico1);
Die Auswahl, welches Icon angezeit werden soll, hängt von einer Integer Variable ab, und soll zur Laufzeit erfolgen.
Welche Möglichkeiten habe ich:
1.) Mit einer Case-Anweisung immer eine andere display.drawXbm-Anweisung ausführen. (Viel Code)
2.) In der display.drawXbm einen variablen Zeiger auf die Icons. Ja nur wie?
Ich hätte es jetzt mal so probiert:
char* myIcon = Ico1 // oder Ico2, oder .....;
display.drawXbm( 0, 0, 24, 24, myIcon);
Aber da bleibt ein invalid conversion. Und wenn ich const char* myIcon nehme, dann habe ich wohl nicht viel gewonnen...
3.) Gäbe es so etwas? (Pseudocode)
int i = 3 // meine Auswahlvariable;
display.drawXbm( 0, 0, 24, 24, Ico(x));