S65-Display/Display3000

Stack underflow?

  • 1
  • 2
  • 3
  • 5
  • 6
  • 7
  • Page 6 of 7
wilbo
Benutzer
Avatar
Gender:
Age: 68
Posts: 35
Registered: 11 / 2023
Subject:

Re: S65-Display/Display3000

 · 
Posted: 28.04.2024 - 10:55  ·  #41
Hallo Harry,

so habe ich mir das vorgestellt. (Conditional Compile)
Code
  {.$Define Portrait}
  {.$Define Portrait180}
  {$Define Landscape}
  {.$Define Landscape180} // wie im Handbuch beschrieben ist die ausrichtung bugy

  {$IFDEF Portrait Or Portrait180}
    LCDGraphic     = 132, 176, 8; { x-pix, y-pix, accesswidth          }
  {$Endif}
  {$IFDEF Landscape or Landscape180}
    LCDGraphic     = 176, 132, 8;           { x-pix, y-pix, accesswidth          }
  {$ENDIF}


PS Neustadt Nord/westlich von Hannover

14:30 MESZ
Vergiss es. Grade in Portrait nochmal getestet wenn ich Y 160 was schreibe landet es oberhalb 132
Ich versuche zu klären ob das am Display oder am LCDGraphic Treiber liegt.
Gruß wilbo
You must be logged in or your permissions are to low to see this Attachment(s).
wilbo
Benutzer
Avatar
Gender:
Age: 68
Posts: 35
Registered: 11 / 2023
Subject:

Re: S65-Display/Display3000

 · 
Posted: 28.04.2024 - 15:27  ·  #42
Hallo Harry,

es liegt definitiv am LCDGraphic Treiber. Lade mal den Anhang auf dein Display.

Code
Begin
  EnableInts;
  INIT_Display;
  LCD_Cls(ColorArr[ClWhite]);
  // Ab hier nur zum Test ob die Orientierung stimmt
  Letter(30, 10, ColorArr[ClBlue], ColorArr[ClWhite]);

  For GX := 0 To Window_Width - 1 Do
    LCD_Plot(GX, 65, ColorArr[ClRed]);
  Endfor;
  For GX := 0 To Window_Width - 1 Do
    LCD_Plot(GX, 66, ColorArr[ClRed]);
  Endfor;
  For GX := 0 To Window_Width - 1 Do
    LCD_Plot(GX, 67, ColorArr[ClRed]);
  Endfor;
  TW := Word(Window_Width * 25);
  // das folgende geht deutlich schneller
  LCD_Window(0, 68, Window_Width, 68 + 25);
  For TW := 1 To (176 * 26) Do
    SPIOutWord(Swap(ColorArr[CLYellow]));
  Endfor;
  LCD_Window(0, 0, Window_Width - 1, Window_Height - 1); // offensichtlich muß man nach jeder änderung das fenster zurücksetzen
  LCD_Window(10, 100, 20, 110);
  For GX := 120 Downto 0 Do
    spioutword(Swap(Colorarr[clBlue]));
  Endfor;
  Letter(30, 160, ColorArr[ClBlue], ColorArr[ClWhite]);

  Loop

  Endloop;
End Disp3000.
You must be logged in or your permissions are to low to see this Attachment(s).
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2136
Registered: 03 / 2003
Subject:

Re: S65-Display/Display3000

 · 
Posted: 28.04.2024 - 19:01  ·  #43
Ja das paßt nicht, aber wir wissen nicht, ob das jemals funktionierte. Siehst du meinem letzten Bild gestern auch, daß zwar Linie, Kreis und BitMap geht, aber der Hintergrund nicht gelöscht wird. 90/270° gedreht wirds noch schlimmer. Das wird aber keiner richten (können), weshalb ich einfach mit Landscape arbeite und meine Schriften und Bilder entsprechend drehe.

Im Anhang jetzt mit PWM-gedimmter Hintergrundbeleuchtung und einem einfachen Tasten-Test (hab den Reset getrennt und D0 auf die linke Taste gelegt.

Wenn du willst, bau ich dir deine auch so um, kostet dich nur das Porto hin und zurück.

Gruss
Harry

[Edit] Darüber nachgedacht, ist eine Änderung der Orientierung nachträglich eher nicht so gut, denn das wird ja eigentlich im "Define" festgelegt durch die Angabe der X- und Y-Auflösung.

[Edit, die 2.] Das sollte der Controller dieses Displays sein :)
You must be logged in or your permissions are to low to see this Attachment(s).
wilbo
Benutzer
Avatar
Gender:
Age: 68
Posts: 35
Registered: 11 / 2023
Subject:

