Here is my uLCD driver for the 4dSystems picaso display's

Sorry for my delayed replay.
But thanks for your ideas, i just changed my lib the way you suggested.
When i get the speed problem fixed i will put it on fezzer

I have noticed you added color constants and shifted the serial
speed up a bit along with some other refinements - nice job!!!

Questions:

#1. Your new driver on Fezzer does not contain any user code to
demo the touch on the uLCD? You rewrote a new touch method and
it does not work with the older demo user code?

#2. The reset pin on the uLCD needs a open drain/collector from
the Panda/Domino to work. Since the only open drain pin on both
boards is the I2C pin(s) (this is pulled up via onboard 2.2K)
then these pin(s) cannot be used. What other pin did you use for
the reset?

Note: It has to be an open drain/collector without a pullup. The
uLCD board has the pullup already on the display board.
For development, I used a NO pushbutton switch to ground
to “reset the display” before sending the new code to the display.
Normally, if the power is connected from the Panda/Domino then a
total power on reset will do the job and the reset is not necessary.

#3. Since the uLCD has a built-in SD card and sound wave output then
additional classes will have to be added to your class driver.
I am willing to add what I have but there should be a revision history and
details of the changes between revisions. Is there a simple way to
do this on Fezzer? So far, there are two versions of this uLCD driver.

Notes:
The uLCD needs to have a screen saver to prevent burn in. The
4D Systems manual recommends it. I used the display and backlight
on/off commands with a timer for 5 minutes. By turning off the
display and backlight saves over 100 ma. and also protects the
display screen from burn-in.

The serial speed you have at 115200 baud is OK but I was able to
achieve the max of 256000 baud on another ARM processor. Having
the max. speed would make displaying objects much faster. Further
testing is on going …

Hello Joe,

Thanks for your interest in this project of mine.

#1.) First in a try to reduce the GC i have indeed reworked also the intouch function. The touch interface is still not working properly anyway and therefor i have not released a demo using the touch screen.

#2.) I use the [italic]FEZ_Pin.Digital.UEXT10[/italic] pin and that works very well. I see not the problem of the open drain problem you talking about, Maybe i’m overlooking something, that is possible never-the-less.

#3.) Yeah, i have concentrated my first version only on the most useful graphic functions and was planning to do the others later when i got this part working. but when you have them already made, then that is much simpler.

#4,) oww, that sounds a nice idea. I will play with this idea and when i get some time i will implement something.

Note: About the question for Fezzer please ask this on a thread about the Fezzer or create a new one for it.
thanks again.

I like to add that to achieve the maximum of
256K baud the micro has to be set to 281 Kbaud
and the uLCD display has to be set to 256 Kbaud.
This came from 4D Systems support forum.
Note: I was able to achieve this serial com speed
on another “unmanaged” ARM processor.

Your previous touch method driver (non Fezzer) works fine.
I calculated the button area from the
center of the button and added a x constant and
a y constant from the center position to indicate
the “full” touch button press area.

Again … great code.