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
34  read()
35  {
36  lcv.read();
37  value = median.update(lcv.value);
38  }
39 
42  float value = 0;
43  };
44 
45 } // namespace armarx::control::rt_filters
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::lcv
ethercat::LinearConvertedValue< T > lcv
Definition: MedianFilteredLinearConvertedValue.h:40
armarx::DefaultRapidXmlReaderNode
Definition: DefaultRapidXmlReader.h:36
armarx::control::ethercat::LinearConvertedValue
Brief description of class LinearConvertedValue.
Definition: LinearConvertedValue.h:43
armarx::control::rt_filters
Definition: AverageFilter.cpp:3
DataInterface.h
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::init
void init(T *raw, const DefaultRapidXmlReaderNode &node, float defaultValue=std::nan("1"), bool offsetBeforeFactor=true, const char *nameForDebugging="")
Definition: MedianFilteredLinearConvertedValue.h:23
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::MedianFilteredLinearConvertedValue
MedianFilteredLinearConvertedValue()=default
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::value
float value
Definition: MedianFilteredLinearConvertedValue.h:42
RtMedianFilter.h
armarx::control::rt_filters::MedianFilteredLinearConvertedValue
Definition: MedianFilteredLinearConvertedValue.h:11
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::read
void read()
Definition: MedianFilteredLinearConvertedValue.h:34
T
float T
Definition: UnscentedKalmanFilterTest.cpp:38
armarx::DefaultRapidXmlReaderNode::attribute_as
void attribute_as(const std::string &attrName, T &value) const
Definition: DefaultRapidXmlReader.h:239
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::operator=
MedianFilteredLinearConvertedValue & operator=(MedianFilteredLinearConvertedValue &&)=default
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::median
RtMedianFilter median
Definition: MedianFilteredLinearConvertedValue.h:41
armarx::control::rt_filters::RtMedianFilter::update
float update(float value)
Definition: RtMedianFilter.cpp:14
armarx::control::rt_filters::RtMedianFilter
Definition: RtMedianFilter.h:13