I like to contribute my work for my uLCD display from 4dSystems ([url]http://www.4dsystems.com.au/[/url]).
It is a small static class with all the graphic and touch functions that can be used with the
serial communication protocol firmware ([url]http://www.4dsystems.com.au/prod.php?id=87[/url].
This firmware need to be loaded into your display. Please note that every screen has his own firmware.
EDIT: BTW. Gus, i have already tried to start a wiki page but i have no idea how to start a new one. When you have a min, can you drop by the chat and help me in the right direction?
Gus: sadly there is no space enough in the bottom section to store a domino look-a-like, im hopping i that a FEZ-mini can fit inside it. But then i need to buy an other FEZ and this time the mini.
I will do that after i have done all development and i only need to place all parts inside the enclosure etc.
here is a small video:
I have modified it slightly to cope with the uOLED-128, which has only byte values for width and height,
on a contentious note - there is a lot of new byte[] { 0x00, (byte)width… etc going on, now that is all very fine for pc .Net, but personally I think you would be better off having a static byte buffer and filling it in each time, that way you dont overstress the GC, depends on how often these things are called of course…
OK, I think that is the way I would structure it, ie have the base 4dclass implement the raw commands and then a much more usable api sitting on top, ie take the DrawLine and Rectangle functions - it is much nicer to call with a point and a size rather than 2 points, as this is more in keeping with the GDI stuff in .NET, but maybe thats what I grew up with…
On an efficiency note, I was just thinking that rather than use a new byte[] for every command to just have a static buffer and fill each position with the byte and then send the array out to the port, Ill send some code when I have finished playing,
Of course that shouldnt compromise your cool extra window stuff should you change the way the raw commands are implemented… thats the beauty of C#
btw…I didnt mean to be critical, just raising a debate to benefit all of us, the code you contributed is nicely done…