On 25-Nov-05, at 10:17 AM, Bob Courchaine wrote:
I have a prototyping platform from eInk (http://www.eink.com/kits/index.html) that uses a Gumstix SBC to drive a specialized display driver connected to the electronic paper.
Neat! Nice to see something becoming available at last. Ouch! $3000 !
Given Squeak's exceptional portability, I'd like to use it to build a demo to run directly on the device.
Jon Hylands has already shown that the gumstix can run Squeak, though I think he went for headless. So the basics of finding the right library/option settings should be easy to copy.
I'm gearing up to port Squeak to the device starting with the existing Linux port (the Gumstix comes w/ Linux running on it). But I'm not sure how to get the VM to send output to the eInk-supplied API (source code included) to the electronic paper driver.
Is the display set up as a framebuffer, or as some sort of external interface you have to copy pixels to? Either can be handled but personally I prefer a frame buffer mapped into main memory space for prototyping stuff like this. Until and unless there is some sort of useful graphics acceleration it is much easier to use plain old memory. Hopefully you will find some decent support library provided with the kit (at $3k I'd damn well hope so) to provide the metrics of base address, width, height, stride, etc.
A few years ago I did a quick port rather like this for the DEC Itsy prototype (which was pretty much the mother of the iPaq line) which was very similar to a gumstix with a fb screen. Tricky bits were the screen handling and cursor displaying since at that point nobody had written any sort of abstraction for them. I was lucky to be on loan for a couple of weeks to DEC WRL and sharing an office with the guys that built it which makes getting a library written so much simpler.
You will have to copy from the Squeak display bitmap to the actual screen memory and convert from Squeak's big endian pixels to little endian - probably. Although technically ARMs can do bigendian I've never actually met one that was setup that way. You might have some work to do to make a 4bpp display mode work acceptably in recent images since I doubt anybody has used such for a while and bitrot may well have set in. You might be able to use an 8bpp Squeak dispaly and compress during the copy-to-paper (I was going to say glass, but it isn't, is it!) operation.
It sounds like you're going to have some fun here Bob.
tim