Tekkotsu Homepage | Demos | Overview | Downloads | Dev. Resources | Reference | Credits |
RawCam Class ReferenceForwards images from camera over wireless. More...
Inheritance diagram for RawCam:
Detailed DescriptionForwards images from camera over wireless. The format used for serialization is basically defined by the subclass of FilterBankGenerator being used. I suggest looking at that classes's documentation to determine the format used. (Generally either RawCameraGenerator or JPEGGenerator) However, RawCam will add a few fields at the beginning of each packet to assist in processing the image stream. I emphasize: beginning of each Vision packet, before the FilterBankGenerator header.
Alternatively, RawCameraGenerator may send a "Close Connection" packet when the server is shutting down. This is to help UDP connections, which otherwise wouldn't realize that they need to start trying to reconnect.
This is exactly the same protocol that is followed by the SegCamBehavior as well - the same code can parse either stream. This is a binary protocol -- the fields listed indicate binary values in the AIBO's byte order (little endian). Strings are encoded using the LoadSave::encode(char*,unsigned int, unsigned int) method. Definition at line 41 of file RawCam.h.
Constructor & Destructor Documentation
don't call Member Function Documentation
closes and sends a packet, does nothing if no packet open Definition at line 514 of file RawCam.cc. Referenced by doEvent(), writeColor(), and writeSingleChannel().
Delegate function for event processing, the event itself is pointed to (only for the duration of the doEvent() call!) by event. Default implementation watches for 'private' text message events (those forwarded by a BehaviorSwitchControl from ControllerGUI input) and will publically rebroadcast them. The idea is that your own processEvent gets first dibs, but if the behavior doesn't handle the text message, it will be handed off for others. Reimplemented from CameraStreamBehavior.
Delegate function for subclasses to be notified when the behavior starts up. Should be overridden by subclasses to subscribe to events, install motion commands, etc. doStart() is basically a hook to allow subclasses to jump in and do some customization of behavior parameters while the behavior is starting. If you are writing a behavior class and do not expect further derivation, just override doStart() yourself. However, if you do expect further derivation of your class, consider using preStart() or postStart() instead, and leave doStart() for the 'leaf' classes. Reimplemented from BehaviorBase.
Delegate function for subclasses to be notified when the behavior starts up. May be overridden to cleanup when the behavior is shutting down. However events will automatically be unsubscribed, and by using addMotion(), motions will automatically be removed by stop(), so you may not need any cleanup. Reimplemented from BehaviorBase.
Gives a short description of what this class of behaviors does... you should override this (but don't have to). If you do override this, also consider overriding getDescription() to return it Reimplemented from CameraStreamBehavior. Definition at line 64 of file RawCam.h. Referenced by getDescription().
Gives a short description of what this particular instantiation does (in case a more specific description is needed on an individual basis). By default simply returns getName(), because any calls from a BehaviorBase function to getClassDescription() are going to call BehaviorBase::getClassDescription(), not ~YourSubClass~getClassDescription(), because static functions can't be virtual in C++ (doh!) This means that getDescription called on a pointer to a BehaviorBase of unknown subtype would always return an empty string, which is pretty useless. So instead we return the name in this situation. If you want getDescription to return getClassDescription, you'll have to override it in your subclass to do so. Reimplemented from CameraStreamBehavior.
returns the layer which will be used out of the source, based on current config settings (i.e. compression, skip, etc) Definition at line 123 of file RawCam.cc. Referenced by getSourceULayer(), getSourceVLayer(), and getSourceYLayer().
function for network data to be sent to -- forwards to theOne's receiveData() Definition at line 79 of file RawCam.h. Referenced by setupServer().
opens a new packet, writes header info; returns true if open, false if otherwise open (check cur==NULL for error) see the class documentation for RawCam for the protocol documentation Definition at line 370 of file RawCam.cc. Referenced by writeColor(), and writeSingleChannel().
sends a packet signaling the server is closing the connection (good for UDP connections) Definition at line 523 of file RawCam.cc. Referenced by closeServer().
Member Data Documentation
the number of bytes remaining in the buffer Definition at line 99 of file RawCam.h. Referenced by closePacket(), openPacket(), writeColor(), and writeSingleChannel().
current location within that buffer Definition at line 98 of file RawCam.h. Referenced by closePacket(), doEvent(), openPacket(), writeColor(), and writeSingleChannel().
the time that the last event was processed Reimplemented from CameraStreamBehavior. Definition at line 101 of file RawCam.h. Referenced by closePacket(), and doEvent().
the buffer size requested from Wireless when the socket was allocated Definition at line 100 of file RawCam.h. Referenced by openPacket(), and setupServer().
point to the current buffer being prepared to be sent Definition at line 97 of file RawCam.h. Referenced by closePacket(), doEvent(), and openPacket().
900KB for max of full-color 640x480 + 1KB for header Definition at line 54 of file RawCam.h. Referenced by setupServer().
64KB is the max udp packet size Definition at line 56 of file RawCam.h. Referenced by setupServer().
socket for sending the image stream Definition at line 96 of file RawCam.h. Referenced by closePacket(), closeServer(), doEvent(), openPacket(), sendCloseConnectionPacket(), and setupServer(). The documentation for this class was generated from the following files: |
Tekkotsu v5.1CVS |
Generated Mon May 9 04:59:15 2016 by Doxygen 1.6.3 |