Index: firmware/App/Services/PIControllers.c =================================================================== diff -u -r78c03fb021407eaf8d17dd0f74f6969443b397ce -r30f049651877229042e3f8700c8596e5b9a1e0f4 --- firmware/App/Services/PIControllers.c (.../PIControllers.c) (revision 78c03fb021407eaf8d17dd0f74f6969443b397ce) +++ firmware/App/Services/PIControllers.c (.../PIControllers.c) (revision 30f049651877229042e3f8700c8596e5b9a1e0f4) @@ -27,7 +27,7 @@ // ********** private definitions ********** -/// minimum integral coefficient - cannot be zero. +/// Minimum integral coefficient - cannot be zero. #define MIN_KI NEARLY_ZERO /// Record for PI controller. @@ -38,15 +38,15 @@ F32 uMax; ///< Maximum control signal. F32 uMin; ///< Minimum control signal. // -- PI's signals -- - F32 referenceSignal; ///< reference signal. - F32 measuredSignal; ///< measured signal. - F32 errorSignal; ///< reference - measured signal. - F32 errorSumBeforeWindUp; ///< error signal before windup correction. - F32 errorSum; ///< error integral after windup correction. - F32 controlSignal; ///< actual control signal. + F32 referenceSignal; ///< Reference signal. + F32 measuredSignal; ///< Measured signal. + F32 errorSignal; ///< Reference - measured signal. + F32 errorSumBeforeWindUp; ///< Error signal before windup correction. + F32 errorSum; ///< Error integral after windup correction. + F32 controlSignal; ///< Actual control signal. } PI_CONTROLLER_T; -#define SET_CONTROLLER( c, id ) ((c) = &piControllers[id]) ///< macro to set a local controller pointer to a given piController. +#define SET_CONTROLLER( c, id ) ((c) = &piControllers[id]) ///< Macro to set a local controller pointer to a given piController. // ********** private data ********** @@ -84,7 +84,7 @@ SET_CONTROLLER( controller, controllerID ); controller->Kp = kP; - if ( fabs( kI ) > MIN_KI ) // ensure kI is not zero + if ( fabs( kI ) > MIN_KI ) // Ensure kI is not zero { controller->Ki = kI; } @@ -156,15 +156,15 @@ controller->referenceSignal = referenceSignal; controller->measuredSignal = measuredSignal; - // calculate error signal + // Calculate error signal controller->errorSignal = fabs( referenceSignal ) - ( referenceSignal < 0.0 ? ( measuredSignal * -1.0 ) : measuredSignal ); controller->errorSum += controller->errorSignal; - // anti-windup + // Anti-windup controller->errorSumBeforeWindUp = controller->errorSum; - // calculate control signal + // Calculate control signal controlSignalBeforeWindup = ( controller->Kp * controller->errorSignal ) + ( controller->Ki * controller->errorSum ); controller->controlSignal = RANGE( controlSignalBeforeWindup, controller->uMin, controller->uMax ); - // handle anti-windup for i term + // Handle anti-windup for i term windupError = controlSignalBeforeWindup - controller->controlSignal; if ( fabs( windupError ) > NEARLY_ZERO ) { @@ -235,10 +235,10 @@ default: SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_PI_CTRL_INVALID_SIGNAL, (U32)signalID ) break; - } // end of switch + } // End of switch } else - { // invalid controller given + { // Invalid controller given SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_PI_CTRL_INVALID_CONTROLLER, (U32)controllerID ) }