I am posting this here because I am hoping to find someone who can port this over to arduino so more people can use it. Also some of you might find it useful for some non-arduino projects you might have.
The story is, that using an olimexino I was able to find out the protocol and how to interface with the front panel units of Canon Pixma inkjet printers (currently MP620 and MP630 ). These front panels contain a graphic LCD and a few buttons and quite some processing power and are an ready-to-use user interface for many projects at very low or no cost. (Inkjet printers are not too reliable and are therefore often cheap/free. A perfectly working one costs about 40 $/€)
Nearly all of the processing for the display is done in the frontpanel chip itself. The displays also have their own RAM (512K words × 2 banks × 16 bits = 2 MB) in which image data can be stored and are able to do transparency and overlay/sprite drawing by themselves. Just tell the frontpanel at which position it should draw the data from RAM address XY and the frontpanel will show it on the display all by itself, even using layers and transparency/overlay. The buttons are also polled by the display chip and the state of the buttons is communicated over UART.
So with just two UART connections (one for LCD, one for the buttons [optional] ) and two lines for data+clock (image data) you will get an user interface with buttons, graphic color LCD display, RAM to store image data, and direct RAM to display drawing. The load on the connected board is nearly zero as soon as all the data has been loaded into RAM.
For drawing something on the display there is an library available for the olimexino that should also work on the maple and which I am hoping someone can port to the arduino. It features direct loading of bitmaps from SD to RAM and simple usage and drawing using "screenobjects".
Please take a look at the demo video at the wiki of the project on sourceforge ( http://sourceforge.net/p/pixmafrontpanel/wiki/Home/
) and tell me what you think of it. Be aware though that this is just a proof of concept and in alpha.
I am hoping to find other people who want to use these displays in their projects and who can help me improve the library and maybe even add other displays.
I am also searching for people to port/test the library on a maple or arduino board.
Also if you have a Canon Pixma laying around please contact me, maybe we can use the front panel for further research in the future.
I am curious to hear what you think of this project.