Index: PIControllers.h =================================================================== diff -u -rca1d590217b1bfd14f0e0682f88e04de076ff199 -r8d437a49a2eb86dfb38674f18a1e514998b3931f --- PIControllers.h (.../PIControllers.h) (revision ca1d590217b1bfd14f0e0682f88e04de076ff199) +++ PIControllers.h (.../PIControllers.h) (revision 8d437a49a2eb86dfb38674f18a1e514998b3931f) @@ -7,8 +7,8 @@ * * @file PIControllers.h * -* @author (last) Michael Garthwaite -* @date (last) 11-Sep-2025 +* @author (last) Vinayakam Mani +* @date (last) 14-Apr-2026 * * @author (original) Vinayakam Mani * @date (original) 07-Oct-2024 @@ -45,11 +45,14 @@ 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_D5_HEAT_OUTER_LOOP, ///< Primary heater controller outer loop PI_CONTROLLER_ID_D45_HEAT, ///< Trimmer heater controller 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 + PI_CONTROLLER_ID_BICARB_VOL, ///< Bicarb dose volume + PI_CONTROLLER_ID_ACID_VOL, ///< Acid dose volume #endif NUM_OF_PI_CONTROLLERS_IDS ///< Number of PI controllers } PI_CONTROLLER_ID_T; @@ -69,6 +72,20 @@ NUM_OF_CONTROLLER_SIGNAL ///< Number of PI controller signals } PI_CONTROLLER_SIGNALS_ID; +/// Data structure for debugging PI controller signals. +typedef struct DebugControllerSignals +{ + F32 controlSignalReference; ///< Reference value + F32 controlSignalMeasured; ///< Measured value + F32 controlSignalError; ///< Error value + F32 controlSignalErrorSum; ///< Error sum before anti-windup + F32 controlSignalErrorSumAfterWindup; ///< Error sum after anti-windup + F32 controlSignalProportionalOutput; ///< P portion of controller output signal + F32 controlSignalIntegralOutput; ///< I portion of controller output signal + F32 controlSignalFeedDorwardOutput; ///< Feed forward portion of controller output signal + F32 controlSingalControl; ///< Controller output signal + } PI_CONTROLLER_SIGNALS_DATA; + /// Data structure for PI control profiles. typedef struct { @@ -88,8 +105,10 @@ 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 ); +void setPIControllerFeedForward( PI_CONTROLLER_ID_T controllerID, F32 feedforward ); +PI_CONTROLLER_SIGNALS_DATA getDebugPIControllerSignals( PI_CONTROLLER_ID_T controllerID ); + /**@}*/ #endif