aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--makefiles/toolchain_gnu-arm-eabi.mk40
-rw-r--r--src/examples/subscriber/subscriber_example.cpp11
-rw-r--r--src/examples/subscriber/subscriber_example.h5
-rw-r--r--src/platforms/px4_nodehandle.h27
-rw-r--r--src/platforms/px4_subscriber.h4
5 files changed, 50 insertions, 37 deletions
diff --git a/makefiles/toolchain_gnu-arm-eabi.mk b/makefiles/toolchain_gnu-arm-eabi.mk
index 396980453..d38ef645f 100644
--- a/makefiles/toolchain_gnu-arm-eabi.mk
+++ b/makefiles/toolchain_gnu-arm-eabi.mk
@@ -125,26 +125,26 @@ ARCHCXXFLAGS = -fno-exceptions -fno-rtti -std=gnu++0x -fno-threadsafe-statics
# Generic warnings
#
-ARCHWARNINGS = -Wall \
- -Wextra \
- -Werror \
- -Wdouble-promotion \
- -Wshadow \
- -Wfloat-equal \
- -Wframe-larger-than=1024 \
- -Wpointer-arith \
- -Wlogical-op \
- -Wmissing-declarations \
- -Wpacked \
- -Wno-unused-parameter \
- -Werror=format-security \
- -Werror=array-bounds \
- -Wfatal-errors \
- -Wformat=1 \
- -Werror=unused-but-set-variable \
- -Werror=unused-variable \
- -Werror=double-promotion \
- -Werror=reorder
+# ARCHWARNINGS = -Wall \
+ # -Wextra \
+ # -Werror \
+ # -Wdouble-promotion \
+ # -Wshadow \
+ # -Wfloat-equal \
+ # -Wframe-larger-than=1024 \
+ # -Wpointer-arith \
+ # -Wlogical-op \
+ # -Wmissing-declarations \
+ # -Wpacked \
+ # -Wno-unused-parameter \
+ # -Werror=format-security \
+ # -Werror=array-bounds \
+ # -Wfatal-errors \
+ # -Wformat=1 \
+ # -Werror=unused-but-set-variable \
+ # -Werror=unused-variable \
+ # -Werror=double-promotion \
+ # -Werror=reorder
# -Wcast-qual - generates spurious noreturn attribute warnings, try again later
# -Wconversion - would be nice, but too many "risky-but-safe" conversions in the code
# -Wcast-align - would help catch bad casts in some cases, but generates too many false positives
diff --git a/src/examples/subscriber/subscriber_example.cpp b/src/examples/subscriber/subscriber_example.cpp
index 9dea162e2..bc0975a2b 100644
--- a/src/examples/subscriber/subscriber_example.cpp
+++ b/src/examples/subscriber/subscriber_example.cpp
@@ -65,7 +65,8 @@ SubscriberExample::SubscriberExample() :
_n.subscribe<px4_rc_channels>(rc_channels_callback_function, _interval);
/* No callback */
- _sub_rc_chan = _n.subscribe<px4_rc_channels>(500);
+ // _sub_rc_chan = _n.subscribe<px4_rc_channels>(500);
+ _n.subscribe<px4_rc_channels>(500);
/* Class Method */
_n.subscribe<px4_rc_channels>(&SubscriberExample::rc_channels_callback, this, 1000);
@@ -73,6 +74,9 @@ SubscriberExample::SubscriberExample() :
/* Class Method 2 */
_n.subscribe<px4_vehicle_attitude>(&SubscriberExample::vehicle_attitude_callback, this, 1000);
+ /* Class Method 3 */
+ // _n.subscribe<px4_vehicle_rates_setpoint>(&SubscriberExample::vehicle_rates_setpoint_callback, this, 1000);
+
PX4_INFO("subscribed");
}
@@ -91,3 +95,8 @@ void SubscriberExample::vehicle_attitude_callback(const px4_vehicle_attitude &ms
PX4_INFO("Callback (method): [%llu]",
msg.data().timestamp);
}
+
+void SubscriberExample::vehicle_rates_setpoint_callback(const px4_vehicle_rates_setpoint &msg) {
+ PX4_INFO("Callback (method): [%llu]",
+ msg.data().timestamp);
+}
diff --git a/src/examples/subscriber/subscriber_example.h b/src/examples/subscriber/subscriber_example.h
index d9d7d3fc2..8af94a458 100644
--- a/src/examples/subscriber/subscriber_example.h
+++ b/src/examples/subscriber/subscriber_example.h
@@ -58,6 +58,7 @@ protected:
float _test_float;
px4::Subscriber<px4_rc_channels> * _sub_rc_chan;
- void rc_channels_callback(const px4_rc_channels &msg);
- void vehicle_attitude_callback(const px4_vehicle_attitude &msg);
+ __EXPORT void rc_channels_callback(const px4_rc_channels &msg);
+ __EXPORT void vehicle_attitude_callback(const px4_vehicle_attitude &msg);
+ __EXPORT void vehicle_rates_setpoint_callback(const px4_vehicle_rates_setpoint &msg);
};
diff --git a/src/platforms/px4_nodehandle.h b/src/platforms/px4_nodehandle.h
index 83a3e422d..70ec1cfe0 100644
--- a/src/platforms/px4_nodehandle.h
+++ b/src/platforms/px4_nodehandle.h
@@ -187,13 +187,14 @@ public:
*/
template<typename T>
- Subscriber<T> *subscribe(void(*fp)(const T &), unsigned interval)
+ // Subscriber<T> *subscribe(void(*fp)(const T &), unsigned interval)
+ void subscribe(void(*fp)(const T &), unsigned interval)
{
(void)interval;
SubscriberUORBCallback<T> *sub_px4 = new SubscriberUORBCallback<T>(interval, std::bind(fp, std::placeholders::_1));
- update_sub_min_interval(interval, sub_px4);
- _subs.add((SubscriberNode *)sub_px4);
- return (Subscriber<T> *)sub_px4;
+ // update_sub_min_interval(interval, sub_px4);
+ // _subs.add((SubscriberNode *)sub_px4);
+ // return (Subscriber<T> *)sub_px4;
}
/**
@@ -202,13 +203,14 @@ public:
* @param obj pointer class instance
*/
template<typename T, typename C>
- Subscriber<T> *subscribe(void(C::*fp)(const T &), C *obj, unsigned interval)
+ // Subscriber<T> *subscribe(void(C::*fp)(const T &), C *obj, unsigned interval)
+ void subscribe(void(C::*fp)(const T &), C *obj, unsigned interval)
{
(void)interval;
SubscriberUORBCallback<T> *sub_px4 = new SubscriberUORBCallback<T>(interval, std::bind(fp, obj, std::placeholders::_1));
- update_sub_min_interval(interval, sub_px4);
- _subs.add((SubscriberNode *)sub_px4);
- return (Subscriber<T> *)sub_px4;
+ // update_sub_min_interval(interval, sub_px4);
+ // _subs.add((SubscriberNode *)sub_px4);
+ // return (Subscriber<T> *)sub_px4;
}
/**
@@ -217,13 +219,14 @@ public:
*/
template<typename T>
- Subscriber<T> *subscribe(unsigned interval)
+ // Subscriber<T> *subscribe(unsigned interval)
+ void subscribe(unsigned interval)
{
(void)interval;
SubscriberUORB<T> *sub_px4 = new SubscriberUORB<T>(interval);
- update_sub_min_interval(interval, sub_px4);
- _subs.add((SubscriberNode *)sub_px4);
- return (Subscriber<T> *)sub_px4;
+ // update_sub_min_interval(interval, sub_px4);
+ // _subs.add((SubscriberNode *)sub_px4);
+ // return (Subscriber<T> *)sub_px4;
}
/**
diff --git a/src/platforms/px4_subscriber.h b/src/platforms/px4_subscriber.h
index 6ca35b173..9f32966dc 100644
--- a/src/platforms/px4_subscriber.h
+++ b/src/platforms/px4_subscriber.h
@@ -244,8 +244,8 @@ public:
*/
SubscriberUORBCallback(unsigned interval,
std::function<void(const T &)> cbf) :
- SubscriberUORB<T>(interval),
- _cbf(cbf)
+ SubscriberUORB<T>(interval)//,
+ // _cbf(cbf)
{}
virtual ~SubscriberUORBCallback() {};