Go to the documentation of this file.
35 #ifndef SICK_TIM3XX_COMMON_TCP_H
36 #define SICK_TIM3XX_COMMON_TCP_H
41 #include <boost/asio.hpp>
43 #undef NOMINMAX // to get rid off warning C4005: "NOMINMAX": Makro-Neudefinition
74 char cola_dialect_id);
118 virtual int sendSOPASCommand(
const char *request, std::vector<unsigned char> *reply,
int cmdLen);
129 get_datagram(
ros::Time &recvTimeStamp,
unsigned char *receiveBuffer,
int bufferSize,
int *actual_length,
130 bool isBinaryProtocol,
int *numberOfRemainingFifoEntries);
133 int readWithTimeout(
size_t timeout_ms,
char *buffer,
int buffer_size,
int *bytes_read = 0,
134 bool *exception_occured = 0,
bool isBinary =
false);
136 void handleRead(boost::system::error_code error,
size_t bytes_transfered);
159 boost::system::error_code
ec_;
void handleRead(boost::system::error_code error, size_t bytes_transfered)
UINT32 m_numberOfBytesInReceiveBuffer
Number of bytes in buffer.
void readCallbackFunction(UINT8 *buffer, UINT32 &numOfBytes)
virtual int sendSOPASCommand(const char *request, std::vector< unsigned char > *reply, int cmdLen)
Send a SOPAS command to the device and print out the response to the console.
UINT8 m_receiveBuffer[480000]
Low-Level receive buffer for all data.
static void disconnectFunctionS(void *obj)
Queue< DatagramWithTimeStamp > recvQueue
UINT32 m_numberOfBytesInResponseBuffer
Number of bytes in buffer.
boost::asio::ip::tcp::socket socket_
DatagramWithTimeStamp(ros::Time timeStamp_, std::vector< unsigned char > datagram_)
Mutex m_receiveDataMutex
Access mutex for buffer.
UINT8 m_responseBuffer[1024]
Receive buffer for everything except scan data and eval case data.
virtual int get_datagram(ros::Time &recvTimeStamp, unsigned char *receiveBuffer, int bufferSize, int *actual_length, bool isBinaryProtocol, int *numberOfRemainingFifoEntries)
Read a datagram from the device.
bool getEmulSensor()
get emulation flag (using emulation instead of "real" scanner - currently implemented for radar
virtual int init_device()
void setEmulSensor(bool _emulFlag)
Set emulation flag (using emulation instead of "real" scanner - currently implemented for radar.
virtual ~SickScanCommonTcp()
void disconnectFunction()
int readWithTimeout(size_t timeout_ms, char *buffer, int buffer_size, int *bytes_read=0, bool *exception_occured=0, bool isBinary=false)
SopasEventMessage findFrameInReceiveBuffer()
virtual int close_device()
UINT8 m_packetBuffer[480000]
UINT32 m_alreadyReceivedBytes
std::vector< unsigned char > datagram
void readCallbackFunctionOld(UINT8 *buffer, UINT32 &numOfBytes)
ros::Time const * timeStamp(const M &m)
boost::asio::io_service io_service_
boost::asio::deadline_timer deadline_
void processFrame(ros::Time timeStamp, SopasEventMessage &frame)
static void readCallbackFunctionS(void *obj, UINT8 *buffer, UINT32 &numOfBytes)
SickScanCommonTcp(const std::string &hostname, const std::string &port, int &timelimit, SickGenericParser *parser, char cola_dialect_id)
boost::asio::streambuf input_buffer_
boost::system::error_code ec_
Class that represents a message that was sent by a sensor. (Event message)
int numberOfDatagramInInputFifo()
void setReplyMode(int _mode)
sick_scan
Author(s): Michael Lehning
, Jochen Sprickerhof , Martin Günther
autogenerated on Thu Sep 8 2022 02:30:19