GLCD T6963C Font-Tool

#620727
Lesenswert?

Ich verwende die glcd-library von diesem Thread: 
Beitrag "LCD Library T6963c"

Danke an Nico Sachs!

Ich habe mir erlaubt, ein weiteres kleines Tool zu schreiben:
Mir wars bisher immer lästig, im Code diverse Linien und Rechtecke
Pixel für Pixel zu verschieben ... compilieren ... flashen ...

Mit dem Tool kann man einfach Linine, Rechtecke und Texte
positionieren. Jede Aktion wird getraced, so dass man per copy und paste
den eigenen code aktualisiern kann.
Weiter kann man wie mit Nicos Tool FontGen.exe neue Fonts erzeugen.
diese auch abspeichern (export ) als .c file, passend zu der t6963c lib!

Da ich das Tool in C# geschrieben habe, muss auf dem Rechner
ein .NET Framework 2.0 installiert sein!!
http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en

Wer will kann es verwenden und mir gerne Feedback bezüglich Fehler oder
Erweiterungswünsche mitteilen!!
Angehängte Dateien:
Moderator Persönliche Seite #687441
Lesenswert?

Gibt es bekannte Probleme mit .NET in verschiedenen Versionen? Auf dem 
Rechner "hier" ist .NET Framework 1.1 inkl. "Hotfix" und auch Framework 
2.0 installiert. Eben nochmal 2.0 installiert ("reparieren" des 
Installers) - keine Besserung. Im Hauptfenster bleiben alle Controls 
leer, keine Reaktion auf Anklicken der Buttons. Dialog Font scheint aber 
problemlos zu funktionieren.
Moderator Persönliche Seite #687511
Lesenswert?

Hallo Christian,

Christian R. wrote:

> Denke nicht, .NET kann Side by Side installiert werden.
> 1.0, 1.1 und 2.0 - das muss funktionieren!

Ist auch meine Information - aber die Controls bleiben leer. Mit anderen 
.NET Anwendungen gab es bis dato keine Probleme.

>
> Die dll: GLCDView.dll muss auch im selben Verzeichnis liegen wie die
> .exe !

Tut sie:
1
D:\tmp\9>dir GL*
2
 Volume in Laufwerk D: 
3
 Volumeseriennummer: 
4

5
 Verzeichnis von D:\tmp\9
6

7
16.08.2007  07:01            28.672 GLCD.exe
8
16.08.2007  07:01            40.960 GLCDView.dll
9
               2 Datei(en)         69.632 Bytes
10
               0 Verzeichnis(se), 200.220.954.624 Bytes frei

Wird die .dll verschoben, gibt's auch eine FileNotFound Exception. 
Sollte also schon gefunden werden.

> gibts ein Framework 1.0 auf der Kiste?

In Systemsteuerung->Software wird nur 1.1 und 2.0 gelistet. Bewusst 
installiert wurden nur die "restributables" von 2.0, 1.1 hat eine andere 
Anwendung "mitinstalliert".

Martin
Moderator Persönliche Seite #688101
Lesenswert?

>Guck mal unter
>C (oder Systemp.):\WINDOWS\Microsoft.NET\Framework
>Dort sind die Subfolder für die jew. Framework Versionen.
Geguckt. Da gibt es noch einen v1.0* Ordner. Irgendeine Anwendung hat 
wohl irgendwann mal .NET 1.0 installiert, oder es ist nur eine Art 
"compatiblity-stub". Aber in dem v1.0-Ordner ist fast nichts drin, ganz 
im Gegensatz zu v1.1* und v2.0*.

>Anbei der Font-Generator als setup!
O.k., ausprobiert.

>Hatte bisher keine Probleme ... vielleicht fehlt aber wirklich etwas auf
>dem PC. wenn dem so ist, sollte das Setup schrein und sagen "was" fehlt!
Es schreit nicht, noch nicht mal ein leises Wimmern. Setup läuft einfach 
durch und installiert exe, dll und ico im entsprechenden Verzeichnis. 
Leider aber immer noch leere Controls.

