Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -r34ed52c598042fdcfa5526e3b1d46fa09b040199 -r60fc5c7ec72369efa1efc8f3afce85ef8c87e931 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 34ed52c598042fdcfa5526e3b1d46fa09b040199) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 60fc5c7ec72369efa1efc8f3afce85ef8c87e931) @@ -275,8 +275,6 @@ *************************************************************************/ void stopPrimaryHeater( void ) { - setMainPrimaryHeaterPWM( HEATERS_MIN_DUTY_CYCLE ); - setSmallPrimaryHeaterPWM( HEATERS_MIN_DUTY_CYCLE ); isPrimaryHeaterOn = FALSE; } @@ -289,7 +287,6 @@ *************************************************************************/ void stopTrimmerHeater( void ) { - setTrimmerHeaterPWM( HEATERS_MIN_DUTY_CYCLE ); isTrimmerHeaterOn = FALSE; } @@ -712,6 +709,8 @@ // Switch to off state. Set the duty cycles to 0 mainPrimaryHeaterDutyCycle = HEATERS_MIN_DUTY_CYCLE; smallPrimaryHeaterDutyCycle = HEATERS_MIN_DUTY_CYCLE; + setMainPrimaryHeaterPWM( HEATERS_MIN_DUTY_CYCLE ); + setSmallPrimaryHeaterPWM( HEATERS_MIN_DUTY_CYCLE ); state = PRIMARY_HEATERS_EXEC_STATE_OFF; } @@ -787,6 +786,7 @@ { // Set the duty cycle to 0 and switch to off state trimmerHeaterDutyCycle = HEATERS_MIN_DUTY_CYCLE; + setTrimmerHeaterPWM( HEATERS_MIN_DUTY_CYCLE ); state = TRIMMER_HEATER_EXEC_STATE_OFF; } Index: firmware/App/Controllers/TemperatureSensors.c =================================================================== diff -u -r34ed52c598042fdcfa5526e3b1d46fa09b040199 -r60fc5c7ec72369efa1efc8f3afce85ef8c87e931 --- firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 34ed52c598042fdcfa5526e3b1d46fa09b040199) +++ firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 60fc5c7ec72369efa1efc8f3afce85ef8c87e931) @@ -14,7 +14,8 @@ * @date (original) 08-Apr-2020 * ***************************************************************************/ -#include // For temperature calculation +#include // For temperature calculation +#include // For memset() #include "FPGA.h" #include "PersistentAlarm.h" Index: firmware/App/Modes/ModeRecirculate.c =================================================================== diff -u -rd7926685f2fe3086bab183166119f0965a192a69 -r60fc5c7ec72369efa1efc8f3afce85ef8c87e931 --- firmware/App/Modes/ModeRecirculate.c (.../ModeRecirculate.c) (revision d7926685f2fe3086bab183166119f0965a192a69) +++ firmware/App/Modes/ModeRecirculate.c (.../ModeRecirculate.c) (revision 60fc5c7ec72369efa1efc8f3afce85ef8c87e931) @@ -88,23 +88,18 @@ setValveState( VRC, VALVE_STATE_DRAIN_C_TO_NO ); setValveState( VDR, VALVE_STATE_DRAIN_C_TO_NO ); setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); - setROPumpTargetFlowRate( TARGET_RO_FLOW_RATE_L, TARGET_RO_PRESSURE_PSI ); + setROPumpTargetFlowRate( TARGET_FLUSH_LINES_RO_FLOW_RATE_L, TARGET_RO_PRESSURE_PSI ); signalDrainPumpHardStop(); + + stopPrimaryHeater(); + requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); // UV on turnOnUVReactor( INLET_UV_REACTOR ); turnOnUVReactor( OUTLET_UV_REACTOR ); - -#ifndef _VECTORCAST_ - { // TODO - test code to start the fan since we're turning the heater on - F32 fanPWM = 0.25; - etpwmSetCmpA( etpwmREG6, (U32)( (S32)( ( fanPWM * (F32)(etpwmREG6->TBPRD) ) + FLOAT_TO_INT_ROUNDUP_OFFSET ) ) ); - etpwmSetCmpB( etpwmREG6, (U32)( (S32)( ( fanPWM * (F32)(etpwmREG6->TBPRD) ) + FLOAT_TO_INT_ROUNDUP_OFFSET ) ) ); - } -#endif } /*********************************************************************//** Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -r3eb7c2e62c727be195cd937d49957db9d4ba83b4 -r60fc5c7ec72369efa1efc8f3afce85ef8c87e931 --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 3eb7c2e62c727be195cd937d49957db9d4ba83b4) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 60fc5c7ec72369efa1efc8f3afce85ef8c87e931) @@ -33,17 +33,6 @@ #include "AlarmDefs.h" -/// Alarm data types list. -typedef enum Alarm_Data_Types -{ - ALARM_DATA_TYPE_NONE = 0, ///< No data given - ALARM_DATA_TYPE_U32 = 1, ///< Alarm data is unsigned 32-bit integer type - ALARM_DATA_TYPE_S32 = 2, ///< Alarm data is signed 32-bit integer type - ALARM_DATA_TYPE_F32 = 3, ///< Alarm data is 32-bit floating point type - ALARM_DATA_TYPE_BOOL = 4, ///< Alarm data is 32-bit boolean type - NUM_OF_ALARM_DATA_TYPES ///< Total number of alarm data types -} ALARM_DATA_TYPES_T; - #pragma pack(push,4) /// Record structure for unsigned integer alarm data. typedef struct