Index: firmware/App/Controllers/DrainPump.c =================================================================== diff -u -r1abaeb395cb7ffb2cb0ea9c1ba65c353d9c416f8 -rbbd5ac2589c8093f681f2284367975ddd220b553 --- firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision 1abaeb395cb7ffb2cb0ea9c1ba65c353d9c416f8) +++ firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision bbd5ac2589c8093f681f2284367975ddd220b553) @@ -145,12 +145,10 @@ DRAIN_PUMP_MIN_DAC, DRAIN_PUMP_MAX_DAC ); // Initialize the persistent alarm for open loop RPM out of range - initPersistentAlarm( PERSISTENT_ALARM_DRAIN_PUMP_RPM_OUT_OF_RANGE, ALARM_ID_DRAIN_PUMP_RPM_OUT_OF_RANGE, TRUE, - OPEN_LOOP_RPM_OUT_OF_RANGE_TIME_OUT, OPEN_LOOP_RPM_OUT_OF_RANGE_TIME_OUT ); + initPersistentAlarm( ALARM_ID_DRAIN_PUMP_RPM_OUT_OF_RANGE, OPEN_LOOP_RPM_OUT_OF_RANGE_TIME_OUT, OPEN_LOOP_RPM_OUT_OF_RANGE_TIME_OUT ); // Initialize the persistent alarm for RPM not to be less than the min RPM when the pump is off - initPersistentAlarm( PERSISTENT_ALARM_DRAIN_PUMP_OFF_ERROR, ALARM_ID_DRAIN_PUMP_OFF_FAULT, TRUE, - SAFETY_SHUTDOWN_TIMEOUT, SAFETY_SHUTDOWN_TIMEOUT ); + initPersistentAlarm( ALARM_ID_DRAIN_PUMP_OFF_FAULT, SAFETY_SHUTDOWN_TIMEOUT, SAFETY_SHUTDOWN_TIMEOUT ); } /*********************************************************************//** @@ -162,7 +160,7 @@ * @details Outputs: drainPumpDAC, targetDrainPumpSpeed, drainPumpControlMode, * drainPumpControlModeSet * @param rpm new drain pump target RPM - * @return: TRUE if new target RPM is set, FALSE if not + * @return TRUE if new target RPM is set, FALSE if not *************************************************************************/ BOOL setDrainPumpTargetRPM( U32 rpm ) { @@ -194,7 +192,7 @@ * @details Outputs: targetDrainPumpDeltaPressure, hasClosedLoopBeenRequested, * drainPumpDAC, drainPumpControlMode, drainPumpControlModeSet * @param pressure new target drain pump outlet pressure - * @return: TRUE if new target speed is set, FALSE if not + * @return TRUE if new target speed is set, FALSE if not *************************************************************************/ BOOL setDrainPumpTargetOutletPressure( F32 pressure ) { @@ -254,33 +252,34 @@ // Convert speed ADC to RPM currentDrainPumpRPM = CONVERSION_COEFF / getFPGADrainPumpSpeed(); + // TODO this is disabled until RPM is calculated propely. // The RPM is only checked in open loop state that the pump is run at a fixed RPM. // The persistent alarm waits for a couple of seconds before raising an alarm, this is supposed to cover // when the pump is turned on and it takes a while to ramp up to target RPM. - if( drainPumpControlModeSet == PUMP_CONTROL_MODE_OPEN_LOOP ) + /*if( drainPumpControlModeSet == PUMP_CONTROL_MODE_OPEN_LOOP ) { U32 targetRPM = getTargetDrainPumpRPM(); F32 threshold = OPEN_LOOP_RPM_OUT_OF_RANGE * targetRPM; // Check if RPM is out of range. Using fabs since the read RPM can be above or below the target. BOOL isRPMOutOfRange = fabs( targetRPM - currentDrainPumpRPM ) > threshold; - checkPersistentAlarm( PERSISTENT_ALARM_DRAIN_PUMP_RPM_OUT_OF_RANGE, isRPMOutOfRange, currentDrainPumpRPM, threshold ); + checkPersistentAlarm( ALARM_ID_DRAIN_PUMP_RPM_OUT_OF_RANGE, isRPMOutOfRange, currentDrainPumpRPM, threshold ); } // Check if the pump is in off state and the RPM is greater than the minimum RPM if ( drainPumpState == DRAIN_PUMP_OFF_STATE ) { BOOL isRPMTooHigh = currentDrainPumpRPM > MIN_DRAIN_PUMP_RPM; - checkPersistentAlarm( PERSISTENT_ALARM_DRAIN_PUMP_OFF_ERROR, isRPMTooHigh, currentDrainPumpRPM, MIN_DRAIN_PUMP_RPM ); + checkPersistentAlarm( ALARM_ID_DRAIN_PUMP_OFF_FAULT, isRPMTooHigh, currentDrainPumpRPM, MIN_DRAIN_PUMP_RPM ); // If the off fault alarm has become active, trigger the safety shutdown if ( isAlarmActive( ALARM_ID_DRAIN_PUMP_OFF_FAULT ) ) { activateSafetyShutdown(); } - } + }*/ // Publish drain pump data on interval publishDrainPumpData(); @@ -291,7 +290,7 @@ * The execDrainPumpController function executes the drain pump controller. * @details Inputs: drainPumpState * @details Outputs: drainPumpState - * @return: none + * @return none *************************************************************************/ void execDrainPumpController( void ) { @@ -321,9 +320,9 @@ * @brief * The execDrainPumpSelfTest function executes the state machine for the drain * pump self-test. - * @detailsInputs: TODO FILL UP + * @details Inputs: TODO FILL UP * @details Outputs: TODO FILL UP - * @return: the current state of the Drain Pump self test. + * @return the current state of the Drain Pump self test. *************************************************************************/ SELF_TEST_STATUS_T execDrainPumpSelfTest( void ) { @@ -340,7 +339,7 @@ * RPM. * @details Inputs: targetDrainPumpRPM * @details Outputs: none - * @return: the current target drain pump RPM. + * @return the current target drain pump RPM. *************************************************************************/ U32 getTargetDrainPumpRPM( void ) { @@ -353,7 +352,7 @@ * delta pressure. * @details Inputs: targetDrainPumpOutletPressure * @details Outputs: none - * @return: the current target drain pump outlet pressure. + * @return the current target drain pump outlet pressure. *************************************************************************/ F32 getTargetDrainPumpOutletP( void ) { @@ -367,7 +366,7 @@ * @details Inputs: drainPumpControlModeSet, drainPumpDACSet, drainPumpDAC * hasClosedLoopBeenRequested * @details Outputs: drainPumpDACSet - * @return: next state for the controller state machine + * @return next state for the controller state machine *************************************************************************/ static DRAIN_PUMP_STATE_T handleDrainPumpOffState( void ) { @@ -411,7 +410,7 @@ * target state of the drain pump controller state machine. * @details Inputs: drainControlTimerCounter, drainPumpDACSet * @details Outputs: drainControlTimerCounter, drainPumpDACSet - * @return: next state of the controller state machine + * @return next state of the controller state machine *************************************************************************/ static DRAIN_PUMP_STATE_T handleDrainPumpControlToTargetState( void ) { @@ -467,7 +466,7 @@ * publication interval. * @details Inputs: drainPumpDataPublishInterval * @details Outputs: drainPumpDataPublishInterval - * @return: the current Drain pump data publication interval (in ms). + * @return the current Drain pump data publication interval (in ms). *************************************************************************/ static U32 getPublishDrainPumpDataInterval( void ) { @@ -487,7 +486,7 @@ * interval. * @details Inputs: drainPumpDataPublicationTimerCounter * @details Outputs: drainPumpDataPublicationTimerCounter - * @return: none + * @return none *************************************************************************/ static void publishDrainPumpData( void ) { @@ -520,7 +519,7 @@ * @details Inputs: drainPumpDataPublishInterval * @details Outputs: drainPumpDataPublishInterval * @param value override drain pump data publish interval with (in ms) - * @return: TRUE if override successful, FALSE if not + * @return TRUE if override successful, FALSE if not *************************************************************************/ BOOL testSetDrainPumpDataPublishIntervalOverride( U32 value ) { @@ -567,7 +566,7 @@ * @details Inputs: none * @details Outputs: none * @param value override target drain pump RPM - * @return: TRUE if override successful, FALSE if not + * @return TRUE if override successful, FALSE if not *************************************************************************/ BOOL testSetTargetDrainPumpRPM( U32 value ) {