Index: firmware/App/Modes/ModeChemicalDisinfect.c =================================================================== diff -u -rc914eb443ee2679eb9fe3668119058ccc578437d -r622eebf6fb7f1c6c232ffd82bc072dd30a7b3f94 --- firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision c914eb443ee2679eb9fe3668119058ccc578437d) +++ firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision 622eebf6fb7f1c6c232ffd82bc072dd30a7b3f94) @@ -20,6 +20,7 @@ #include "DrainPump.h" #include "Heaters.h" #include "LoadCell.h" +#include "MessageSupport.h" #include "ModeChemicalDisinfect.h" #include "ModeFault.h" #include "ModeStandby.h" @@ -221,13 +222,15 @@ * chemical disinfect mode. * @details Inputs: none * @details Outputs: chemical disisnfect mode variables are reset - * @return none + * @return initial state *************************************************************************/ -void transitionToChemicalDisinfectMode( void ) +U32 transitionToChemicalDisinfectMode( void ) { deenergizeActuators(); initChemicalDisinfectMode(); + + return chemDisinfectState; } /*********************************************************************//** @@ -819,7 +822,7 @@ { rsrvr2Status = getRsrvrFillStatus( DG_RESERVOIR_2, RSRVRS_FULL_VOL_ML, RSRVRS_FILL_UP_TIMEOUT_MS ); - U32 drainPumpRPM = getTargetDrainPumpRPM(); + U32 drainPumpRPM = getDrainPumpTargetRPM(); // Keep monitoring the status of reservoir 1 as the same time F32 volume = getLoadCellSmallFilteredWeight( LOAD_CELL_RESERVOIR_1_PRIMARY ); // Reservoir 1 cannot be filled before reservoir 2 is filled and is overflowing to reservoir 1. If reservoir 1 has already @@ -1004,8 +1007,8 @@ setROPumpTargetFlowRate( RO_PUMP_TARGET_FLUSH_FILL_FLOW_RATE_LPM, MAX_RO_PUMP_FLUSH_FILL_PRESSURE_PSI ); // Start heating the water while we are filling up the reservoirs - setPrimaryHeaterTargetTemperature( CHEM_DISINFECT_TARGET_TEMPERATURE_C ); - startPrimaryHeater(); + setHeaterTargetTemperature( DG_PRIMARY_HEATER, CHEM_DISINFECT_TARGET_TEMPERATURE_C ); + startHeater( DG_PRIMARY_HEATER ); rsrvr1Status = DG_RESERVOIR_BELOW_TARGET; rsrvr2Status = DG_RESERVOIR_BELOW_TARGET; @@ -1264,7 +1267,7 @@ case CHEM_DISINFECT_COMPLETE: // Turn off the heaters // TODO turn off CP1 and CP2 - stopPrimaryHeater(); + stopHeater( DG_PRIMARY_HEATER ); stateTimer = getMSTimerCount(); state = DG_CHEM_DISINFECT_STATE_COOL_DOWN_HEATERS; break; @@ -1292,7 +1295,7 @@ signalDrainPumpHardStop(); signalROPumpHardStop(); - if ( 0 == getTargetDrainPumpRPM() ) + if ( 0 == getDrainPumpTargetRPM() ) { // De-energize all the valves that are not in the path anymore // and wait for the RO membrane to be cooled down. @@ -1506,7 +1509,7 @@ { rsrvr2Status = getRsrvrFillStatus( DG_RESERVOIR_2, RSRVRS_FULL_VOL_ML, RSRVRS_FILL_UP_TIMEOUT_MS ); - U32 drainPumpRPM = getTargetDrainPumpRPM(); + U32 drainPumpRPM = getDrainPumpTargetRPM(); // Keep monitoring the status of reservoir 1 as the same time F32 volume = getLoadCellSmallFilteredWeight( LOAD_CELL_RESERVOIR_1_PRIMARY ); // Reservoir 1 cannot be filled before reservoir 2 is filled and is overflowing to reservoir 1. If reservoir 1 has already @@ -1598,7 +1601,7 @@ { rsrvr1Status = getRsrvrFillStatus( DG_RESERVOIR_1, RSRVRS_FULL_VOL_ML, RSRVRS_FILL_UP_TIMEOUT_MS ); - U32 drainPumpRPM = getTargetDrainPumpRPM(); + U32 drainPumpRPM = getDrainPumpTargetRPM(); // Keep monitoring the status of reservoir 2 as the same time F32 volume = getLoadCellSmallFilteredWeight( LOAD_CELL_RESERVOIR_2_PRIMARY ); // Reservoir 1 cannot be filled before reservoir 2 is filled and is overflowing to reservoir 1. If reservoir 1 has already @@ -2029,10 +2032,10 @@ data.chemDisinfectUIState = chemDisinfectUIState; // General data publish channel - broadcastChemicalDisinfectData( &data ); + broadcastData( MSG_ID_DG_CHEM_DISINFECT_DATA, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&data, sizeof( MODE_CHEMICAL_DISINFECT_DATA_T ) ); - // Data publish channel to UI - broadcastChemicalDisinfectData2UI( &uiData ); + // Publish data to UI + broadcastData( MSG_ID_DG_CHEM_DISINFECT_TIME_DATA, COMM_BUFFER_OUT_CAN_DG_2_UI, (U08*)&uiData, sizeof( MODE_CHEMICAL_DISINFECT_UI_DATA_T ) ); dataPublishCounter = 0; }