Martin
#688106
Lesenswert?

ich bin mir sicher, dass das Tool Teile vom Framework 1.0 mit verwendet 
- aber wenn du sagst, in dem Ordner ist fast nix drin - dann nehme ich 
an, dass diese .NET Installation irgendwie nicht passt!

kannst du mir mal 'nen Screenshot schicken? Also mein Tool mit "leeren" 
Controls ?

an: mrrotzi at mrrotzi dot com
#776948
Lesenswert?

Also ein "richtiges" Programm ... ist es! Es gibt kein halbrichtiges 
oder falsches Programm!!

Es gibt höchstens schlecht dokumentierte oder halbfertige Software :o))
wie diese hier g

Das Tool basiert auf das .NET Framework. Wenn du das nicht installieren 
willst, wirst du es auch nicht starten und verwenden können!

mfG
Christian
Gast #777753
Lesenswert?

Unter Vista läuft es anscheinend "out of the box". Jedenfalls
habe ich kein .NET separat installiert.

Wenn ich jetzt auch noch ein LCD mit einem T6963 hätte... Aber
auch so kann ich es als Designhilfe benutzen. Andere Programme
die ich mal ausprobiert habe, fand ich nicht so gut. Zwar script-fähig
und alles aber irgendwie nicht mein Ding.

Also: Vielen Dank für das Programm.
Gast #870730
Lesenswert?

Hallihallo,
ich möchte hier dem Urheber dieses Tool meinen allerherzlichsten Dank 
aussprechen!!! Ein absolut geniales Programm. Ich war schon dabei selber 
Pixel für Pixel irgendwelche Zeichen zusammen zu basteln. Wie 
gesagt:"Herzlichen Dank!!!"

Eine kleine Veränderung in der font.c hätte ich dennoch vorzuschlagen. 
Sollte jemand (wie ich beispielsweise) sehr große Zeichen ( > 256 Byte) 
generieren, ist die Anzeige dieser Zeichen nicht möglich, da die 
Variablen "j" und "ertefah" als "char" definiert sind. Definiert man die 
Beiden aber als "int" funktioniert wieder alles.

MfG
Sascha
#892299
Lesenswert?

Hi All

This is a fantastic utility but I have one problem.

When I try to compile a program using this utility I get the error

Cannot finf default directory.
Cannot create elf file.

All other programs I have no problems with.

I am using AVRstudio and WINavr.

Has any body got a bit of code I could test this utility with.

Sorry for this being in English.

Regards Peter.
Gast #892922
Lesenswert?

Hello Christian

Thanks for the reply.
Please find below the few lines of code which does not create the elf 
file used for debug.
Also does not make the hex file.

Do you have a small program that uses your graphics utility to give me a 
starting point to work from.

I have a complete beginner at C and using AVRstudio plus the latest 
version of WinAVR

Regards Peter

//test.c

#include <avr/io.h>
#include "t6963c.h"
#include "font.h"

int main(void)
{
glcd_init();       // initialize LCD memory and display modes
glcd_setup();  // make sure control lines are at correct levels
glcd_init();       // initialize LCD memory and display modes
}
#894213
Lesenswert?

Hello Christian

Thanks for the reply.
Please find below the few lines of code which does not create the elf
file used for debug.
Also does not make the hex file.

Do you have a small program that uses your graphics utility to give me a
starting point to work from.

I have a complete beginner at C and using AVRstudio plus the latest
version of WinAVR

Regards Peter
1
#include <avr/io.h>
2
#include "T6963C.h"
3
#include "font.h"
4
#include "Verdana__12.c"
5

