Also die Hochkommata sind wieder drin, der zweite Bildschirm ist komplett aus dem Sketch ausgeklammert (bleibt auch weiß), aber die Grafiken funktionieren trotzdem nicht.
Ja das ist ne super Sache. Hab ich bei Kitecraft auf Youtube gesehen. Der benutzt sogar 3 Displays. Der Sketch für 2 Displays ist von hier
Also wenn der Kitecraft meint, dass das mit einer tft-Instanz und zwei gleichzeitig aktivierten Chip-Selects geht - meinetwegen.
Die Anführungszeichen müssen weg!
Ich habe noch keinen Grund gesehen, warum es mit dem Bild nicht gehen sollte.
Die Beispiel-Icons in der Library sehen im Prinzip genauso aus wie das aus dem Konverter:
const unsigned short alert[1024] PROGMEM={
const unsigned short BMW125[15625] PROGMEM={
Du bist auf einem Mega unterwegs...
Versuch mal bitte
/Users/gearx/Documents/Arduino/V8_Tacho_eSPI/V8_Tacho_eSPI.ino: In function 'void setup()':
V8_Tacho_eSPI:151:77: error: no matching function for call to 'pushImage(int32_t, int32_t, int32_t, int32_t, const short unsigned int [15625])'
tft.pushImage((int32_t)57, (int32_t)97, (int32_t)125, (int32_t)125, BMW125);
^
In file included from /Users/gearx/Documents/Arduino/V8_Tacho_eSPI/V8_Tacho_eSPI.ino:15:0:
/Users/gearx/Documents/Arduino/libraries/TFT_eSPI/TFT_eSPI.h:475:12: note: candidate: void TFT_eSPI::pushImage(int32_t, int32_t, int32_t, int32_t, uint16_t*) <near match>
void pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t *data);
^~~~~~~~~
/Users/gearx/Documents/Arduino/libraries/TFT_eSPI/TFT_eSPI.h:475:12: note: conversion of argument 5 would be ill-formed:
/Users/gearx/Documents/Arduino/libraries/TFT_eSPI/TFT_eSPI.h:480:12: note: candidate: void TFT_eSPI::pushImage(int32_t, int32_t, int32_t, int32_t, const uint16_t*) <near match>
void pushImage(int32_t x, int32_t y, int32_t w, int32_t h, const uint16_t *data);
^~~~~~~~~
/Users/gearx/Documents/Arduino/libraries/TFT_eSPI/TFT_eSPI.h:480:12: note: conversion of argument 5 would be ill-formed:
exit status 1
no matching function for call to 'pushImage(int32_t, int32_t, int32_t, int32_t, const short unsigned int [15625])'
Yep, die anderen casts waren nur eine Sicherheitsmaßnahme; das komische const short unsigned int aus der ersten Fehlermeldung hat mich gleich gestört.
Na ja, bei 125x125 kann man keine Wunder erwarten.
Was die Farben angeht: Das wird wohl RGB5656 sein. Die Frage ist, ob das Highbyte vorne oder hinten steht.
Statt tft.setSwapBytes(false); ein tft.setSwapBytes(true); könnte Wunder wirken.
Danke für deine Antwort. Das Thema mit der Qualität hat sich ebenfalls erledigt. In einem früheren Stadium des Sketchs hatte ich die Zeile
tft.setSwapBytes(true);
eingefügt, da ich gelesen habe, dass dadurch Probleme mit den Farben gelöst werden könnten. Anfangs war mein blauer Text nämlich rot. Ich hab die Befehlszeile nun einfach komplett gelöscht und die Bitmaps werden wirklich super sauber dargestellt.
Jetzt muss ich nur noch rausfinden, wieso mir keine Werte angezeigt werden. Dann ist der Sketch fertig und ich kann den Tacho wieder ins Fahrzeug bauen.