Maker Pro
Maker Pro

need C code for simple ascii font lookup table

C

colin

Jan 1, 1970
0
Hi,
I need to output some text and numbers to a bitmapped LCD from an MCU
so I need a font bitmap/lookuptable but cant seem to find one that is in the
format that can be included in a c program file
(or assembler) using dspic30f... anyone know of any ? hope I dont have to
create/copy one by hand.

Colin =^.^=
 
M

mkaras

Jan 1, 1970
0
colin said:
Hi,
I need to output some text and numbers to a bitmapped LCD from an MCU
so I need a font bitmap/lookuptable but cant seem to find one that is in the
format that can be included in a c program file
(or assembler) using dspic30f... anyone know of any ? hope I dont have to
create/copy one by hand.

Colin =^.^=

You can find some useful information for bit mapped fonts and graphic
LCDs at my web site. Check it out at this link:
http://www.carouseldesign.com/GraphLCD.html

- mkaras
 
G

Glenn Gundlach

Jan 1, 1970
0
colin said:
Hi,
I need to output some text and numbers to a bitmapped LCD from an MCU
so I need a font bitmap/lookuptable but cant seem to find one that is in the
format that can be included in a c program file
(or assembler) using dspic30f... anyone know of any ? hope I dont have to
create/copy one by hand.

Colin =^.^=

Heaven forbid you'd have to do something resembling work since you say
it's simple. It's not hard and takes less time than reading these
replies. Besides which, it's excellent learning material.

GG
 
J

Jan Panteltje

Jan 1, 1970
0
Hi,
I need to output some text and numbers to a bitmapped LCD from an MCU
so I need a font bitmap/lookuptable but cant seem to find one that is in the
format that can be included in a c program file
(or assembler) using dspic30f... anyone know of any ? hope I dont have to
create/copy one by hand.

Colin =^.^=

As C header file:
ftp://panteltje.com/pub/s14font.h.txt
8x9 with teletext graphics characters, you can see it here:
ftp://panteltje.com/pub/xkrs.jpg
Do you also need the character generator and color processing in C?
http://panteltje.com/panteltje/xkrs/
user: guest
pasword: none

By reading this you agree to all conditions.
 
C

colin

Jan 1, 1970
0
Jan Panteltje said:
As C header file:
ftp://panteltje.com/pub/s14font.h.txt
8x9 with teletext graphics characters, you can see it here:

Thanks that will do nicely ::))

My display is 256x64, its an old epson eg2401 I had in myparts box I just
wanted to see some debug info,
seems a bit overly complex to use with 10 inputs, took a while to work out
the timings from the data sheet,
but it works now. But I had forgoton it was btimaped and needed refreshing
constantly too, looks like this
will take up a lot of cpu time. I wish now id gone for one of those rs232
input ones,
I saw a nice development board on ebay with an LCD (i think it had arm7 or
similar mcu) but I cant find one like it again.

8x9 wil give me 7 lines, or maybe I can lose the top or bottm line and have
8.

Colin =^.^=
 
C

colin

Jan 1, 1970
0
Glenn Gundlach said:
Heaven forbid you'd have to do something resembling work since you say
it's simple. It's not hard and takes less time than reading these
replies. Besides which, it's excellent learning material.

Simple refers to the fact that it doesnt need any fancy things like
proportional spacing or kerning,
so it doesnt take up so much cpu power,
its not so simple to actualy create the bitmap for each char due to the fact
that there are so many bits in total.

Although I wrote a '0-f' 7 segment font from scratch a full ascii char set
is another matter.

Some of the font files ive had as replies have been many thousands of lines
long just for the font bitmap,
hardly quicker to type it myself, let alone actualy work out each individual
bit,
hardly a learning experience either, maybe you missundertsood what I was
after ?

Colin =^.^=
 
V

vic

Jan 1, 1970
0
colin said:
Hi,
I need to output some text and numbers to a bitmapped LCD from an MCU
so I need a font bitmap/lookuptable but cant seem to find one that is in the
format that can be included in a c program file
(or assembler) using dspic30f... anyone know of any ? hope I dont have to
create/copy one by hand.

Colin =^.^=

You can find the 8x8 character generator ROM in any PC at address f000:fa6e

vic.
 
J

Jan Panteltje

Jan 1, 1970
0
Thanks that will do nicely ::))

Actually it was the wrong font, the one with the teletext graphics is this one:
ftp://panteltje.com/pub/txtfont.h.txt
Both are interchangable, but those graphics blocks start above 127 dec.
If you are short of space you can use only 32 through 127 of the table,
and always add 32 (space) for ASCII.
 
C

colin

Jan 1, 1970
0
Jan Panteltje said:
Actually it was the wrong font, the one with the teletext graphics is this one:
ftp://panteltje.com/pub/txtfont.h.txt
Both are interchangable, but those graphics blocks start above 127 dec.
If you are short of space you can use only 32 through 127 of the table,
and always add 32 (space) for ASCII.

Thanks again, that file had a bit more info too :)

I got it to display them all on the lcd now,
using just 8x8 as the 9th byte is unused, although I havnt deleted it from
the table.
and croped the table to 32-127 as u said.
had a bit of a headache b4 I realised Id got my nibbles swaped, as it was
only a problem in the few chars wich were wider than 4bits.

I cant say I fully understand these epson LCD timings but after a bit of
jiggling with random delays and swaping edges it seems to work now, although
a touch tempermental, if anyone wants to see the code just ask, but cba to
comment it unless someone needs to use it, I gues these epson LCD are quit
old now.

I find if I use bit set on an output port followed by another bitset on a
different bit on the same port the first bit gets cleared.

Also dont quite understand exactly how it lays down the data in memory when
you specify a data array in the program space on the dspic30f with the
microlab mc30 compiler, as theres only 3 bytes used per 4 bytes of prog
space, looking at the examples I assume it only uses the low word, and so
wastes 1/3 bytes.

Spent a while trying to get the tbldr function to work before I gave up and
put it in the data space and it seems fine, although I think I found other
problems why it wasnt working, probably not got a lot of the 2k ram left
now, maybe il try maping the code space into data space.

When I look at the disaembly it seems to be accesing the normal data array
at 0x810 wich coresponds to actual code, maybe it doesnt show the final
linked addresses, oh wait prog and data are seperate.

Colin =^.^=
 
C

colin

Jan 1, 1970
0
vic said:
You can find the 8x8 character generator ROM in any PC at address
f000:fa6e

That would be fine if there was an easy way to get/copy it into a 'C'
program as a data array,
as the prog runs on an mcu wich obviously cant acces the rom itself.
However ive got a few such files now thanks :)

Colin =^.^=
 
Top