6
int main()
7
{
8
  glcd_init();        // initialize LCD memory and display modes
9
  glcd_init();
10
  glcd_setup();
11
  glcd_init();
12
  glcd_box(10,10,229,117,1);
13
  glcd_print2_P(10, 20,"1234567890",&Verdana__12,0);
14
  glcd_print2_P(10, 40,"ABCDEFGHIJKLMNOPQRST",&Verdana__12,0);
15
  glcd_print2_P(10, 60,"UVWXYZ +,.",&Verdana__12,0);
16

17
}

Re-inserted code as copy and past when wrong.

Regards Peter
(Firma: DC3AX) #934824
Lesenswert?

Woha! Das ist genau das, was ich gerade suche. Leider verwende ich kein 
LCD, sondern ein OLED und da ist die Byteorder komplett anders, also die 
bytes sind senkrecht. Zeichen, die höher als ein Byte sind, werden 
Zeilenweise abgearbeitet.
Wäre echt klasse, wenn Ihr das berücksichtigen könnte, oder aber die 
Quellen rausgebt. Dann würde ich das selber noch einpflegen.

Irgend eine chance, das wir da in Kontakt kommen?

Gruß, Ulrich
(Firma: DC3AX) #1025875
Lesenswert?

Hi!

Na, die 10 Wochen sind wohl vorbei und ich hoffe wir können Christian zu 
einem gesunden Jungen gratulieren. Bei mir hat er sich nicht mehr 
gemeldet. Aber wir habe unser Problem dann alleine über ein kleinen 
Kommandozeilen Tool gelöst. Aber eben nur speziell für die kleinen 
Densitron OLEDs.

Gruß, Ulrich
(Firma: el-com) #1345280
Lesenswert?

Hallo,

ich habe mit den "Tasten" leider das selbe Problem wie schon 
beschrieben. Hat wer in der Zwischenzeit eine Lösung gefunden? Habe es 
mit Framework 2 und 1 versucht, leider ohne Erfolg.

Das Font Tool scheint zu funktionieren. Nur habe ich ein problem den 
File in mein Projekt zu integrieren. Bekomme immer die Fehlermeldung 
"multiple definiton" Kann aber niergend einen doppelte Definierung 
finden.
Kann mir jemand einen Code geben wo ein neuer Font eingebunden wurde. So 
könnte ich nachsehen was bei mir falsch gelaufen ist.

DANKE!!!
#dd
Gast #1394308
Lesenswert?

Hallo Zusammen!

Ich spiele gerade ein bisschen mit dem Font Tool und der Routine für den 
T6963C herum.
Erstmal vielen Dank für die tolle Arbeit!

Leider habe ich ein Problem beim Einbinden eines Fonts.
Ich bekomme zum Beispiel folgende Fehlermeldung:

