Index: PIControllers.h =================================================================== diff -u -rf0ab3bcd54c50c199bfa9c7bf435f4c2c8e7f29f -re36314e77be984668ded42e1af9aefc54b60c677 --- PIControllers.h (.../PIControllers.h) (revision f0ab3bcd54c50c199bfa9c7bf435f4c2c8e7f29f) +++ PIControllers.h (.../PIControllers.h) (revision e36314e77be984668ded42e1af9aefc54b60c677) @@ -25,7 +25,7 @@ #include "DDCommon.h" #endif #ifdef _RO_ -#include "ROCommon.h" +#include "FPCommon.h" #endif /** @@ -41,15 +41,20 @@ /// Enumeration of PI controllers. typedef enum ControllerList { +#ifdef _TD_ + PI_CONTROLLER_ID_BLOOD_FLOW, ///< Blood pump controller to target flow rate +#endif #ifdef _DD_ PI_CONTROLLER_ID_D12_PUMP, ///< Fresh dialysate Pump controller PI_CONTROLLER_ID_D48_PUMP, ///< Spent dialysate Pump controller PI_CONTROLLER_ID_D5_HEAT, ///< Primary heater controller PI_CONTROLLER_ID_D45_HEAT, ///< Trimmer heater controller #endif #ifdef _RO_ - PI_CONTROLLER_ID_RO_PUMP_FLOW = 0, ///< RO Pump controller to flow - PI_CONTROLLER_ID_RO_PUMP_MAX_PRES, ///< RO pump controller to maximum pressure + PI_CONTROLLER_ID_RO_PUMP_FLOW, ///< RO Pump controller to flow + PI_CONTROLLER_ID_RO_PUMP_PRES, ///< RO pump controller to maximum pressure + PI_CONTROLLER_ID_BOOST_PUMP_FLOW, ///< Boost pump controller to flow + PI_CONTROLLER_ID_BOOST_PUMP_PRES, ///< Boost pump controller to maximum pressure #endif NUM_OF_PI_CONTROLLERS_IDS ///< Number of PI controllers } PI_CONTROLLER_ID_T; @@ -64,6 +69,7 @@ CONTROLLER_SIGNAL_ERROR_SUM_AFTER_WINDUP, ///< Error sum after anti-windup CONTROLLER_SIGNAL_PROPORTIONAL_OUTPUT, ///< P portion of controller output signal CONTROLLER_SIGNAL_INTEGRAL_OUTPUT, ///< I 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 } PI_CONTROLLER_SIGNALS_ID; @@ -82,8 +88,9 @@ // ********** public function prototypes ********** void initializePIController( PI_CONTROLLER_ID_T controllerID, F32 initialControlSignal, - F32 kP, F32 kI, F32 controlMin, F32 controlMax ); -void resetPIController( PI_CONTROLLER_ID_T controllerID, F32 initialControlSignal ); + F32 kP, F32 kI, F32 controlMin, F32 controlMax, + BOOL isFeedForwardEnabled, F32 feedFowardSignal ); +void resetPIController( PI_CONTROLLER_ID_T controllerID, F32 initialControlSignal, F32 feedFowardSignal ); F32 runPIController( PI_CONTROLLER_ID_T controllerID, F32 referenceSignal, F32 measuredSignal ); F32 getPIControllerSignals( PI_CONTROLLER_ID_T controllerID, PI_CONTROLLER_SIGNALS_ID signalID ); void setPIControllerStepLimit( PI_CONTROLLER_ID_T controllerID, F32 stepLimit );