// Constructor AC_PI_2D::AC_PI_2D(float initial_p, float initial_i, float initial_imax, float initial_filt_hz, float dt) : _dt(dt) { // load parameter values from eeprom AP_Param::setup_object_defaults(this, var_info); _kp = initial_p; _ki = initial_i; _imax = fabsf(initial_imax); filt_hz(initial_filt_hz); // reset input filter to first value received _flags._reset_filter = true; }
// Constructor AC_PID::AC_PID(float initial_p, float initial_i, float initial_d, float initial_imax, float initial_filt_hz, float dt) : _dt(dt), _integrator(0.0f), _input(0.0f), _derivative(0.0f) { // load parameter values from eeprom AP_Param::setup_object_defaults(this, var_info); _kp = initial_p; _ki = initial_i; _kd = initial_d; _imax = fabs(initial_imax); filt_hz(initial_filt_hz); // reset input filter to first value received _flags._reset_filter = true; }