Arial__16.o:(.progmem.data+0x19d3): multiple definition of 
`Arial__16_width_table'

Die libm.a habe ich schon eingebunden.

Hat jemand eine Idee woran das liegen kann?

Vielen Dank!

MfG, Marten83
Gast #1394777
Lesenswert?

Danke für die Mühe!

Dann stelle ich meinen Code doch mal rein (wollte zuerst wegen dem 
Umfang nicht).

Arial__16.c
1
#include "includes.h"
2

3
const unsigned char Arial__16_char_table[] PROGMEM = {

Ich stelle mal nicht mehr rein, weil alles andere nicht verändert wurde 
von mir.

includes.h
1
#ifndef INCLUDES_H
2
  #define INCLUDES_H
3

4
  #include <avr/io.h>
5
  #include <avr/interrupt.h>
6
  #include <stdint.h>
7
  #include <string.h>
8
  #include <stdlib.h>
9
  #include <stdio.h>
10
  #include <util/delay.h>
11
  #include <avr/pgmspace.h>
12
  #include <math.h>
13
  #include "ais.h"
14
  #include "ais_uart.h"
15
  #include "fifo.h"
16
  #include "gps.h"
17
  #include "keypad.h"
18
  #include "menu.h"
19
  #include "uart_gps.h"
20
  #include "t6963c.h"
21
  #include "font.h"
22
  #include "Arial__16.c"
23

24
  volatile struct _key_code key_code;
25

26
#endif //INCLUDES_H

In der font.h, T6963c.h und meiner menu.h ist jeweils auch die 
"includes.h" eingebunden.

MfG, Marten83
#1697939
Lesenswert?

servus,

das Ganze ist echt praktisch und funktioniert einwandfrei! Respekt!

Eine Frage hab ich aber, die Texte die ich ausgebe z.b.

lcd_print2_P(0, 84, " 50°", &Microsoft_Sans_Serif__8, 0);


werden ja alle vom Flash genommen. wie kann ich mit meiner benutzerdef. 
Schrift auch welche ausm RAM (über sprintf) anzeigen lassen?


gruß
Philipp
Gast #1726308
Lesenswert?

Ich habe das selbe Problem wie Marten83 ein paar Beiträge höher. Bei mir 
erscheint auch beim Compilieren der Fehler :
...
Verdana__8.o:(.progmem.data+0x0): multiple definition of
...

Marten hat geschrieben, dass er den Fehler gelöst hat, indem er eine 
Header Datei für Verdana__8.c geschrieben hat. Was muss denn da rein, 
damit der Fehler behoben wird?

Der gesamte Fehler lautet so:
Linking: main.elf
avr-gcc -mmcu=atmega128 -I. -gdwarf-2 -DF_CPU=16000000UL -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-adhlns=main.o  -std=gnu99 -MMD -MP -MF 
.dep/main.elf.d main.o t6963c.o Verdana__8.o font.o --output main.elf 
-Wl,-Map=main.map,--cref     -lm
Verdana__8.o:(.progmem.data+0x0): multiple definition of 
`_char_ta::Verdana(bool, long,...)'
main.o:(.progmem.data+0x0): first defined here
Verdana__8.o:(.progmem.data+0x57c): multiple definition of 
`Verdana__8_mapping_table'
main.o:(.progmem.data+0x57c): first defined here
Verdana__8.o:(.progmem.data+0x67c): multiple definition of 
`Verdana__8_width_table'
main.o:(.progmem.data+0x67c): first defined here
Verdana__8.o:(.progmem.data+0x6d8): multiple definition of 
`Verdana__8_offset_table'
main.o:(.progmem.data+0x6d8): first defined here
Verdana__8.o:(.data+0x0): multiple definition of `Verdana__8'
main.o:(.data+0xd): first defined here
main.o: In function `main':
main.c:(.text+0x38): undefined reference to `glcd_print2_p'
make.exe: *** [main.elf] Error 1
#1727072
Lesenswert?

schaut so aus als würd dein compiler mit irgend welchen include 
durcheinander kommen.

Bei mir includiere ich die Schriftarten in der main.c, dort hab ich auch 
die fonts.h includiert. in der main.c verwende ich die ausgabe ans GLCD, 
glcd_print2_p(..., ..., &Schriftartxyz);


Ich hab auch mal versucht das ganze in mehrere *.h und *.c dateien 
aufzuteilen, hat aber nicht hingehauen. habs dann nach einem Tag ärgern 
wieder umgebaut...


Ich hoffe das hilf Dir etwas

Gruß

Philipp
Gast #1727646
Lesenswert?

Hier mal ein Beispiel wie es geht (Anhang).

Usage:)

Mein_Font.h umbenennen in Mein_Font.c
Mein_Font.c zum Projekt hinzufügen bzw. ins makefile eintragen.

#include "Mein_Font.c" ändern in
#include "Mein_Font.h"

Wie man Mein_Font.h aufbaut siehe Beispiel.

Font.c und T6963.c im Archiv sind übrigends
etwas schneller als das Original;)

Und pass auf deine Pinbelegung auf!
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren