Program Listing for File sensing_subsystem.hpp
↰ Return to documentation for file (cosm/hal/ros/subsystem/sensing_subsystem.hpp
)
#pragma once
/*******************************************************************************
* Includes
******************************************************************************/
#include <utility>
#include "cosm/hal/subsystem/base_sensing_subsystem.hpp"
#include "cosm/hal/ros/subsystem/robot_available_sensors.hpp"
/*******************************************************************************
* Namespaces
******************************************************************************/
namespace cosm::hal::ros::subsystem {
/*******************************************************************************
* Class Definitions
******************************************************************************/
class sensing_subsystem :
public chsubsystem::base_sensing_subsystem<COSM_HAL_ROBOT_AVAILABLE_SENSORS> {
public:
explicit sensing_subsystem(sensor_map&& sensors)
: base_sensing_subsystem(std::move(sensors)) {}
COSM_HAL_SENSOR_ACCESSOR(chros::sensors::light_sensor, light);
COSM_HAL_SENSOR_ACCESSOR(chros::sensors::light_sensor, light, const);
COSM_HAL_SENSOR_ACCESSOR(chros::sensors::sonar_sensor, sonar);
COSM_HAL_SENSOR_ACCESSOR(chros::sensors::sonar_sensor, sonar, const);
COSM_HAL_SENSOR_ACCESSOR(chros::sensors::lidar_sensor, lidar);
COSM_HAL_SENSOR_ACCESSOR(chros::sensors::lidar_sensor, lidar, const);
COSM_HAL_SENSOR_ACCESSOR(chsensors::battery_sensor, battery);
COSM_HAL_SENSOR_ACCESSOR(chsensors::battery_sensor, battery, const);
COSM_HAL_SENSOR_ACCESSOR(chros::sensors::odometry_sensor, odometry);
COSM_HAL_SENSOR_ACCESSOR(chros::sensors::odometry_sensor, odometry, const);
COSM_HAL_SENSOR_ACCESSOR(chsensors::proximity_sensor, proximity);
COSM_HAL_SENSOR_ACCESSOR(chsensors::proximity_sensor, proximity, const);
COSM_HAL_SENSOR_ACCESSOR(chsensors::env_sensor, env);
COSM_HAL_SENSOR_ACCESSOR(chsensors::env_sensor, env, const);
};
} /* namespace cosm::hal::ros::subsystem */