EmbeddedRelated.com
Forums

GUI for ATMEL AVR

Started by noon...@nowhere.undef December 29, 2006
Hello,

I'm just an electronic hobbyist (and physic teacher).
I'd like to make a sort of chronometer for my Go-Kart.
It's working fine now
(using WinAVR as C compiler
for a microcontroller (uC) ATMEL AVR ATmega8535)
but I use a character LCD display.

I would like to use a graphical LCD now.
But I also would like to have some widgets (like in GTK)
Unfortunately I don't know if it is possible to do it without a minimal
Linux
on the uC (I'm also fond of open source softwares and Linux... of
course)
I guess that having a Linux kernel is too much for a little 8 bits uC
like ATMEL AVR.
I hope you could help me for this.


Regards

Sorry I forget to add that there is no mouse or touchscreen
so the GUI should be like the GUI of a phone or any embedded device
that's to say that there is only
 - up/down/left/right buttons
 - ok button
 - cancel button

hi
if u plan to use a graphical LCD, it'll have it's own frame buffer
where u can write the image. The lcd will take care of displaying it.
Each of the images of the ui will have to be stored or drawn in ur
code..After that, it is just a matter of drawing the appropriate images
for the ui.
hope it helps
Vinay
 
> - up/down/left/right buttons > - ok button > - cancel button
vinay wrote:
> > if u plan to use a graphical LCD, it'll have it's own frame buffer > where u can write the image. The lcd will take care of displaying > it. Each of the images of the ui will have to be stored or drawn in > ur code..After that, it is just a matter of drawing the appropriate > images for the ui. > >> - up/down/left/right buttons >> - ok button >> - cancel button
You snipped, which is good. Having done so, why do you top-post? See the following links. Your reply belongs after (or intermixed with) the quoted material, after snipping. Also you should leave the attribution lines for material you quote. -- Some informative links: <http://www.geocities.com/nnqweb/> <http://www.catb.org/~esr/faqs/smart-questions.html> <http://www.caliburn.nl/topposting.html> <http://www.netmeister.org/news/learn2quote.html> <http://cfaj.freeshell.org/google/>
In article <1167382169.697339.224390@i12g2000cwa.googlegroups.com>, 
"noone@nowhere.undef" <s.celles@gmail.com> writes
>Hello, > >I'm just an electronic hobbyist (and physic teacher). >I'd like to make a sort of chronometer for my Go-Kart. >It's working fine now >(using WinAVR as C compiler >for a microcontroller (uC) ATMEL AVR ATmega8535) >but I use a character LCD display. > >I would like to use a graphical LCD now. >But I also would like to have some widgets (like in GTK) >Unfortunately I don't know if it is possible to do it without a minimal >Linux >on the uC (I'm also fond of open source softwares and Linux... of >course) >I guess that having a Linux kernel is too much for a little 8 bits uC >like ATMEL AVR. >I hope you could help me for this. > > >Regards >
In article <1167383115.193114.222330@a3g2000cwd.googlegroups.com>, "noone@nowhere.undef" <s.celles@gmail.com> writes
>Sorry I forget to add that there is no mouse or touchscreen >so the GUI should be like the GUI of a phone or any embedded device >that's to say that there is only > - up/down/left/right buttons > - ok button > - cancel button
If it is that simple do your own. Most GUI's are going to be far too big. You can get some open source graphics libraries (not a GUI as such) but as with most open source they tend to target x86/ARM size Linux systems. I suggest that you build your own simple system. Make it modular (use C) and you can use it again and again. This will be a useful project as a teacher and you can get the students to add components to the system. -- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ /\/\/ chris@phaedsys.org www.phaedsys.org \/\/\ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
You should check out. eZLCD at www.earthlcd.com

It is a display module that would accept serial commands from the AVR.
If this is a protoype (i.e. your only going to build a few) this would
be the way to go. Unless you want the challege of writing your own
display driver and have some comercial possibilities for your project.

The eZLCD isn't very cheap, $150 in single peices.

Noritake also has some very cool VFD serial graphical modules, but
again they are spendy.

http://www.crystalfontz.com/products/index-grph.html

Is another good place to look for display modules.


ERIC

You should check out. eZLCD at www.earthlcd.com

It is a display module that would accept serial commands from the AVR.
If this is a protoype (i.e. your only going to build a few) this would
be the way to go. Unless you want the challege of writing your own
display driver and have some comercial possibilities for your project.

The eZLCD isn't very cheap, $150 in single peices.

Noritake also has some very cool VFD serial graphical modules, but
again they are spendy.

http://www.crystalfontz.com/products/index-grph.html

Is another good place to look for display modules.


ERIC

noone@nowhere.undef wrote:
> Hello, > > I'm just an electronic hobbyist (and physic teacher). > I'd like to make a sort of chronometer for my Go-Kart. > It's working fine now > (using WinAVR as C compiler > for a microcontroller (uC) ATMEL AVR ATmega8535) > but I use a character LCD display. > > I would like to use a graphical LCD now. > But I also would like to have some widgets (like in GTK) > Unfortunately I don't know if it is possible to do it without a minimal > Linux > on the uC (I'm also fond of open source softwares and Linux... of > course) > I guess that having a Linux kernel is too much for a little 8 bits uC > like ATMEL AVR. > I hope you could help me for this. > > > Regards
As youve indicated the 8535 has a 8 bit MPU with 8Kb of flash and 512 bytes of RAM, so running the Linux kernel, a X windows client-server as well as apps is out of the question. Even if this hardware was more capable and a kernel port was already available, running embedded Linux to implement a graphical timer would be over kill. Embedded Linux shines in a number of area's especially in devices where network support is needed. You can find 'C' source for bresham's line drawing algorithim as well as any other graphical algorithim you'll need on the net. Your only real hurdle is finding suitable LCD panel and others have made some good suggestions. Good Luck. Chris
machinamentum@gmail.com wrote:

> You can find 'C' source for bresham's line drawing algorithim as well > as any other graphical algorithim you'll need on the net. Your only > real hurdle is finding suitable LCD panel and others have made some > good suggestions. > > Good Luck. > > Chris
My spelling was not even close, try http://en.wikipedia.org/wiki/Bresenham's_line_algorithm
> if u plan to use a graphical LCD, it'll have it's own frame buffer > where u can write the image. The lcd will take care of displaying it.
Yes I agree with you I can get a driver for the controller of a LCD... That's not the problem... The problem is not about drawing "primitive" function such as drawing lines, or text... It's ever done In fact the problem is to have a minimal GUI with **widgets**. There is some commercial lib for this See for example : http://www.celles.net/wikini/wakka.php?wiki=3DGUIEmbarque GUI pour d'autres OS embarqu=E9s GUI pour d'autres OS embarqu=E9s Biblioth=E8ques LCD (haut niveau) PEG emWin ... For example such a lib could contain callback function for managing event