Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

ArSickPacket Class Reference

Represents the packets sent to the sick as well as those received from it. More...

#include <ArSickPacket.h>

Inheritance diagram for ArSickPacket:

ArBasePacket List of all members.

Public Member Functions

 ArSickPacket (unsigned char sendingAddress=0)
 Constructor.
ArTypes::Byte2 calcCRC (void)
 returns the crc, probably used only internally
virtual void duplicatePacket (ArSickPacket *packet)
 Duplicates the packet.
virtual void finalizePacket (void)
 MakeFinals the packet in preparation for sending, must be done.
ArTypes::UByte getID (void)
 returns the ID of the packet (first byte of data)
unsigned char getReceivedAddress (void)
 Gets the address this packet was sent from (only use for receiving).
unsigned char getSendingAddress (void)
 Sets the address to send this packet to (only use for sending).
ArTime getTimeReceived (void)
 Gets the time the packet was received at.
virtual void resetRead (void)
 Restart the reading process.
void setSendingAddress (unsigned char address)
 Sets the address to send this packet to (only use for sending).
void setTimeReceived (ArTime timeReceived)
 Sets the time the packet was received at.
bool verifyCRC (void)
 returns true if the crc matches what it should be
virtual ~ArSickPacket ()
 Destructor.

Protected Attributes

unsigned char mySendingAddress
ArTime myTimeReceived

Detailed Description

Represents the packets sent to the sick as well as those received from it.

This class reimplements some of the buf operations since the robot is little endian.

You can just look at the documentation for the ArBasePacket except for these functions here, setAddress, getAddress, verifyCheckSum, print, getID, and calcCheckSum.

Definition at line 44 of file ArSickPacket.h.


Member Function Documentation

void ArSickPacket::duplicatePacket ArSickPacket packet  )  [virtual]
 

Duplicates the packet.

Copies the given packets buffer into the buffer of this packet, also sets this length and readlength to what the given packet has

Parameters:
packet the packet to duplicate

Definition at line 124 of file ArSickPacket.cpp.

Referenced by ArSickPacketReceiver::receivePacket().

unsigned char ArSickPacket::getReceivedAddress void   ) 
 

Gets the address this packet was sent from (only use for receiving).

This gets the address that this packet was received from. Note that this is only valid if this packet was received from a laser, if you want to know where a packet was addressed to use getSendingAdress instead.

Returns:
the address a packet was received from

Definition at line 70 of file ArSickPacket.cpp.

References ArBasePacket::bufToUByte().

unsigned char ArSickPacket::getSendingAddress void   ) 
 

Sets the address to send this packet to (only use for sending).

This gets the address for use in sending packets, the address is what has been saved, then when a packet is finalizePacketd for sending, the address is put into the appropriate spot in the packet.

Returns:
the address of the laser to be addressed

Definition at line 59 of file ArSickPacket.cpp.

void ArSickPacket::resetRead void   )  [virtual]
 

Restart the reading process.

Sets the length read back to the header length so the packet can be reread using the other methods

Reimplemented from ArBasePacket.

Definition at line 90 of file ArSickPacket.cpp.

Referenced by ArSickPacketReceiver::receivePacket().

void ArSickPacket::setSendingAddress unsigned char  address  ) 
 

Sets the address to send this packet to (only use for sending).

This sets the address for use in sending packets, the address is saved, then when a packet is finalizePacketd for sending, the address is put into the appropriate spot in the packet.

Parameters:
address the address of the laser to be addressed

Definition at line 48 of file ArSickPacket.cpp.


The documentation for this class was generated from the following files:
Generated on Wed Oct 19 12:56:54 2005 for Aria by  doxygen 1.4.0