aboutsummaryrefslogtreecommitdiff
path: root/src/modules/controllib/block/BlockParam.cpp
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2014-03-30 00:25:26 +0400
committerAnton Babushkin <anton.babushkin@me.com>2014-03-30 00:25:26 +0400
commitd2553bfd2930eb02664d564559fa361b80c63f61 (patch)
tree21cda568519c33a261edaaa9c370cc9ba9c7f466 /src/modules/controllib/block/BlockParam.cpp
parent0789189c0588ebebd24a523f9639411be89c6a9b (diff)
parent9b1de5004c673ebe8bdf68f1b518565cccd6b05b (diff)
downloadpx4-firmware-d2553bfd2930eb02664d564559fa361b80c63f61.tar.gz
px4-firmware-d2553bfd2930eb02664d564559fa361b80c63f61.tar.bz2
px4-firmware-d2553bfd2930eb02664d564559fa361b80c63f61.zip
Merge branch 'master' into offboard2
Diffstat (limited to 'src/modules/controllib/block/BlockParam.cpp')
-rw-r--r--src/modules/controllib/block/BlockParam.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/modules/controllib/block/BlockParam.cpp b/src/modules/controllib/block/BlockParam.cpp
index fd12e365d..8f98da74f 100644
--- a/src/modules/controllib/block/BlockParam.cpp
+++ b/src/modules/controllib/block/BlockParam.cpp
@@ -76,4 +76,29 @@ BlockParamBase::BlockParamBase(Block *parent, const char *name, bool parent_pref
printf("error finding param: %s\n", fullname);
};
+template <class T>
+BlockParam<T>::BlockParam(Block *block, const char *name,
+ bool parent_prefix) :
+ BlockParamBase(block, name, parent_prefix),
+ _val() {
+ update();
+}
+
+template <class T>
+T BlockParam<T>::get() { return _val; }
+
+template <class T>
+void BlockParam<T>::set(T val) { _val = val; }
+
+template <class T>
+void BlockParam<T>::update() {
+ if (_handle != PARAM_INVALID) param_get(_handle, &_val);
+}
+
+template <class T>
+BlockParam<T>::~BlockParam() {};
+
+template class __EXPORT BlockParam<float>;
+template class __EXPORT BlockParam<int>;
+
} // namespace control