Aria
2.8.0
|
Represents the packets sent to the robot as well as those received from it. More...
#include <ArRobotPacket.h>
Inherits ArBasePacket.
Public Member Functions | |
ArRobotPacket (unsigned char sync1=0xfa, unsigned char sync2=0xfb) | |
Constructor. More... | |
ArTypes::Byte2 | calcCheckSum (void) |
returns the checksum, probably used only internally | |
virtual void | finalizePacket (void) |
ArTypes::UByte | getID (void) |
returns the ID of the packet | |
ArTime | getTimeReceived (void) |
Gets the time the packet was received at. | |
virtual void | log () |
ArRobotPacket & | operator= (const ArRobotPacket &other) |
Assignment operator. | |
void | setID (ArTypes::UByte id) |
Sets the ID of the packet. | |
void | setTimeReceived (ArTime timeReceived) |
Sets the time the packet was received at. | |
bool | verifyCheckSum (void) |
returns true if the checksum matches what it should be | |
virtual | ~ArRobotPacket () |
Destructor. | |
Public Member Functions inherited from ArBasePacket | |
ArBasePacket (ArTypes::UByte2 bufferSize=0, ArTypes::UByte2 headerLength=0, char *buf=NULL, ArTypes::UByte2 footerLength=0) | |
Constructor. More... | |
ArBasePacket (const ArBasePacket &other) | |
Copy constructor. | |
virtual ArTypes::Byte | bufToByte (void) |
Gets a ArTypes::Byte from the buffer. | |
virtual ArTypes::Byte2 | bufToByte2 (void) |
Gets a ArTypes::Byte2 from the buffer. | |
virtual ArTypes::Byte4 | bufToByte4 (void) |
Gets a ArTypes::Byte4 from the buffer. | |
virtual void | bufToData (char *data, int length) |
Gets length bytes from buffer and puts them into data. More... | |
virtual void | bufToData (unsigned char *data, int length) |
Gets length bytes from buffer and puts them into data. More... | |
virtual void | bufToStr (char *buf, int len) |
Gets a string from the buffer. More... | |
virtual ArTypes::UByte | bufToUByte (void) |
Gets a ArTypes::UByte from the buffer. | |
virtual ArTypes::UByte2 | bufToUByte2 (void) |
Gets a ArTypes::UByte2 from the buffer. | |
virtual ArTypes::UByte4 | bufToUByte4 (void) |
Gets a ArTypes::UByte4 from the buffer. | |
virtual void | byte2ToBuf (ArTypes::Byte2 val) |
Puts ArTypes::Byte2 into packets buffer. | |
virtual void | byte4ToBuf (ArTypes::Byte4 val) |
Puts ArTypes::Byte4 into packets buffer. | |
virtual void | byteToBuf (ArTypes::Byte val) |
Puts ArTypes::Byte into packets buffer. | |
virtual void | dataToBuf (const char *data, int length) |
Copies length bytes from data into packet buffer. More... | |
virtual void | dataToBuf (const unsigned char *data, int length) |
Copies length bytes from data into packet buffer. More... | |
virtual void | duplicatePacket (ArBasePacket *packet) |
Makes this packet a duplicate of another packet. More... | |
virtual void | empty (void) |
resets the length for more data to be added More... | |
virtual const char * | getBuf (void) const |
Gets a const pointer to the buffer the packet uses. | |
virtual char * | getBuf (void) |
Gets a pointer to the buffer the packet uses. | |
virtual ArTypes::UByte2 | getDataLength (void) const |
Gets the length of the data in the packet. | |
virtual ArTypes::UByte2 | getDataReadLength (void) const |
Gets how far into the data of the packet that has been read. | |
virtual ArTypes::UByte2 | getFooterLength (void) const |
Gets the length of the header. | |
virtual ArTypes::UByte2 | getHeaderLength (void) const |
Gets the length of the header. | |
virtual ArTypes::UByte2 | getLength (void) const |
Gets the total length of the packet. | |
virtual ArTypes::UByte2 | getMaxLength (void) const |
Gets the maximum length packet. | |
virtual ArTypes::UByte2 | getReadLength (void) const |
Gets how far into the packet that has been read. | |
virtual bool | isValid (void) |
Returns whether the packet is valid, i.e. no error has occurred when reading/writing. More... | |
ArBasePacket & | operator= (const ArBasePacket &other) |
Assignment operator. | |
virtual void | printHex (void) |
ArLogs the hex value of each byte in the packet. | |
virtual void | resetRead (void) |
Restart the reading process. More... | |
virtual void | resetValid () |
Resets the valid state of the packet. More... | |
virtual void | setBuf (char *buf, ArTypes::UByte2 bufferSize) |
Sets the buffer the packet is using. | |
virtual bool | setHeaderLength (ArTypes::UByte2 length) |
Sets the length of the header. | |
virtual bool | setLength (ArTypes::UByte2 length) |
Sets the length of the packet. | |
virtual void | setMaxLength (ArTypes::UByte2 bufferSize) |
Sets the maximum buffer size (if new size is <= current does nothing) | |
virtual void | setReadLength (ArTypes::UByte2 readLength) |
Sets the read length. | |
virtual void | strNToBuf (const char *str, int length) |
Copies the given number of bytes from str into packet buffer. More... | |
virtual void | strToBuf (const char *str) |
Puts a NULL-terminated string into packet buffer. More... | |
virtual void | strToBufPadded (const char *str, int length) |
Copies length bytes from str, if str ends before length, pads data with 0s. More... | |
virtual void | uByte2ToBuf (ArTypes::UByte2 val) |
Puts ArTypes::UByte2 into packet buffer. | |
virtual void | uByte4ToBuf (ArTypes::UByte4 val) |
Puts ArTypes::UByte 4 into packet buffer. | |
virtual void | uByteToBuf (ArTypes::UByte val) |
Puts ArTypes::UByte into packets buffer. | |
virtual | ~ArBasePacket () |
Destructor. | |
Protected Attributes | |
unsigned char | mySync1 |
unsigned char | mySync2 |
ArTime | myTimeReceived |
Protected Attributes inherited from ArBasePacket | |
char * | myBuf |
ArTypes::UByte2 | myFooterLength |
ArTypes::UByte2 | myHeaderLength |
bool | myIsValid |
ArTypes::UByte2 | myLength |
ArTypes::UByte2 | myMaxLength |
bool | myOwnMyBuf |
ArTypes::UByte2 | myReadLength |
Additional Inherited Members | |
Protected Member Functions inherited from ArBasePacket | |
bool | hasWriteCapacity (int bytes) |
Returns true if there is enough room in the packet to add the specified number of bytes. | |
bool | isNextGood (int bytes) |
Represents the packets sent to the robot as well as those received from it.
This class reimplements some of the buf operations since the robot is opposeite endian from intel. Also has the getID for convenience.
You can just look at the documentation for the ArBasePacket except for the 4 new functions here, verifyCheckSum, getID, print, and calcCheckSum.
ArRobotPacket::ArRobotPacket | ( | unsigned char | sync1 = 0xfa , |
unsigned char | sync2 = 0xfb |
||
) |
Constructor.
sync1 | first byte of the header of this packet, this should be left as the default in nearly all cases, ie don't mess with it |
sync2 | second byte of the header of this packet, this should be left as the default in nearly all cases, ie don't mess with it |