mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-23 12:57:34 +08:00
WIP, make class based and extended subscriber/publisher example compile for ros
This commit is contained in:
@@ -41,6 +41,8 @@
|
||||
|
||||
#include "publisher_example.h"
|
||||
|
||||
using namespace px4;
|
||||
|
||||
PublisherExample::PublisherExample() :
|
||||
_n(),
|
||||
_rc_channels_pub(PX4_ADVERTISE(_n, rc_channels))
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
* @author Thomas Gubler <thomasgubler@gmail.com>
|
||||
*/
|
||||
#include <px4.h>
|
||||
|
||||
class PublisherExample {
|
||||
public:
|
||||
PublisherExample();
|
||||
|
||||
@@ -51,6 +51,7 @@ using namespace px4;
|
||||
|
||||
PX4_MAIN_FUNCTION(publisher);
|
||||
|
||||
#if !defined(__linux) && !(defined(__APPLE__) && defined(__MACH__))
|
||||
extern "C" __EXPORT int publisher_main(int argc, char *argv[])
|
||||
{
|
||||
px4::init(argc, argv, "publisher");
|
||||
@@ -98,15 +99,16 @@ extern "C" __EXPORT int publisher_main(int argc, char *argv[])
|
||||
warnx("unrecognized command");
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
PX4_MAIN_FUNCTION(publisher)
|
||||
{
|
||||
warnx("starting");
|
||||
PX4_INFO("starting");
|
||||
PublisherExample p;
|
||||
thread_running = true;
|
||||
p.main();
|
||||
|
||||
warnx("exiting.");
|
||||
PX4_INFO("exiting.");
|
||||
thread_running = false;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -76,7 +76,8 @@ SubscriberExample::SubscriberExample() :
|
||||
* Also the current value of the _sub_rc_chan subscription is printed
|
||||
*/
|
||||
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,
|
||||
((SubscriberPX4<PX4_TOPIC_T(rc_channels)> *)_sub_rc_chan)->timestamp_last_valid);
|
||||
//XXX
|
||||
// PX4_INFO("Subscriber callback: [%llu], value of _sub_rc_chan: [%llu]",
|
||||
// msg.timestamp_last_valid,
|
||||
// ((SubscriberPX4<PX4_TOPIC_T(rc_channels)> *)_sub_rc_chan)->timestamp_last_valid);
|
||||
}
|
||||
|
||||
@@ -38,6 +38,9 @@
|
||||
* @author Thomas Gubler <thomasgubler@gmail.com>
|
||||
*/
|
||||
#include <px4.h>
|
||||
|
||||
using namespace px4;
|
||||
|
||||
class SubscriberExample {
|
||||
public:
|
||||
SubscriberExample();
|
||||
|
||||
@@ -51,6 +51,7 @@ using namespace px4;
|
||||
|
||||
PX4_MAIN_FUNCTION(subscriber);
|
||||
|
||||
#if !defined(__linux) && !(defined(__APPLE__) && defined(__MACH__))
|
||||
extern "C" __EXPORT int subscriber_main(int argc, char *argv[])
|
||||
{
|
||||
if (argc < 1) {
|
||||
@@ -96,17 +97,18 @@ extern "C" __EXPORT int subscriber_main(int argc, char *argv[])
|
||||
warnx("unrecognized command");
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
PX4_MAIN_FUNCTION(subscriber)
|
||||
{
|
||||
px4::init(argc, argv, "subscriber");
|
||||
|
||||
warnx("starting");
|
||||
PX4_INFO("starting");
|
||||
SubscriberExample s;
|
||||
thread_running = true;
|
||||
s.spin();
|
||||
|
||||
warnx("exiting.");
|
||||
PX4_INFO("exiting.");
|
||||
thread_running = false;
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user