WIP, make class based and extended subscriber/publisher example compile for ros

This commit is contained in:
Thomas Gubler
2014-12-11 10:51:19 +01:00
parent a1685ed6d0
commit 173b1b2a8b
9 changed files with 50 additions and 19 deletions
@@ -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();
+4 -2
View File
@@ -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();
+4 -2
View File
@@ -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;
}