46 m_writer_ptr = std::make_shared<sick::data_processing::ReadWriteHelper>();
59 uint16_t prevSize = telegram.size();
60 telegram.resize(prevSize + 5);
61 return telegram.data() + prevSize;
80 ROS_WARN(
"Could not open Cola2 session");
87 uint8_t heartBeatTimeoutSeconds = 60;
88 m_writer_ptr->writeuint8_tBigEndian(data_ptr, heartBeatTimeoutSeconds, 0);
93 uint32_t clientID = 1;
94 m_writer_ptr->writeuint32_tBigEndian(data_ptr, clientID, 1);
bool processReply()
Processes the return from the sensor. Checks if the request was successful.
std::shared_ptr< sick::data_processing::ReadWriteHelper > m_writer_ptr
uint8_t getCommandType() const
Returns the command type.
Base class for commands. Defines the base interface and does the common tasks.
uint32_t getSessionID() const
Returns the current session ID.
void addTelegramData(sick::datastructure::PacketBuffer::VectorBuffer &telegram) const
Adds the data to the telegram.
void writeClientIdToDataPtr(uint8_t *&data_ptr) const
sick::cola2::Cola2Session & m_session
uint8_t getCommandMode() const
Returns the command mode.
void setSessionID(const uint32_t &session_id)
Sets the current session ID.
uint8_t * prepareTelegramAndGetDataPtr(sick::datastructure::PacketBuffer::VectorBuffer &telegram) const
bool canBeExecutedWithoutSessionID() const
Returns true since creating a new session is possible without a session ID.
void writeHeartbeatTimeoutToDataPtr(uint8_t *&data_ptr) const
uint32_t getSessionID() const
Returns the current session ID.
std::vector< uint8_t > VectorBuffer
Typedef for a vector buffer, to sort the incoming packets.
Establishes a cola2 session with a sensor and enables execution of commands in this session...
CreateSession(Cola2Session &session)
Constructor to create a new command to set up a new session.