Embedded C graphics GUI

Posted on 2003-03-12
Medium Priority
Last Modified: 2012-06-27
Hi, I have to make a graphical interface for an embedded system, which means that the complexity has to be very limited.
I have to create an interface, something of a PICO (Unix editor) style... make use of escape sequences and so on. It has to be simple, yet easy to use.
What libraries do I require? Could this be implemented with a very limited amount of memory space, and least usage of big graphics libraries.
I don't need fancy menus and dialogs popping all over the place.
Did anyone have a similar problem, and maybe can suggest some solutions to it.
Thank you all very much,
Question by:losmi
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +2
LVL 16

Accepted Solution

imladris earned 225 total points
ID: 8122622
If I recall PICO correctly, it was a full screen editor, but it did not support any graphics. That is, it operated on a field of, in effect, text. What graphics there were, were simply delimiters created by showing text, e.g.


To separate one part of the screen from another.

If this is sufficient, you should be able to implement it relatively easily as long as you can have a buffer that is equal in size to the screen display (for an 80 x 25 screen, that is 2000 bytes).

Just arrange your 2000 bytes (or however many) as an appropriate 2D array (80 x 25, for the standard example). Initialize the array to what you want to show the user, and display it.

Now, using keystrokes, escape sequences, or whatever, you can easily alter the display to react to the commands given. At the end you can, if needed, read out the results from the display buffer to be stored.

Expert Comment

ID: 8122706
What embedded board ? SBC PC ?
What OS ? Linux or DOS ?


Author Comment

ID: 8123122
It’s a Motorola CPU12 on an eval. board...

Imladris thanks a lot... I'm getting an idea now... I'll just represent the screen as an array and have it refresh so often...actually whenever there is an interrupt...
You are right regarding PICO... it's not graphical...what is that called - ASCII type graphics? But this is the idea, have whatever is selected change it's background-foreground... If I can address each byte in the array I should be able to accomplish and create "PICO type" "graphics"...

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.


Expert Comment

ID: 8124087
if u wanna work with console based graphics .. look at ncurses OR curses
btw what OS ..

Expert Comment

ID: 8124493
I've never worked with Motorolla. I'm out :)

Author Comment

ID: 8125310
The OS is not that important.. it is some Debug12... that we preloaded in to eeprom... gives us access to basic c libraries, and gives us some statistics about the chip.. like current state of registers, ability to write to memory locations and console based functions...

akshayxx, what was that "ncurses OR curses" stuff you were talking about... that's exactly what i'm gonna be makin - console based graphics.. not just basic printfs that fill up the screen...

Expert Comment

ID: 8125520
ncurses and(OR) curses  is console based graphics library,

but i dont know how u r making programs ,, and how will u compile that to be run on ur device ( i guess that will be statically linked ..program resource file ?)

i can tell u the pointers to use ncurses libraries .. but it will be upto u to check whether the application written by using it can be compiled for ur target 'system'

..i asked for OS .because ncruses/curses are C libraries  found on linux and unix systems, so now i am having doubt if u can use them or not ..

sorry to bother u with 'may-be' irrelevant information
in your question..i read ..'pico-like-graphics'  so i suggested ncurses..
thats exactly what curses libraries are used for ..
tell me if u still are interested


Author Comment

ID: 8133102
Unfortunately I don't think I'll have access to any graphics libraries... But in case I do..I'll be certainly interested... Don't worry about the "maybe" things... any advice is of great help...

Thanks a lot.
LVL 20

Expert Comment

ID: 10122020
Nothing has happened on this question in more than 10 months. It's time for cleanup!

My recommendation, which I will post in the Cleanup topic area, is to
accept answer by imladris [grade B] (asker wanted more help?).


EE Cleanup Volunteer

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This tutorial is posted by Aaron Wojnowski, administrator at SDKExpert.net.  To view more iPhone tutorials, visit www.sdkexpert.net. This is a very simple tutorial on finding the user's current location easily. In this tutorial, you will learn ho…
This is a short and sweet, but (hopefully) to the point article. There seems to be some fundamental misunderstanding about the function prototype for the "main" function in C and C++, more specifically what type this function should return. I see so…
The goal of this video is to provide viewers with basic examples to understand and use pointers in the C programming language.
The goal of this video is to provide viewers with basic examples to understand recursion in the C programming language.
Suggested Courses

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question