20 #include <std_msgs/UInt8.h> 21 #include <mavros_msgs/ESCStatusItem.h> 25 static const constexpr
double PERIOD_1 = 1500.0;
26 static const constexpr
double PERIOD_2 = 1500.0;
27 static const constexpr
double PERIOD_3 = 2000.0;
31 std::string base_name = topic;
32 auto rpm_name = base_name +
"_rpm";
33 auto status_name = base_name +
"_status";
42 std_msgs::UInt8 state_msg;
46 mavros_msgs::ESCStatusItem rpm_msg;
47 rpm_msg.rpm =
static_cast<int32_t
>(rpm);
82 double timeSinceRestartMs = timeElapsedMs -
PERIOD_1;
IceStatusSensor(ros::NodeHandle *nh, const char *topic, double period)
static const constexpr double PERIOD_2
void emulate_normal_mode(double rpm)
void start_stall_emulation()
static const constexpr double PERIOD_23
ros::NodeHandle * node_handler_
static const constexpr double STARTING_RPM
void estimate_state(double rpm)
void publish(const boost::shared_ptr< M > &message) const
static const constexpr double PERIOD_3
ros::Publisher _status_publisher
void emulate_stall_mode()
Publisher advertise(const std::string &topic, uint32_t queue_size, bool latch=false)
static const constexpr double WORKING_RPM
static const constexpr double PERIOD_1
void stop_stall_emulation()
ros::Publisher publisher_