Re: S65-Display/Display3000

 · 
Posted: 29.04.2024 - 13:59  ·  #44
Hallo Harry,

da hab mich gestern etwas bescheuert ausgdrückt. Die 132 Vertikal haben mich stutzig gemacht so das ich einen Fehler in der Procedure LCD_Window ausschliessen wollte. Aber der Test ohne den LCDGraphic Treiber hat ja gezeigt das da alles passt. Ich hatte bei meine ersten gehversuchen mit dem LCD nicht über Y - 132 was ausgegeben. Aber schade, wäre nett gewesen wenn man einfach bei der xy denke hätte bleiben könnte.

Noch mal vielen Dank für deine Unterstützung. Hat Spass gemacht.

Gruß wilbo

PS: Auf dein Angebot würde ich gerne zurückkommen wenn mir noch ein schönes Projekt mit LCD einfällt.
wilbo
Benutzer
Avatar
Gender:
Age: 68
Posts: 35
Registered: 11 / 2023
Subject:

Re: S65-Display/Display3000

 · 
Posted: 02.05.2024 - 15:26  ·  #45
Hallo Harry,

ich habe nochmal über dein Beitrag

Quote
[Edit] Darüber nachgedacht, ist eine Änderung der Orientierung nachträglich eher nicht so gut, denn das wird ja eigentlich im "Define" festgelegt durch die Angabe der X- und Y-Auflösung.


nachgedacht.

Das war auch nicht meine Absicht das zur Laufzeit zu ändern, sonder das der Anwender dieser Unit einfach eine Möglichkeit hat die Orientierung über ein {$Define xxx} zu bestimmen und dabei weiter in X,Y Richtung denken kann.
Zum beispiel gibt es (glaube ich) keine möglichkeit für
gDrawBitmapXY(Xs, Ys : integer; source : pointer; DrawMode : TWriteMode; color : byte); // xyAddress mode
TxxxRotate anzugeben.
Wäre so aber kein Problem.

Ich habe im Anhang die Unit überarbeitet das auch nur je nach Define der benötigte Code in das Program übernommen wird.
Es klappt jetzt auch mit den beiden Portrait's.
Gruß wilbo
You must be logged in or your permissions are to low to see this Attachment(s).
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2136
Registered: 03 / 2003
Subject:

Re: S65-Display/Display3000

 · 
Posted: 04.05.2024 - 12:41  ·  #46
Hallo Wilbo,

sorry bin grad erst dazu gekommen, deine Unit mal zu testen. Sehr schön :) .... aber was ist mit Landscape180 los, wieso wird der Bildschirm trotz gClrScr nicht gelöscht? Ich sehe zumindest die Schrift vom normalen Landscape auch noch.

Gruss
Harry
wilbo
Benutzer
Avatar
Gender:
Age: 68
Posts: 35
Registered: 11 / 2023
Subject:

Re: S65-Display/Display3000

 · 
Posted: 04.05.2024 - 15:03  ·  #47
Hallo Harry,
da habe ich leider noch nichts gefunden und ohne Debug möglichkeit denke ich wird das nichts. Bieten die E-LAB Programmer eine Debug möglichkeit?
Es sieht ja so aus als LCD_CLR nicht aufgerufen aber im Simulator wird es aufgerufen. Leider gelingt es mir nicht Watches zu setzen.
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2136
Registered: 03 / 2003
Subject:

Re: S65-Display/Display3000

 · 
Posted: 05.05.2024 - 19:28  ·  #48
Hi Wilbo,

ich hab noch ein bisschen gespielt ..... mit dem mitgelieferten Bitmap-Converter.
Leider schlecht zu fotografieren, aber probiers einfach selber aus.

Gruss
Harry

..... Im Code sind 2 Bilder ;)
You must be logged in or your permissions are to low to see this Attachment(s).
  • 1
  • 2
  • 3
  • 5
  • 6
  • 7
  • Page 6 of 7
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   138   152 · Page-Gen-Time: 0.03421s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI