Program Listing for File ParseMeasurementCurrentConfigData.h
↰ Return to documentation for file (/tmp/ws/src/sick_safetyscanners_base/include/sick_safetyscanners_base/data_processing/ParseMeasurementCurrentConfigData.h
)
// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
// -- BEGIN LICENSE BLOCK ----------------------------------------------
// -- END LICENSE BLOCK ------------------------------------------------
//----------------------------------------------------------------------
//----------------------------------------------------------------------
#ifndef SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSEMEASUREMENTCURRENTCONFIGDATA_H
#define SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSEMEASUREMENTCURRENTCONFIGDATA_H
#include "sick_safetyscanners_base/datastructure/ConfigData.h"
#include "sick_safetyscanners_base/datastructure/Data.h"
#include "sick_safetyscanners_base/datastructure/PacketBuffer.h"
#include <boost/asio/ip/address_v4.hpp>
#include "sick_safetyscanners_base/data_processing/ReadWriteHelper.hpp"
namespace sick {
namespace data_processing {
class ParseMeasurementCurrentConfigData
{
public:
ParseMeasurementCurrentConfigData();
bool parseTCPSequence(const datastructure::PacketBuffer& buffer,
datastructure::ConfigData& config_data) const;
private:
std::string readVersionIndicator(std::vector<uint8_t>::const_iterator data_ptr) const;
uint8_t readMajorNumber(std::vector<uint8_t>::const_iterator data_ptr) const;
uint8_t readMinorNumber(std::vector<uint8_t>::const_iterator data_ptr) const;
uint8_t readReleaseNumber(std::vector<uint8_t>::const_iterator data_ptr) const;
bool readEnabled(std::vector<uint8_t>::const_iterator data_ptr) const;
uint8_t readInterfaceType(std::vector<uint8_t>::const_iterator data_ptr) const;
boost::asio::ip::address_v4 readHostIp(std::vector<uint8_t>::const_iterator data_ptr) const;
uint16_t readHostPort(std::vector<uint8_t>::const_iterator data_ptr) const;
uint16_t readPublishingFreq(std::vector<uint8_t>::const_iterator data_ptr) const;
uint32_t readEndAngle(std::vector<uint8_t>::const_iterator data_ptr) const;
uint32_t readStartAngle(std::vector<uint8_t>::const_iterator data_ptr) const;
uint16_t readFeatures(std::vector<uint8_t>::const_iterator data_ptr) const;
uint16_t readDerivedMultiplicationFactor(std::vector<uint8_t>::const_iterator data_ptr) const;
uint16_t readDerivedNumBeams(std::vector<uint8_t>::const_iterator data_ptr) const;
uint16_t readDerivedScanTime(std::vector<uint8_t>::const_iterator data_ptr) const;
uint32_t readDerivedStartAngle(std::vector<uint8_t>::const_iterator data_ptr) const;
uint32_t readDerivedAngularBeamResolution(std::vector<uint8_t>::const_iterator data_ptr) const;
uint32_t readDerivedInterbeamPeriod(std::vector<uint8_t>::const_iterator data_ptr) const;
};
} // namespace data_processing
} // namespace sick
#endif // SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSEMEASUREMENTCURRENTCONFIGDATA_H