Index: PIDControllers.h =================================================================== diff -u -r0ead56df33c1583486ca3a8f8eeeeadfa5f11eb5 -raa6bdd3bfc3bd8bc1a56670c2bdadc32c99b33c3 --- PIDControllers.h (.../PIDControllers.h) (revision 0ead56df33c1583486ca3a8f8eeeeadfa5f11eb5) +++ PIDControllers.h (.../PIDControllers.h) (revision aa6bdd3bfc3bd8bc1a56670c2bdadc32c99b33c3) @@ -36,7 +36,7 @@ // ********** public definitions ********** /// Enumeration of PID controllers. -typedef enum ControllerList +typedef enum ControllerListPID { #ifdef _TD_ PID_CONTROLLER_ID_BLOOD_FLOW, ///< Blood pump controller to target flow rate @@ -48,20 +48,20 @@ } PID_CONTROLLER_ID_T; /// Enumeration of PI controller signals. -typedef enum ControllerSignals +typedef enum ControllerSignalsPID { - CONTROLLER_SIGNAL_REFERENCE = 0, ///< Reference value - CONTROLLER_SIGNAL_MEASURED, ///< Measured value - CONTROLLER_SIGNAL_ERROR, ///< Error value - CONTROLLER_SIGNAL_ERROR_SUM, ///< Error sum before anti-windup - CONTROLLER_SIGNAL_ERROR_SUM_AFTER_WINDUP, ///< Error sum after anti-windup - CONTROLLER_SIGNAL_ERROR_PREVIOUS, ///< Previous error signal - CONTROLLER_SIGNAL_PROPORTIONAL_OUTPUT, ///< P portion of controller output signal - CONTROLLER_SIGNAL_INTEGRAL_OUTPUT, ///< I portion of controller output signal - CONTROLLER_SIGNAL_DERIVATIVE_OUTPUT, ///< D portion of controller output signal. - CONTROLLER_SIGNAL_FEEDFORWARD_OUTPUT, ///< Feed forward portion of controller output signal - CONTROLLER_SIGNAL_CONTROL, ///< Controller output signal - NUM_OF_CONTROLLER_SIGNAL ///< Number of PI controller signals + CONTROLLER_SIGNAL_PID_REFERENCE = 0, ///< Reference value + CONTROLLER_SIGNAL_PID_MEASURED, ///< Measured value + CONTROLLER_SIGNAL_PID_ERROR, ///< Error value + CONTROLLER_SIGNAL_PID_ERROR_SUM, ///< Error sum before anti-windup + CONTROLLER_SIGNAL_PID_ERROR_SUM_AFTER_WINDUP, ///< Error sum after anti-windup + CONTROLLER_SIGNAL_PID_ERROR_PREVIOUS, ///< Previous error signal + CONTROLLER_SIGNAL_PID_PROPORTIONAL_OUTPUT, ///< P portion of controller output signal + CONTROLLER_SIGNAL_PID_INTEGRAL_OUTPUT, ///< I portion of controller output signal + CONTROLLER_SIGNAL_PID_DERIVATIVE_OUTPUT, ///< D portion of controller output signal. + CONTROLLER_SIGNAL_PID_FEEDFORWARD_OUTPUT, ///< Feed forward portion of controller output signal + CONTROLLER_SIGNAL_PID_CONTROL, ///< Controller output signal + NUM_OF_CONTROLLER_SIGNAL_PID ///< Number of PI controller signals } PID_CONTROLLER_SIGNALS_ID; /// Data structure for PI control profiles. @@ -79,7 +79,7 @@ // ********** public function prototypes ********** void initializePIDController( PID_CONTROLLER_ID_T controllerID, F32 initialControlSignal, - F32 kP, F32 kI, F32 controlMin, F32 controlMax, + F32 kP, F32 kI, F32 kD, F32 controlMin, F32 controlMax, BOOL isFeedForwardEnabled, F32 feedFowardSignal ); void resetPIDController( PID_CONTROLLER_ID_T controllerID, F32 initialControlSignal, F32 feedFowardSignal ); F32 runPIDController( PID_CONTROLLER_ID_T controllerID, F32 referenceSignal, F32 measuredSignal );