Forum: Mikrocontroller und Digitale Elektronik ESP 32 mit ISP 0,96" Display


von andreakarina (Gast)


Lesenswert?

Hallo.
Möchte per ESP32 Convertierte HEX Bilder auf das ISP 0,96" disülay 
übertragen.
Möchte werbetafel im Masstab 1:87 herstellen.
Bekomme die daten nicht übertragen.
Wer kann mich unterstützen
Mfg

von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

puh ist lange her,
aber zuerst solltest du das Bild in 16bit konvertieren
Da gibt es einige Konverter, mir war so als wenn OS2 Konvertierung 
besser läuft als Windows lower higher Byte first (schon wieder 
vergessen).
Dann kannst du ab BMP mit einem Hexmonitor die Data aus dem 
gespeicherten Bild rausholen.
Oder du machst eine Konvertierung machen von JPG 24-bit zu 16-bit 5-6-5 
RGB.
Einige TFT haben eine andere Byte-Order GBR, das muss man dann wieder 
umsortieren.
Auch da gibt es viele wege, ich bin nicht so der begnadete Progger, aber 
ich finde immer eine Lösung
1
/* Graphics data created with GLCD_Convert developed by Konstantinos Halakatevakis.
2
Looking for cool displays? Visit "http://www.Display3000.com"
3
*/
4
5
/* Color mode byte:
6
7
Bit     0:    0    --> Compression on
8
              1    --> Compression off
9
10
Bit 1 - 4:    0000 --> 65536 colors
11
              0001 --> 4096 colors
12
              0010 --> 256 colors
13
              0011 --> Palette mode 256 - 32 colors (1 byte = 1 pixel)
14
              0100 --> Palette mode 16 - 8   colors (1 byte = 2 pixel)
15
              0101 --> Palette mode 4        colors (1 byte = 4 pixel)
16
              0110 --> Palette mode 2        colors (1 byte = 8 pixel)
17
              0111 --> Monochrome mode - Vertical orientation
18
              1000 --> Monochrome mode - Horizontal orientation
19
              1001 --> Reserved
20
              1010 --> Reserved
21
              1011 --> Reserved
22
              1100 --> Reserved
23
              1101 --> Reserved
24
              1110 --> Reserved
25
              1111 --> Reserved
26
27
Bit 5 - 7:    Reserved
28
29
Bit 8 - 10:   000  --> 256 colors or no palette
30
              001  --> 128 colors
31
              010  --> 64 colors
32
              011  --> 32 colors
33
              100  --> 16 colors
34
              101  --> 8 colors
35
              110  --> 4 colors
36
              111  --> 2 colors
37
38
Bit 11 - 15:  Reserved
39
40
*/
41
42
const unsigned char PROGMEM achim_klein160os2[40960] = { // - DATA
43
0xCD, 0xB2, 0xD5, 0xD3, 0xDE, 0x14, 0xE6, 0x76, 0xE6, 0x76, 0xD5, 0xF3, 0xA4, 0x0A, 0xAC, 0x6C, ................
44
0xDE, 0x35, 0xD6, 0x15, 0xD6, 0x15, 0xDE, 0x35, 0xD6, 0x15, 0xD6, 0x15, 0xD6, 0x15, 0xD6, 0x15
45
};
46
47
uint16_t newColor(uint16_t loc_color) {
48
  uint8_t r=(uint8_t)(loc_color&31);
49
  uint8_t g=(uint8_t)((loc_color>>5)&63);
50
  uint8_t b=(uint8_t)(loc_color>>11);
51
  return ( ((map( r, 0, 31, 0, 255) & 0xF8) << 8) | ((map( g, 0, 63, 0, 255) & 0xFC) << 3) | (map( b, 0, 31, 0, 255) >> 3) );
52
} // uint16_t newColor(uint16_t loc_color)
53
54
  c_home=(uint8_t *)achim_klein160os2;
55
  i=0;
56
  x=0;
57
  y=0;
58
59
  for(i=0; i<40960; i+=2) {
60
  pixCOLOR=(uint16_t)((256*pgm_read_byte(c_home+i))+pgm_read_byte(c_home+i+1));
61
  x=(i/2)%128;
62
  y=(i/2)/128;
63
  tft.drawPixel( x, y, newColor(pixCOLOR) );
64
} // for(i=0; i<40960; i+=2)
65
digitalWrite(TFT_BL, HIGH);   // sets the TFT_BL on

von Stefan F. (Gast)


Lesenswert?

andreakarina schrieb:
> das ISP 0,96" display

Das ist zu ungenau, verweise bitte auf ein konkretes Produkt und dessen 
Datenblatt.

> Bekomme die daten nicht übertragen.

Zeige, was du versucht hast und was du bisher überprüft hast. Ich hoffe 
du hast einen Logic Analyzer, sonst bestellt dir sofort einen.

Zeige auch den Schaltplan und Fotos von deinem Aufbau. Wir müssen 
erstmal abschätzen, ob wir den Fehler in der Hardware oder in der 
Software suchen. Dazu sind Bilder sehr hilfreich, auch wenn das Display 
gar nichts anziegt.

von Joachim B. (jar)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ich hoffe
> du hast einen Logic Analyzer, sonst bestellt dir sofort einen.

bist du jetzt unter die Logicanalyzervertreter gegangen?
Ich habe es tatsächlich ganz ohne geschafft, war das ein Fehler?

von Andre (Gast)


Lesenswert?


von Georg G. (df2au)


Lesenswert?

andreakarina schrieb:
> Wer kann mich unterstützen

Bitte melde dich an. Dann kann man dir per Email ein funktionierendes 
Programm schicken.

Welche IDE verwendest du? Bei den Arduino Libs gibt es etliche mit 
Problemen. Das momentan viel verkaufte "Blue Tab" TFT Display wird von 
keiner mir bekannten Lib ohne Änderungen vernünftig bedient.

von Stefan F. (Gast)


Lesenswert?

Georg G. schrieb:
> Bitte melde dich an. Dann kann man dir per Email ein funktionierendes
> Programm schicken.

Wie geht das denn? Nicht das Anmelden, sondern das verschicken von 
Programmen and den angemeldeten Account.

von Stefan F. (Gast)


Lesenswert?

Joachim B. schrieb:
> bist du jetzt unter die Logicanalyzervertreter gegangen?

Ich vertrete die Meinung, dass man elektronische Probleme mit 
Messgeräten untersuchen soll, anstatt zu raten.

> Ich habe es tatsächlich ganz ohne geschafft, war das ein Fehler?

Schön für dich, dann kannst du ja jetzt als Consulter durchs Land ziehen 
und deinen Kunden erklären, das sie keine Messgeräte mehr brauchen. Ich 
wünsche dir viel Erfolg dabei.

von Georg G. (df2au)


Lesenswert?

Stefan ⛄ F. schrieb:
> Wie geht das denn

Es gibt Dinge, die man nicht breit im Forum streuen möchte. Mit 
angemeldeten Usern kann man "privat" schreiben und dann Email Adressen 
austauschen. Nun zufrieden?

von Stefan F. (Gast)


Lesenswert?

Georg G. schrieb:
> Mit angemeldeten Usern kann man "privat" schreiben und
> dann Email Adressen austauschen. Nun zufrieden?

Ach so, ja den Weg kenne ich natürlich. Ich dachte ich hätte ein 
praktisches feature übersehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.