From bc8efeb73eaa77c1835823d96ca5d8ca2a76b24d Mon Sep 17 00:00:00 2001 From: Thomas Gubler Date: Sun, 8 Feb 2015 14:10:57 +0100 Subject: add param api also for firmware builds --- src/platforms/px4_parameter.h | 40 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) (limited to 'src/platforms') diff --git a/src/platforms/px4_parameter.h b/src/platforms/px4_parameter.h index 464a84f51..6b5453d77 100644 --- a/src/platforms/px4_parameter.h +++ b/src/platforms/px4_parameter.h @@ -43,6 +43,7 @@ #include #else /* includes when building for NuttX */ +#include #endif namespace px4 @@ -96,7 +97,6 @@ public: /** * Update the parameter value - * Nothing to do for ROS */ T update() { @@ -113,11 +113,45 @@ public: } }; +#else +template +class Parameter : + public ParameterBase +{ +public: + Parameter(const char *name, T value) : + ParameterBase(name, value), + _handle(param_find(name)) + { + } + ~Parameter() {}; -#else + /** + * Update the parameter value + */ + T update() + { + if (_handle != PARAM_INVALID) { + param_get(_handle, &(this->_value)); + } + return get(); + } + + /** + * Get the current parameter value + */ + T get() + { + return this->_value; + } + +protected: + param_t _handle; + +}; #endif -typedef Parameter ParameterFloat; +typedef Parameter ParameterFloat; typedef Parameter ParameterInt; } -- cgit v1.2.3