rm_control
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
rm_imu_sensor_interface.h
Go to the documentation of this file.
1//
2// Created by yezi on 2022/10/4.
3//
4#pragma once
5
6#include <hardware_interface/imu_sensor_interface.h>
7
8namespace rm_control
9{
10class RmImuSensorHandle : public hardware_interface::ImuSensorHandle
11{
12public:
13 RmImuSensorHandle() = default;
14
15 RmImuSensorHandle(const hardware_interface::ImuSensorHandle& imu_sensor_handle, ros::Time* time_stamp)
16 : ImuSensorHandle(imu_sensor_handle), time_stamp_(time_stamp)
17 {
18 if (!time_stamp_)
19 {
20 throw hardware_interface::HardwareInterfaceException("Cannot create handle '" + imu_sensor_handle.getName() +
21 "'. Time stamp pointer is null");
22 }
23 }
24 ros::Time getTimeStamp()
25 {
26 assert(time_stamp_);
27 return *time_stamp_;
28 }
29
30private:
31 ros::Time* time_stamp_ = { nullptr };
32};
33
35 : public hardware_interface::HardwareResourceManager<RmImuSensorHandle, hardware_interface::DontClaimResources>
36{
37};
38} // namespace rm_control
Definition rm_imu_sensor_interface.h:11
RmImuSensorHandle(const hardware_interface::ImuSensorHandle &imu_sensor_handle, ros::Time *time_stamp)
Definition rm_imu_sensor_interface.h:15
ros::Time getTimeStamp()
Definition rm_imu_sensor_interface.h:24
Definition rm_imu_sensor_interface.h:36
Definition actuator_extra_interface.h:44