Main Page   Hardware Class Hierarchy   Hardware API     Mapping Class Hierarchy  Mapping API 

oCameraC328 Class Reference

COMedia C328 Color Camera Module. More...

#include <ocamerac328.h>


Public Member Functions

 oCameraC328 (IOLINE rx, IOLINE tx, uint8 subclass=0)
 Constructor.

C328_ERROR_NUMBER receive_data_ack (int timeout=100000)
 transmits n command.

C328_ERROR_NUMBER reshoot (void)
 Assumes camera is connected and initialized.

bool error (void)
 Return whether last command was an error (true).

void reset (void)
 Performs a soft reset.


Static Public Member Functions

uint8 status (void)
 Returns the current state of the top level component.

void status (uint8 s)
 Set the status of the component.

foo2 callback (void)
 Provides JAUS Message Callback fuction for Object_List.


Protected Attributes

uint8 _status
 JAUS status (visual sensor component).


Detailed Description

COMedia C328 Color Camera Module.

Remarks
The camera overall did not perform well enough for practical robot tasks; Although the JPEG was nice, it of course was only usable on the host as embedded side JPEG compression would not have been fast enough. The other quirky feature was it seemed to loose connection if I did not take a picture within about 10-15 seconds; thus I would have to send another connect command. May be a bug on my part. The other setup problem was it's 3.3 volt operation which required a special considerations. I used Digikey MC74VHC1GT1250SCT-ND which only comes in SOT23-5 (very small). Surprisingly I had sucess getting some SOT23 surfboards and creating a special board. The other pet peeve was their use of non printable characters in commands--especially NULL byte prohibiting the use of C strings.
Performance
Performance was not quite as fast as desired. At lowest setting--60x80 2 bit color, I could only get about 4 frames (115K baud) a second which isn't fast enough for even a line following whereas my previous Gameboy camera could get 8-15 frames a second (8 bit BW) under optimal lighting. The minimum for any real line follower. The other bad part was only the JPEG allowed individual image packages to be transferred; the uncompressed had to be transferred as a whole image. If a partial image could be transferred, then this possibly could have been used for a line follower. The obvious other disadvantage is the high TPU hit on UART tranfer competing for all the other TPU functions already being used.


Constructor & Destructor Documentation

oCameraC328 IOLINE  rx,
IOLINE  tx,
uint8  subclass = 0
 

Constructor.

Parameters:
rx - TPU channel for recever
tx - TPU channel for transmitter NOTE: must override camera subtype (subclass).


Member Function Documentation

C328_ERROR_NUMBER receive_data_ack int  timeout = 100000  ) 
 

transmits n command.

Parameters:
icommand : command to transmit
iparm : parameter for command or NULL string ("") for none. Allows the sending of any command and parameter.


The documentation for this class was generated from the following file:
Generated on Mon Oct 8 19:32:45 2007 for OOMRM Hardware API by doxygen1.3