Program Listing for File SickSafetyscannersRos2.h
↰ Return to documentation for file (include/sick_safetyscanners2/SickSafetyscannersRos2.h)
// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
// -- BEGIN LICENSE BLOCK ----------------------------------------------
// -- END LICENSE BLOCK ------------------------------------------------
//----------------------------------------------------------------------
//----------------------------------------------------------------------
#ifndef SICK_SAFETYSCANNERS2_SICKSAFETYSCANNERSROS2_H
#define SICK_SAFETYSCANNERS2_SICKSAFETYSCANNERSROS2_H
#include <sick_safetyscanners_base/SickSafetyscanners.h>
#include <sick_safetyscanners_base/Types.h>
#include <sick_safetyscanners_base/datastructure/Data.h>
#include <sick_safetyscanners2_interfaces/msg/extended_laser_scan.hpp>
#include <sick_safetyscanners2_interfaces/msg/output_paths.hpp>
#include <sick_safetyscanners2_interfaces/srv/field_data.hpp>
#include <sick_safetyscanners2/utils/Conversions.h>
#include <sick_safetyscanners2/utils/MessageCreator.h>
#include <rclcpp/rclcpp.hpp>
#include <sensor_msgs/msg/laser_scan.hpp>
#include <string>
#include "./SickSafetyscanners.hpp"
namespace sick {
class SickSafetyscannersRos2 : public rclcpp::Node, public SickSafetyscanners {
public:
SickSafetyscannersRos2();
private:
// Publishers
rclcpp::Publisher<sick_safetyscanners2_interfaces::msg::ExtendedLaserScan>::
SharedPtr m_extended_laser_scan_publisher;
rclcpp::Publisher<sensor_msgs::msg::LaserScan>::SharedPtr
m_laser_scan_publisher;
rclcpp::Publisher<sick_safetyscanners2_interfaces::msg::OutputPaths>::
SharedPtr m_output_paths_publisher;
rclcpp::Publisher<sick_safetyscanners2_interfaces::msg::RawMicroScanData>::
SharedPtr m_raw_data_publisher;
// Services
rclcpp::Service<sick_safetyscanners2_interfaces::srv::FieldData>::SharedPtr
m_field_data_service;
// Callback function passed to the device for handling the received packages
void receiveUDPPaket(const sick::datastructure::Data &data);
};
} // namespace sick
#endif // SICK_SAFETYSCANNERS2_SICKSAFETYSCANNERSROS2_H