mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-23 15:47:35 +08:00
added a messageplayer prototype for ros
This commit is contained in:
@@ -45,7 +45,8 @@ using namespace px4;
|
||||
|
||||
PublisherExample::PublisherExample() :
|
||||
_n(),
|
||||
_rc_channels_pub(PX4_ADVERTISE(_n, rc_channels))
|
||||
_rc_channels_pub(_n.advertise<px4_rc_channels>())
|
||||
// _rc_channels_pub(PX4_ADVERTISE(_n, rc_channels))
|
||||
{
|
||||
|
||||
}
|
||||
@@ -55,11 +56,19 @@ int PublisherExample::main()
|
||||
px4::Rate loop_rate(10);
|
||||
|
||||
while (px4::ok()) {
|
||||
PX4_TOPIC_T(rc_channels) msg;
|
||||
msg.timestamp_last_valid = px4::get_time_micros();
|
||||
PX4_INFO("%llu", msg.timestamp_last_valid);
|
||||
// PX4_TOPIC_T(rc_channels) msg;
|
||||
// msg.timestamp_last_valid = px4::get_time_micros();
|
||||
// PX4_INFO("%llu", msg.timestamp_last_valid);
|
||||
|
||||
// _rc_channels_pub->publish(msg);
|
||||
|
||||
//XXX
|
||||
px4_rc_channels msg2;
|
||||
msg2.data().timestamp_last_valid = px4::get_time_micros();
|
||||
PX4_INFO("%llu", msg2.data().timestamp_last_valid);
|
||||
// msg2.pub->publish2();
|
||||
_rc_channels_pub->publish(msg2);
|
||||
|
||||
_rc_channels_pub->publish(msg);
|
||||
|
||||
_n.spinOnce();
|
||||
loop_rate.sleep();
|
||||
|
||||
@@ -48,5 +48,6 @@ public:
|
||||
int main();
|
||||
protected:
|
||||
px4::NodeHandle _n;
|
||||
// px4::Publisher<px4::px4_rc_channels> * _rc_channels_pub;
|
||||
px4::Publisher * _rc_channels_pub;
|
||||
};
|
||||
|
||||
@@ -62,11 +62,13 @@ SubscriberExample::SubscriberExample() :
|
||||
|
||||
/* Do some subscriptions */
|
||||
/* Function */
|
||||
PX4_SUBSCRIBE(_n, rc_channels, rc_channels_callback_function, _interval);
|
||||
/* Class Method */
|
||||
PX4_SUBSCRIBE(_n, rc_channels, SubscriberExample::rc_channels_callback, this, 1000);
|
||||
/* No callback */
|
||||
_sub_rc_chan = PX4_SUBSCRIBE(_n, rc_channels, 500);
|
||||
// PX4_SUBSCRIBE(_n, rc_channels, rc_channels_callback_function, _interval);
|
||||
_n.subscribe<px4_rc_channels>(rc_channels_callback_function);
|
||||
|
||||
// [> Class Method <]
|
||||
// PX4_SUBSCRIBE(_n, rc_channels, SubscriberExample::rc_channels_callback, this, 1000);
|
||||
// [> No callback <]
|
||||
// _sub_rc_chan = PX4_SUBSCRIBE(_n, rc_channels, 500);
|
||||
|
||||
PX4_INFO("subscribed");
|
||||
}
|
||||
@@ -78,5 +80,5 @@ SubscriberExample::SubscriberExample() :
|
||||
void SubscriberExample::rc_channels_callback(const PX4_TOPIC_T(rc_channels) &msg) {
|
||||
PX4_INFO("Subscriber callback: [%llu], value of _sub_rc_chan: [%llu]",
|
||||
msg.timestamp_last_valid,
|
||||
_sub_rc_chan->get().timestamp_last_valid);
|
||||
_sub_rc_chan->get().data().timestamp_last_valid);
|
||||
}
|
||||
|
||||
@@ -56,7 +56,8 @@ protected:
|
||||
int32_t _interval;
|
||||
px4_param_t _p_test_float;
|
||||
float _test_float;
|
||||
px4::PX4_SUBSCRIBER(rc_channels) * _sub_rc_chan;
|
||||
// px4::PX4_SUBSCRIBER(rc_channels) * _sub_rc_chan;
|
||||
px4::Subscriber<px4_rc_channels> * _sub_rc_chan;
|
||||
|
||||
void rc_channels_callback(const PX4_TOPIC_T(rc_channels) &msg);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user