11 float update(
float setpoint,
float process_value);
29 int derivative_samples_ = 1;
32 int output_samples_ = 1;
34 float threshold_low_ = 0.0f;
35 float threshold_high_ = 0.0f;
36 float kp_multiplier_ = 0.0f;
37 float ki_multiplier_ = 0.0f;
38 float kd_multiplier_ = 0.0f;
39 int deadband_output_samples_ = 1;
41 float min_integral_ = NAN;
42 float max_integral_ = NAN;
47 float proportional_term_;
49 float derivative_term_;
51 void calculate_proportional_term_();
52 void calculate_integral_term_();
53 void calculate_derivative_term_(
float setpoint);
58 float calculate_relative_time_();
61 float previous_error_ = 0;
62 float previous_setpoint_ = NAN;
64 float accumulated_integral_ = 0;