Class Cola2Session
Defined in File Cola2Session.h
Class Documentation
-
class Cola2Session
A class representing a COLA2 session to handle send, receive and process telegrams synchronously in the format as specified by the SICK Cola2 protocol. This class is not thread-safe and works strictly sequential (one command after another).
Public Functions
-
explicit Cola2Session(communication::TCPClientPtr tcp_client)
Constructor of the Cola 2 Session object.
- Parameters:
tcp_client – Pointer on a TCPClient object.
-
Cola2Session() = delete
-
Cola2Session(const Cola2Session&) = delete
-
Cola2Session &operator=(const Cola2Session&) = delete
-
void sendCommand(Command &cmd, sick::types::time_duration_t timeout = boost::posix_time::seconds(5))
A blocking operation sends a COLA2 command as telegram to the connected sensor. Throws an exception if the timeout is exceeded.
- Parameters:
cmd – The command to send via COLA2 to the sensor.
timeout – The timeout on a single send/receive socket operation. This is not the overall timeout limit but guarantees the synchronous send/receive operations not to wait forever.
-
boost::optional<uint32_t> getSessionID() const
Get the current session ID, if available.
- Returns:
boost::optional<uint32_t> Returns the sessionID wrapped as optional value.
-
uint16_t getNextRequestID()
Get the next possible requestID. This increments the internal counter by one.
- Returns:
uint16_t Returns an incremented request ID.
-
void setSessionID(uint32_t session_id)
Set the Session I D object.
- Parameters:
session_id –
-
void open()
Opens a COLA2 session.
-
void close()
Closes the current COLA2 session. If no session is opened, the function will return silently without raising an exception.
-
explicit Cola2Session(communication::TCPClientPtr tcp_client)