Namespaces | |
namespace | detail |
Functions | |
void | addFrameToBuffer (UINT8 *sendBuffer, UINT8 *cmdBuffer, UINT16 *len) |
UINT16 | addINT32ToBuffer (UINT8 *buffer, INT32 value) |
UINT16 | addINT8ToBuffer (UINT8 *buffer, INT8 value) |
UINT16 | addStringToBuffer (UINT8 *buffer, const std::string &text) |
UINT16 | addUINT16ToBuffer (UINT8 *buffer, UINT16 value) |
UINT16 | addUINT32ToBuffer (UINT8 *buffer, UINT32 value) |
UINT16 | addUINT8ToBuffer (UINT8 *buffer, UINT8 value) |
std::string | convertRxBufferToString (UINT8 *buffer, UINT16 bufferLen) |
INT16 | decodeINT16 (std::string *rxData) |
INT16 | decodeINT16 (const std::string &rxData) |
INT32 | decodeINT32 (std::string *rxData) |
INT32 | decodeINT32 (const std::string &rxData) |
double | decodeReal (std::string *rxData) |
double | decodeReal (const std::string &rxData) |
set of more efficient functions that do not copy strings (should be prefered in use together with the colaa::tokenizer) | |
std::string | decodeString (std::string *rxData, UINT16 len) |
UINT16 | decodeUINT16 (BYTE *buffer) |
UINT16 | decodeUINT16 (std::string *rxData) |
UINT16 | decodeUINT16 (const std::string &rxData) |
UINT32 | decodeUINT32 (std::string *rxData) |
UINT32 | decodeUINT32 (const std::string &rxData) |
UINT8 | decodeUINT8 (std::string *rxData) |
UINT8 | decodeUINT8 (const std::string &rxData) |
UINT32 | decodeXByte (std::string *rxData, UINT16 len) |
std::string | getNextStringToken (std::string *rxData) |
std::string | getNextStringToken (UINT8 *rxData) |
bool | GetNibble (unsigned char data, unsigned char &rNibble) |
UINT16 | getValueOfChar (UINT8 c) |
UINT8 | nibbleToAscii (UINT8 value) |
Parser functions for a partly implementation of the CoLa-A protocol, needed for communication with SICK sensors.
void colaa::addFrameToBuffer | ( | UINT8 * | sendBuffer, |
UINT8 * | cmdBuffer, | ||
UINT16 * | len | ||
) |
Erzeuge den zu sendenden Kommandostring, inklusive sog. "23-Frame". Der String wird im CoLa-A Format erzeugt und im Puffer abgelegt. sendBuffer = Ziel-Puffer fuer die erzeugten Daten cmdBuffer = Quelle-Puffer mit den Kommandodaten, aber ohne 23-Frame len = Zeiger auf Laenge des cmdBuffer; bei Rueckgabe Laenge des sendBuffers.
UINT16 colaa::addINT32ToBuffer | ( | UINT8 * | buffer, |
INT32 | value | ||
) |
UINT16 colaa::addINT8ToBuffer | ( | UINT8 * | buffer, |
INT8 | value | ||
) |
UINT16 colaa::addStringToBuffer | ( | UINT8 * | buffer, |
const std::string & | text | ||
) |
UINT16 colaa::addUINT16ToBuffer | ( | UINT8 * | buffer, |
UINT16 | value | ||
) |
UINT16 colaa::addUINT32ToBuffer | ( | UINT8 * | buffer, |
UINT32 | value | ||
) |
UINT16 colaa::addUINT8ToBuffer | ( | UINT8 * | buffer, |
UINT8 | value | ||
) |
std::string colaa::convertRxBufferToString | ( | UINT8 * | buffer, |
UINT16 | bufferLen | ||
) |
Lese ein XByte-Array bekannter Laenge (1..4 Bytes) und verpacke es als UINT32-Wert. Das 1. empfangene Byte steht in den unteren 8 Bit des Ergebniswerts, usw.
HINWEIS: der Iterator wird weitergeschoben len-1 mal. Um das nächste Element zu lesen muss vorher ++tok aufgerufen werden.
begin | = Startpunkt, von wo aus einzelne Stringtokens in Zahlen verwandelt werden |
end | = Ende des containers, ueber den iteriert wird |
len | = Anzahl der Bytes (= Array-Elemente) |
INT16 colaa::decodeINT16 | ( | std::string * | rxData | ) |
INT16 colaa::decodeINT16 | ( | const std::string & | rxData | ) |
INT32 colaa::decodeINT32 | ( | std::string * | rxData | ) |
INT32 colaa::decodeINT32 | ( | const std::string & | rxData | ) |
double colaa::decodeReal | ( | std::string * | rxData | ) |
double colaa::decodeReal | ( | const std::string & | rxData | ) |
std::string colaa::decodeString | ( | std::string * | rxData, |
UINT16 | len | ||
) |
Lese einen String aus dem Empfangspuffer. Der Empfangspuffer wird anschliessend um die Stringlaenge + 1 Zeichen (Trenn-Leerzeichen) gekuerzt.
Ist der Parameter len = 0 (oder fehlt ganz), dann wird der naechste verfuegbare String ausgelesen. Ist len > 0, dann werden genau len Zeichen gelesen.
UINT16 colaa::decodeUINT16 | ( | BYTE * | buffer | ) |
UINT16 colaa::decodeUINT16 | ( | std::string * | rxData | ) |
UINT16 colaa::decodeUINT16 | ( | const std::string & | rxData | ) |
UINT32 colaa::decodeUINT32 | ( | std::string * | rxData | ) |
UINT32 colaa::decodeUINT32 | ( | const std::string & | rxData | ) |
UINT8 colaa::decodeUINT8 | ( | std::string * | rxData | ) |
UINT8 colaa::decodeUINT8 | ( | const std::string & | rxData | ) |
UINT32 colaa::decodeXByte | ( | std::string * | rxData, |
UINT16 | len | ||
) |
std::string colaa::getNextStringToken | ( | std::string * | rxData | ) |
std::string colaa::getNextStringToken | ( | UINT8 * | rxData | ) |
bool colaa::GetNibble | ( | unsigned char | data, |
unsigned char & | rNibble | ||
) |
UINT8 colaa::nibbleToAscii | ( | UINT8 | value | ) |