Squeak controlling a digital camera

ohshima at is.titech.ac.jp ohshima at is.titech.ac.jp
Mon May 24 07:55:43 UTC 1999


  Hi,

Jochen wrote:
> sounds great! How did you get the frame buffer into the Bitmap
> of a Form? Am I assuming correctly that you have to copy the
> data at least once?

  Yes, the image have to be copyed twice:-) And no, ICRUISE
has a capability to transfer the image on CCD directly to
the LCD.

  In the former case, an API call copys the image from CCD
to the Zaurus' image format (5-6-5 little endian image), and
then it is copyed into Squeak's Bitmap.  Roughly speaking,
the primitive call takes 200 milliseconds for a 160 at 120
image and 300 millis for a 320 at 240 image.

  In the latter case, the primitive is looks like:
----------------
ioCameraTakePicture(...)
{
   ConfigCamera(..., DIRECTMODE, ...); /* (1) */

   while (ShutterButtonPressed())
       ;

   copyTheImageToSqueakBitmap();       /* (2) */

   ConfigCamera(..., NODIRECTMODE, ...); /* (3) */
}
----------------

  The API call (1) let the CCD image to be copyed to LCD
without any software intervention.  The empty while
statement waits until the shutter button pressed and (2)
function copy the image into Squeak's Bitmap.  I can't count
the frame rate for this case, but is may be 20/sec or
something.

  I did't write the network support code yet, but it is
possible to run PWS on ICRUISE.  Each time the request
coming, the PWS could send back a photo to the requester.
Or if there were an on-the-fly movie encoder for Squeak, it
is possible to run real-time stream video server on a PDA:-)

                                             OHSHIMA Yoshiki
                Dept. of Mathematical and Computing Sciences
                               Tokyo Institute of Technology 





More information about the Squeak-dev mailing list