Namespaces | Functions
colaa Namespace Reference

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)

Detailed Description

Parser functions for a partly implementation of the CoLa-A protocol, needed for communication with SICK sensors.


Function Documentation

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.

Definition at line 82 of file colaa.cpp.

UINT16 colaa::addINT32ToBuffer ( UINT8 buffer,
INT32  value 
)

Int32-Wert in den Puffer schreiben (als Text). Wird erstmal als HEX-Wert geschrieben...

Return value: Laenge des hinzugefuegten Strings

Definition at line 185 of file colaa.cpp.

UINT16 colaa::addINT8ToBuffer ( UINT8 buffer,
INT8  value 
)

Int8-Wert in den Puffer schreiben (als Text).

Return value: Laenge des hinzugefuegten Strings

Definition at line 139 of file colaa.cpp.

UINT16 colaa::addStringToBuffer ( UINT8 buffer,
const std::string &  text 
)

Fuegt den Text in den Puffer ein (Kopie!).

Return: Anzahl eingefuegte Zeichen.

Definition at line 224 of file colaa.cpp.

UINT16 colaa::addUINT16ToBuffer ( UINT8 buffer,
UINT16  value 
)

Schreibe den UINT16-Wert als ASCII-HEX-String in den Puffer. Es werden 1 bis 4 Bytes (die 4 Nibbles) geschrieben.

Return value: #Bytes

Definition at line 125 of file colaa.cpp.

UINT16 colaa::addUINT32ToBuffer ( UINT8 buffer,
UINT32  value 
)

Schreibe den UINT32-Wert als ASCII-HEX-String in den Puffer. Es werden 1 bis 8 Bytes geschrieben, je nach Zahlenwert.

Return value: #Bytes

Definition at line 200 of file colaa.cpp.

UINT16 colaa::addUINT8ToBuffer ( UINT8 buffer,
UINT8  value 
)

Schreibe den UINT8-Wert als ASCII-HEX-String in den Puffer. Es werden 1 bis 2 Bytes geschrieben.

Return value: #Bytes

Definition at line 111 of file colaa.cpp.

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.

Parameters:
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)

Definition at line 793 of file colaa.cpp.

INT16 colaa::decodeINT16 ( std::string *  rxData)

Lese einen INT16-Wert aus dem Empfangspuffer.

Definition at line 472 of file colaa.cpp.

INT16 colaa::decodeINT16 ( const std::string &  rxData)

Lese einen INT16-Wert aus dem Empfangspuffer.

Definition at line 534 of file colaa.cpp.

INT32 colaa::decodeINT32 ( std::string *  rxData)

Lese einen INT-Wert aus dem Empfangspuffer. Ergebnis ist ein INT32-Wert.

Definition at line 483 of file colaa.cpp.

INT32 colaa::decodeINT32 ( const std::string &  rxData)

Lese einen INT-Wert aus dem Empfangspuffer. Ergebnis ist ein INT32-Wert.

Definition at line 545 of file colaa.cpp.

double colaa::decodeReal ( std::string *  rxData)

Lese eine Real-Zahl aus dem Empfangspuffer. Im Fehlerfall wird NaN zurueckgegeben.

Definition at line 332 of file colaa.cpp.

double colaa::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)

Lese eine Real-Zahl aus dem Empfangspuffer. Im Fehlerfall wird NaN zurueckgegeben.

Definition at line 383 of file colaa.cpp.

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.

Definition at line 603 of file colaa.cpp.

Definition at line 627 of file colaa.cpp.

UINT16 colaa::decodeUINT16 ( std::string *  rxData)

Definition at line 636 of file colaa.cpp.

UINT16 colaa::decodeUINT16 ( const std::string &  rxData)

Lese einen UINT16-Wert aus dem Empfangspuffer.

Definition at line 662 of file colaa.cpp.

UINT32 colaa::decodeUINT32 ( std::string *  rxData)

Lese einen UINT32-Wert aus dem Empfangspuffer.

Definition at line 434 of file colaa.cpp.

UINT32 colaa::decodeUINT32 ( const std::string &  rxData)

Lese einen INT-Wert aus dem Empfangspuffer. Es wird vorausgesetzt, dass der übergebene String nur den Token für die Zahl enthält. Ergebnis ist ein INT32-Wert.

Definition at line 690 of file colaa.cpp.

UINT8 colaa::decodeUINT8 ( std::string *  rxData)

Lese einen UINT8-Wert aus dem Empfangspuffer.

Definition at line 649 of file colaa.cpp.

UINT8 colaa::decodeUINT8 ( const std::string &  rxData)

Lese einen UINT8-Wert aus dem Empfangspuffer.

Definition at line 675 of file colaa.cpp.

UINT32 colaa::decodeXByte ( std::string *  rxData,
UINT16  len 
)

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.

len = Anzahl der Bytes (= Array-Elemente)

Definition at line 735 of file colaa.cpp.

std::string colaa::getNextStringToken ( std::string *  rxData)

Isoliere das naechste String-Token. Es geht bis zu naechsten Leerzeichen; fuehrende Leerzeichen werden entfernt. Der Ursprungs-String wird um das Token gekuerzt.

Definition at line 246 of file colaa.cpp.

std::string colaa::getNextStringToken ( UINT8 rxData)

Isoliere das naechste String-Token. Es geht bis zu naechsten Leerzeichen; fuehrende Leerzeichen werden entfernt. Der Ursprungs-Buffer bleibt erhalten!

Definition at line 271 of file colaa.cpp.

bool colaa::GetNibble ( unsigned char  data,
unsigned char &  rNibble 
)

Definition at line 305 of file colaa.cpp.

Definition at line 27 of file colaa.cpp.

Definition at line 53 of file colaa.cpp.



sick_scan
Author(s): Michael Lehning , Jochen Sprickerhof , Martin Günther
autogenerated on Tue Jul 9 2019 05:05:35