Forum: Projekte & Code GLCD T6963C Font-Tool


von Christian R. (mrrotzi)


Angehängte Dateien:

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!!

: Verschoben durch Moderator
von Christian R. (mrrotzi)


Angehängte Dateien:

Lesenswert?

Anbei eine neue Version mit ein paar kleinen Bug-fixes!

Viel Spaß, falls jemand daran interesse hat!

von Christian R. (mrrotzi)


Angehängte Dateien:

Lesenswert?

neue Version - zusätzliches Feature:
im Font-Dialog kann jeder beliebige Font als Proportional Font generiert 
werden!
Font-Size -> fixed

Viel Spaß!

von Nico S (Gast)


Lesenswert?

Hallo Christian. Toll dass du auch was dazu beigetragen hast. Ich finde 
das klasse. Ich werde mir dein Progrämmchen mal anschauen, wenn ich mehr 
Zeit habe

von Christian R. (mrrotzi)


Angehängte Dateien:

Lesenswert?

Wie schon sehr oft erwähnt: ein Nehmen und GEBEN! :o)

anbei ein Screenshot.

von Sascha F. (sascha_focus) Benutzerseite


Lesenswert?

Hallo,

erstmal respekt vor deiner und auch Nico's Arbeit.
Hast du eventuell auch den AVR Source? Weil z.B. fehlt
glcd_print2p

Gruß Sascha

von Christian R. (mrrotzi)


Angehängte Dateien:

Lesenswert?

glcd_print2 ist in font.h / font.c

Ich hab die aktuellen Dateien neu raufgeladen! (jetzt aber komplett)


Danke,
Christian

von Martin T. (mthomas) (Moderator) Benutzerseite


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.

von Christian R. (mrrotzi)


Lesenswert?

Hallo Martin,

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

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

gibts ein Framework 1.0 auf der Kiste?

von Martin T. (mthomas) (Moderator) Benutzerseite


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

von Christian R. (mrrotzi)


Lesenswert?

Guck mal unter
C (oder Systemp.):\WINDOWS\Microsoft.NET\Framework

Dort sind die Subfolder für die jew. Framework Versionen.

von Christian R. (mrrotzi)


Angehängte Dateien:

Lesenswert?

Anbei der Font-Generator als setup!

Hatte bisher keine Probleme ... vielleicht fehlt aber wirklich etwas auf 
dem PC. wenn dem so ist, sollte das Setup schrein und sagen "was" fehlt!

(hoffentlich)

von Martin T. (mthomas) (Moderator) Benutzerseite


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

von Christian R. (mrrotzi)


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

von Christian R. (mrrotzi)


Angehängte Dateien:

Lesenswert?

Hier wieder mal eine neue Version:

Dis Displaygröße ist jetzt bis auf 800x600 einstellbar
und das Fenster kann dementsprechend angepasst werden!

Danke an Klaus!

von Fragender (Gast)


Lesenswert?

Kannst du daraus auch ein richtiges Programm machen? Ohne irgendwelche 
Laufzeitroutinen, die erst irgendwie installiert werden müssen....

von Christian R. (mrrotzi)


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

von Lachender (Gast)


Lesenswert?

also dich kein richtigs programm, wenn mann da erst noch laufzeiten zu 
installieren muß. würde es gerne testen, nur zusatzsachen kommen mir da 
nicht auf den pc...

von Christian R. (mrrotzi)


Lesenswert?

... wie du meinst!

von let (Gast)


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.

von Christian R. (mrrotzi)


Lesenswert?

Gerne!

.NET 2.0 kommt mit Vista schon mit! Deswegen musstest du nichts 
zusätzlich installieren.

Die nächste Version vom GLCD Tool soll dann schon weit komfortabler 
werden! Ausserdem arbeite ich mit Klaus daran, das Font-Mapping 
platzsparender zu machen.

bis bald!

von Win-XP (Gast)


Lesenswert?

Und vor allen Dingen diesen Net-Quatsch rausnehmen, daß es auch eine 
richtige Exe wird. Das wäre gut.

von mole (Gast)


Lesenswert?

wow, respekt!
danke, funktioniert super!

von Igel-tv (Gast)


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

von Peter J. (peterj)


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.

von Christian R. (mrrotzi)


Lesenswert?

What do you mean with: Cannot create elf file.

what is that? "elf file" ?

Where do you get this errors? Attach some source code to your next 
posting ;o)

von Peterj (Gast)


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
}

von Peter J. (peterj)


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

von Fragender (Gast)


Lesenswert?

Hallo,

ich gehöre zu den Bascom-Jüngern. Gibt es da auch eine Möglichkeite, die 
Erzeugnisse des Programms zu nutzen?

Gruß

von Christian R. (mrrotzi)


Lesenswert?

Eigentlich schon!

leider fehlt mir im Moment die Zeit, das Tool aufzupeppen. Ich hätte
so viele Ideen. U.a. sollte der Codegenerator Template basierend 
funktionieren. Also Basic-Template rein und los!

