Index: firmware/App/Controllers/DrainPump.c =================================================================== diff -u -ra7bf3ca23ea37a61000379facae628a31b3ecc59 -rf308cc4c35eab630ebbbde405cfe47d049afeafb --- firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision a7bf3ca23ea37a61000379facae628a31b3ecc59) +++ firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision f308cc4c35eab630ebbbde405cfe47d049afeafb) @@ -7,17 +7,15 @@ * * @file DrainPump.c * -* @author (last) Sean Nash -* @date (last) 08-Jul-2020 +* @author (last) Quang Nguyen +* @date (last) 22-Jul-2020 * * @author (original) Sean * @date (original) 08-Apr-2020 * ***************************************************************************/ -#ifndef _VECTORCAST_ - #include -#endif +#include #include "etpwm.h" #include "mibspi.h" @@ -32,6 +30,9 @@ #include "Timers.h" #include "Valves.h" #include "DrainPump.h" +#ifdef EMC_TEST_BUILD +#include "Heaters.h" +#endif /** * @addtogroup DrainPump @@ -120,7 +121,7 @@ * @details * Inputs : none * Outputs : targetDrainPumpPressure - * @param rpm : new target drain pump speed (in RPM). + * @param rpm new target drain pump speed (in RPM) * @return TRUE if new target speed is set, FALSE if not *************************************************************************/ BOOL setDrainPumpTargetSpeed( U32 rpm ) @@ -130,7 +131,11 @@ if ( ( 0 == rpm ) || ( ( rpm >= MIN_DRAIN_PUMP_RPM_TARGET ) && ( rpm <= MAX_DRAIN_PUMP_RPM_TARGET ) ) ) { - drainPumpDAC = (U32)((F32)rpm * DRP_SPEED_RPM_TO_ADC_FACTOR + FLOAT_TO_INT_ROUNDUP_OFFSET); +#ifdef EMC_TEST_BUILD + drainPumpDAC = (U32)((F32)2500 * DRP_SPEED_RPM_TO_ADC_FACTOR + FLOAT_TO_INT_ROUNDUP_OFFSET); +#else + drainPumpDAC = (U32)((F32)rpm * DRP_SPEED_RPM_TO_ADC_FACTOR + FLOAT_TO_INT_ROUNDUP_OFFSET); +#endif targetDrainPumpSpeed.data = rpm; drainPumpControlMode = PUMP_CONTROL_MODE_OPEN_LOOP; result = TRUE; @@ -196,7 +201,7 @@ break; default: - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_SOFTWARE_FAULT, 0, drainPumpState ) // TODO - replace 1st param with s/w fault enum + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, 0, drainPumpState ) // TODO - replace 1st param with s/w fault enum drainPumpState = DRAIN_PUMP_OFF_STATE; break; } @@ -224,6 +229,10 @@ setValveState( VRC, VALVE_STATE_DRAIN_C_TO_NO ); setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); setDrainPumpTargetSpeed( 1000 ); +#ifdef EMC_TEST_BUILD + setTrimmerHeaterTargetTemperature( 50.0 ); + startTrimmerHeater(); +#endif } #endif #endif @@ -264,7 +273,9 @@ { if ( drainPumpControlModeSet == PUMP_CONTROL_MODE_CLOSED_LOOP ) { +#ifndef EMC_TEST_BUILD // TODO - will drain pump have a closed loop? +#endif } drainControlTimerCounter = 0; } @@ -284,6 +295,9 @@ setValveState( VPI, VALVE_STATE_OPEN ); setValveState( VRC, VALVE_STATE_DRAIN_C_TO_NO ); setValveState( VPO, VALVE_STATE_FILL_C_TO_NC ); +#ifdef EMC_TEST_BUILD + stopTrimmerHeater(); +#endif result = DRAIN_PUMP_OFF_STATE; } #endif @@ -390,9 +404,7 @@ return result; } -/**@}*/ - /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/ @@ -405,7 +417,7 @@ * @details * Inputs : none * Outputs : drainPumpDataPublishInterval - * @param value : override RO pump data publish interval with (in ms) + * @param value override RO pump data publish interval with (in ms) * @return TRUE if override successful, FALSE if not *************************************************************************/ BOOL testSetDrainPumpDataPublishIntervalOverride( U32 value ) @@ -454,7 +466,7 @@ * @details * Inputs : none * Outputs : targetDrainPumpSpeed - * @param value : override target drain pump speed (in RPM) + * @param value override target drain pump speed (in RPM) * @return TRUE if override successful, FALSE if not *************************************************************************/ BOOL testSetTargetDrainPumpSpeedOverride( U32 value ) @@ -497,4 +509,4 @@ return result; } - +/**@}*/