Index: firmware/App/Services/PIControllers.h =================================================================== diff -u -ra9315539f527b92523b1598ff91e47db4d71dae2 -r7104ce1a12799c5a3dff10c94cb191d409bc8244 --- firmware/App/Services/PIControllers.h (.../PIControllers.h) (revision a9315539f527b92523b1598ff91e47db4d71dae2) +++ firmware/App/Services/PIControllers.h (.../PIControllers.h) (revision 7104ce1a12799c5a3dff10c94cb191d409bc8244) @@ -53,14 +53,25 @@ NUM_OF_CONTROLLER_SIGNAL ///< Number of PI controller signals } PI_CONTROLLER_SIGNALS_ID; +typedef struct ControllerProfile +{ + F32 Kp; ///< Proportional Value. + F32 Ki; ///< Integral Value. + F32 uMin; ///< Minimum control signal. + F32 uMax; ///< Maximum control signal. +} PI_CONTROLLER_PROFILE_DATA_T; + + // ********** 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 runPIController( PI_CONTROLLER_ID_T controllerID, F32 referenceSignal, F32 measuredSignal ); F32 getPIControllerSignals( PI_CONTROLLER_ID_T controllerID, PI_CONTROLLER_SIGNALS_ID signalID ); +void setPIControlerProfile( PI_CONTROLLER_ID_T controllerID, F32 initialControlSignal, PI_CONTROLLER_PROFILE_DATA_T profile); + /**@}*/ #endif