fastcat 0.13.15
C++ EtherCAT Device Command & Control Library
Loading...
Searching...
No Matches
function.h
Go to the documentation of this file.
1#ifndef FASTCAT_FUNCTION_H_
2#define FASTCAT_FUNCTION_H_
3
4// Include related header (for cc files)
5
6// Include c then c++ libraries
7
8// Include external then project includes
9#include "fastcat/device_base.h"
10
11namespace fastcat
12{
22FunctionType FunctionTypeFromString(const std::string&);
23
24typedef struct {
25 int order = 0;
27
28typedef struct {
29 double exponent;
31
32typedef struct {
33 double base;
35
36class Function : public DeviceBase
37{
38 public:
39 Function();
40 bool ConfigFromYaml(const YAML::Node& node) override;
41 bool Read() override;
42
43 protected:
46
47 std::vector<double> polynomial_coefficients_;
48 union {
52 };
53};
54
55} // namespace fastcat
56
57#endif
Definition device_base.h:20
Definition function.h:37
std::vector< double > polynomial_coefficients_
Definition function.h:47
PowerParams power_params_
Definition function.h:50
std::string function_type_string_
Definition function.h:44
enum FunctionType function_type_
Definition function.h:45
ExponentialParams exponential_params_
Definition function.h:51
Function()
Definition function.cc:12
bool ConfigFromYaml(const YAML::Node &node) override
Definition function.cc:38
PolynomialParams polynomial_params_
Definition function.h:49
bool Read() override
Definition function.cc:157
Definition device_base.h:18
FunctionType
Definition function.h:13
@ BAD_FUNCTION_TYPE
Definition function.h:20
@ SUMMATION
Definition function.h:15
@ EXPONENTIAL
Definition function.h:18
@ MULTIPLICATION
Definition function.h:16
@ SIGMOID
Definition function.h:19
@ POWER
Definition function.h:17
@ POLYNOMIAL
Definition function.h:14
FunctionType FunctionTypeFromString(const std::string &)
Definition function.cc:18
Definition function.h:32
double base
Definition function.h:33
Definition function.h:24
Definition function.h:28
double exponent
Definition function.h:29