• C

Embedded C graphics GUI

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,
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
What embedded board ? SBC PC ?
What OS ? Linux or DOS ?

losmiAuthor Commented:
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"...

Choose an Exciting Career in Cybersecurity

Help prevent cyber-threats and provide solutions to safeguard our global digital economy. Earn your MS in Cybersecurity. WGU’s MSCSIA degree program was designed in collaboration with national intelligence organizations and IT industry leaders.

if u wanna work with console based graphics .. look at ncurses OR curses
btw what OS ..
I've never worked with Motorolla. I'm out :)
losmiAuthor Commented:
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...
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

losmiAuthor Commented:
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.
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.