Forum: Mikrocontroller und Digitale Elektronik Menudesigner auf DOGL-LCD


von Newbie (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
menudesigner (Beitrag "Menu Designer für Grafik LCDs inklusive grafischem Editor") funktioniert 
irgendwie nicht richtig auf meinem DOGL (uC ist ein ATmega1284P). Die 
Auflösung von dem LCD ist 128x64. Wenn ich einfach nur ein Label mit 
"Hello World" ausgeben lasse (ein Check zeigt keine Fehler an), sehe ich 
nur diese 2 Zeilen mit Punkten auf dem LCD. Die Menüstruktur wird im RAM 
abgelegt und mit
1
unsigned char menu_byte_get (MENUADDR addr) {
2
  if (addr >= MENU_DATASIZE) exit(1);
3
  return menudata [addr];
4
}
ausgelesen.
Die Funktionen menu_screen_set() usw funktionieren wohl, korrekt, weil 
das Kreuz, was ich dann rübermale korrekt dargestellt wird. Hier ist 
meine main:
1
#include <avr/io.h>
2
#include <stdlib.h>
3
#include <util/delay.h>
4
#include <avr/pgmspace.h>
5
#include "tlc5916.h"
6
#include "./menu/testmenu/menu-interpreter.h"
7
#include "./menu/testmenu/menu-text.h"
8
#include "./menu/testmenu/menu-interpreter-config.h"
9
#include "./menu/testmenu/menudata.c"
10
#include "./menu/testmenu/menu-helper.h"
11
#include "st7565r.h"
12
//#include "test_v.h"
13
int main (void) {
14
  DDRC |= (1<<PC0);
15
  LED_OFF
16
  tlc5916_init();
17
  tlc5916_out ((1<<OUT3) | (1<<OUT2) | (1<<OUT1), BACKLIGHT);
18
  tlc5916_cur (10,BACKLIGHT);
19
  tlc5916_out ((1<<OUT5), LED);
20
  tlc5916_cur (10,LED);
21
  dogl_init();
22
  menu_redraw();
23
  _delay_ms(1000);
24
  uint8_t i;
25
  for (i = 0; i < 64; i++)
26
    menu_screen_set (i,i,0);
27
  for (i = 0; i < 64; i++)
28
    menu_screen_set (i,63-i,0);
29
  menu_screen_flush();
30
  _delay_ms(1000);
31
  menu_redraw();
32
  LED_ON
33
  while(1);
34
  return 0;
35
}
Bei der Compilierung werden diese Fehlermeldungen ausgespuckt:
1
menu/testmenu/menu-interpreter.c: In Funktion »menu_keypress«:
2
menu/testmenu/menu-interpreter.c:839: Warnung: Variable »obj« wird nicht verwendet
3
menu/testmenu/menu-interpreter.c: Auf höchster Ebene:
4
menu/testmenu/menu-interpreter.c:233: Warnung: »menu_basicbutton« definiert, aber nicht verwendet
5
menu/testmenu/menu-interpreter.c:435: Warnung: »menu_list_line_seek« definiert, aber nicht verwendet
6
menu/testmenu/menu-interpreter.c:449: Warnung: »menu_list_line_next« definiert, aber nicht verwendet
7
menu/testmenu/menu-interpreter.c:788: Warnung: »menu_handle_listbox« definiert, aber nicht verwendet

Ich habe auch schon unterschiedliche Fonts ausprobiert, aber keine 
Änderung, immer sehe ich nur diese Punkte da :-(

Weiß vielleicht jemand, wo das Problem sein könnte? Im Anhang der 
komplette Code dazu und die .xml Datei

Vielen Dank im Voraus!
MfG Newbie

von Newbie (Gast)


Lesenswert?

Hat denn niemand eine Idee? :-(

von Malte _. (malte) Benutzerseite


Lesenswert?

Hast du mal versucht einfach eine Box zu Zeichnen?
Wenn das klappt kannst du du auschließen ob es Zeichnen der Fonts liegt.
Ansonsten sehe ich auf den ersten Blick nichts falsches.

PS: Wenn du die Frage direkt in der Codesammlung im entsprechenden 
Beitrag gestellt hättest, hätte ich dein Post nicht nur aus Zufall 
gefunden.

Edit:
Der Fehler liegt in deiner menu_screen_set: Diese setzt zwar ein Bit 
korrekt, dabei gehen aber die restlichen bereits gesetzten Bits 
verloren. Das sieht man daran dass über und unter dem korrekten Text 
auch dein Kreuz überschrieben wird, obwohl dort direkt kein Text 
gezeichnet wird.

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.