MedianFilteredLinearConvertedValue.h
Go to the documentation of this file.
1#pragma once
2
3
4// TODO: Should not depend on the whole ethercat library.
7
9{
10 template <typename T>
12 {
13 public:
21
22 void
23 init(T* raw,
24 const DefaultRapidXmlReaderNode& node,
25 float defaultValue = std::nan("1"),
26 bool offsetBeforeFactor = true,
27 const char* nameForDebugging = "")
28 {
29 lcv.init(raw, node, defaultValue, offsetBeforeFactor, nameForDebugging);
30 median = RtMedianFilter{node.attribute_as<std::size_t>("median_filter_width")};
31 }
32
33 void
35 {
36 lcv.read();
37 value = median.update(lcv.value);
38 }
39
42 float value = 0;
43 };
44
45} // namespace armarx::control::rt_filters
void attribute_as(const std::string &attrName, T &value) const
Brief description of class LinearConvertedValue.
MedianFilteredLinearConvertedValue(MedianFilteredLinearConvertedValue &&)=default
MedianFilteredLinearConvertedValue(const MedianFilteredLinearConvertedValue &)=default
void init(T *raw, const DefaultRapidXmlReaderNode &node, float defaultValue=std::nan("1"), bool offsetBeforeFactor=true, const char *nameForDebugging="")
MedianFilteredLinearConvertedValue & operator=(MedianFilteredLinearConvertedValue &&)=default
MedianFilteredLinearConvertedValue & operator=(const MedianFilteredLinearConvertedValue &)=default