Aber die liebe Zeit :o((

von Fragender (Gast)


Lesenswert?

also momentan nicht möglich? habe ich das richtig verstanden? ach 
schade...

was meinst du, wann du so etwas einbringen kannst?

von Ulrich P. (uprinz)


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

von Christian R. (mrrotzi)


Lesenswert?

Wer kann mit .NET / C# / WinForms umgehen?

Ich weiß grad nicht wo mir der Kopf steht! In 10 Wochen kommt
mein Sohn zur Welt und bis dahin ist noch so einiges zu erledigen!

Ich gebe gerne die Sourcen her, wenn man damit was Vernüftiges anstellt 
;o)


lG
Christian

von Ulrich P. (uprinz)


Lesenswert?

Hi!

Habe Dir mal eine PM geschickt bzgl. des weiter machens an dem Code. 
Interesse ist groß :)

Gruß, Ulrich

von philipp (Gast)


Lesenswert?

ich weiß: Doofe Frage:

Warum nicht einfach als GPL freigeben?

von Ulrich P. (uprinz)


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

von Dieter S. (Firma: el-com) (schiri)


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

von tim (Gast)


Lesenswert?

Kannst du den Quellcode zur verfügung stellen?

von Dieter S. (Firma: el-com) (schiri)


Angehängte Dateien:

Lesenswert?

Anbei der Code!

lg
#dd

von Marten83 (Gast)


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

von Werner B. (werner-b)


Lesenswert?

Ich habe mal meine Glaskugel befragt...

Üblicherweise fehlt im im .h File ein "extern" vor einer 
Variablendeklaration.

von Marten83 (Gast)


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

von Marten83 (Gast)


Lesenswert?

Jetzt ist mir gerade was aufgefallen....

Kann es sein, dass ich doch eine Headerfile für die Ariasl__16.c machen 
muss?
Aber warum scheint es dann bei Anderen zu gehen?

von Marten83 (Gast)


Lesenswert?

OK!

Kann man eigene Beiträge wieder löschen?
Habe nun noch eine Headerdatei erstellt und siehe da....es geht!

Danke, Werner B.!

MfG, Marten83

von Dieter (Gast)


Lesenswert?

@Marten83
Hi, ich komme momentan nicht ganz zurecht mit dem Code.
Könntest du deinen mal Posten (zip) Bitte!

Danke
Dieter

von Florian W. (flow)


Lesenswert?

Hallo,

das Tool ist ja ganz nett. Aber ich bräuchte es mit einer anderen Byte 
Orientierung. Würde gerne den Sourcecode haben um das zu erweitern. 
Ansonsten muss ich mir halt nen Convertierungstool schreiben.

Gruß

von Massa-Master (Gast)


Lesenswert?

Hi

Ich finde das Tool echt toll.
Was mich interressieren Würde. Gibt es sowas auch für das Einbinden von 
Bildern?

von Philipp P. (putzer_philipp)


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

von Benedikt (Gast)


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

von Benedikt (Gast)


Lesenswert?

Was muss ich denn tun, damit mal irgendjemand antwortet. Das ist jetzt 
die dritte Frage und jedes Mal bekomme ich keine Antwort...

von Philipp P. (putzer_philipp)


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

von holger (Gast)


Lesenswert?

Wenn man sowas macht:

  #include "Arial__16.c"

Dann bekommt man auch schon mal multiple defines.
Füge die Fonts zum Projekt hinzu und INCLUDE sie nicht.

von holger (Gast)


Angehängte Dateien:

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!

von Markus F. (markus_f51)


Lesenswert?

Hi, weiß jemand ob der Author von dem Font-Tool noch aktiv ist? Hatte 
ihm vor ner Woche ne PM geschrieben, er hat sich aber leider nich 
gemeldet :(

MfG Markus

von Christian R. (mrrotzi)


Angehängte Dateien:

Lesenswert?

auf mehrfachen Wunsch - anbei die Sourcen vom Tool.

An all die Software-Entwickler ... bitte steinigt mich nicht wenn
ihr euch den Sourcecode anseht.

Ich weiß - es geht besser ;))

von Jo K. (cheerio)


Lesenswert?

geiles Tool. Danke!

von Michael S. (Firma: HTL Rankweil) (mistem94)


Lesenswert?

Hallo,

Ich bekomme die Fonts einfach nicht zum laufen. Hat jemand ein 
Beispielcode für die implementierung?

mfg, Michael Stemer

von C. (Gast)


Lesenswert?

Was ist das Problem?

von fuelre F. (fuelre)


Lesenswert?

hallo C.

ich arbeite mit dem Herrn Stemer zusammen an dem Problem - und zwar 
erhalten wir beim schreiben einer Big Font 4 Zeichen

also anstatt ein großes A erhalten wir:

69
54

(diese Zahlen sind erfunden da ich die genauen Zahlen nicht aus dem Kopf 
parat habe)

mfg fuelre

von Michael S. (Firma: HTL Rankweil) (mistem94)


Lesenswert?

Hallo,

Hat niemand dasselbe Problem?

mfg, Michael Stemer

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.