Index: firmware/App/Modes/ModeGenPermeate.c =================================================================== diff -u -rc6491e96503a221cd9524da289522afd3eb00b29 -r481046815efa75f40b70a4feb784e62527c812f7 --- firmware/App/Modes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision c6491e96503a221cd9524da289522afd3eb00b29) +++ firmware/App/Modes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision 481046815efa75f40b70a4feb784e62527c812f7) @@ -115,9 +115,10 @@ case RO_GENP_WATER_FULL_STATE: genPermeateState = handleGenPWaterFullState(); break; + default: - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_RO_SOFTWARE_FAULT, SW_FAULT_ID_RO_INVALID_GENP_STATE, state ) - break;: + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_RO_SOFTWARE_FAULT, SW_FAULT_ID_RO_INVALID_GENP_STATE, genPermeateState ) + break; } //Publish Gen permeate mode data @@ -143,6 +144,7 @@ case RO_GENP_STATE_START: // Do nothing break; + case RO_GENP_WATER_LOW_STATE: setValveState( M4_VALV,VALVE_STATE_OPEN ); setValveState( M7_VALV,VALVE_STATE_CLOSED ); @@ -151,6 +153,7 @@ setValveState( P11_VALV, VALVE_STATE_OPEN ); stateDelayTime = getMSTimerCount(); break; + case RO_GENP_WATER_FULL_STATE: //set setValveState( M4_VALV,VALVE_STATE_CLOSED ); @@ -160,6 +163,7 @@ setValveState( P11_VALV, VALVE_STATE_CLOSED ); stateDelayTime = getMSTimerCount(); break; + default: SET_ALARM_WITH_2_U32_DATA( ALARM_ID_RO_SOFTWARE_FAULT, SW_FAULT_ID_RO_INVALID_GENP_STATE, state ) break; @@ -211,7 +215,7 @@ state = RO_GENP_WATER_FULL_STATE; } - else if ( LEVEL_STATE_MEDIUM <= level ) + else if ( level <= LEVEL_STATE_MEDIUM ) { // expected state. No action required. // If level is low we still want to fill. @@ -237,7 +241,7 @@ // TODO: Turn off heater. } - else if ( ( LEVEL_STATE_MEDIUM >= level ) && ( TRUE == didTimeout( stateDelayTime, GEN_PERMEATE_TIMEOUT_MS ) ) ) + else if ( ( level >= LEVEL_STATE_MEDIUM ) && ( TRUE == didTimeout( stateDelayTime, GEN_PERMEATE_TIMEOUT_MS ) ) ) { setModeGenPStateTransition( RO_GENP_WATER_LOW_STATE ); state = RO_GENP_WATER_LOW_STATE; Index: firmware/App/Modes/ModeGenPermeate.h =================================================================== diff -u -r81ecdea04bb051972a7d46846d168e24d6a943ff -r481046815efa75f40b70a4feb784e62527c812f7 --- firmware/App/Modes/ModeGenPermeate.h (.../ModeGenPermeate.h) (revision 81ecdea04bb051972a7d46846d168e24d6a943ff) +++ firmware/App/Modes/ModeGenPermeate.h (.../ModeGenPermeate.h) (revision 481046815efa75f40b70a4feb784e62527c812f7) @@ -5,7 +5,7 @@ * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * -* @file ModeGenPeremate.h +* @file ModeGenPermeate.h * * @author (last) Michael Garthwaite * @date (last) 03-Mar-2025 Index: firmware/App/Services/DDInterface.c =================================================================== diff -u -r15be0abf6ff69e03df76cb65e44c39aab799d214 -r481046815efa75f40b70a4feb784e62527c812f7 --- firmware/App/Services/DDInterface.c (.../DDInterface.c) (revision 15be0abf6ff69e03df76cb65e44c39aab799d214) +++ firmware/App/Services/DDInterface.c (.../DDInterface.c) (revision 481046815efa75f40b70a4feb784e62527c812f7) @@ -150,7 +150,6 @@ setDDPermeateFlowRate( startRORequest.roRate ); setBoostPumpPWMDutyCycle( P12_PUMP,startRORequest.roRate ); result = requestROStart(); - } else if ( RO_MODE_GENP == roMode ) {