Program Listing for File CoLa2ProtocolHandler.h
↰ Return to documentation for file (include/sick_safevisionary_base/CoLa2ProtocolHandler.h
)
// -- BEGIN LICENSE BLOCK ----------------------------------------------
// -- END LICENSE BLOCK ------------------------------------------------
#pragma once
#include "CoLaCommand.h"
#include "IProtocolHandler.h"
#include "ITransport.h"
namespace visionary {
class CoLa2ProtocolHandler : public IProtocolHandler
{
public:
CoLa2ProtocolHandler(ITransport& rTransport);
~CoLa2ProtocolHandler();
bool openSession(uint8_t sessionTimeout /*secs*/);
void closeSession();
// send cola cmd and receive cola response
CoLaCommand send(CoLaCommand cmd);
private:
ITransport& m_rTransport;
uint16_t m_ReqID;
uint32_t m_sessionID;
uint8_t calculateChecksum(const std::vector<uint8_t>& buffer);
uint16_t getReqId();
std::vector<std::uint8_t> createCoLa2Header();
};
} // namespace visionary