Index: firmware/App/Controllers/PermeateTank.c =================================================================== diff -u -r30c175a7e10411efadb9b2b0f8b68528705e0621 -r44dbba513dffd7b1a997f873426407dbfc4163d1 --- firmware/App/Controllers/PermeateTank.c (.../PermeateTank.c) (revision 30c175a7e10411efadb9b2b0f8b68528705e0621) +++ firmware/App/Controllers/PermeateTank.c (.../PermeateTank.c) (revision 44dbba513dffd7b1a997f873426407dbfc4163d1) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2020-2024 Diality Inc. - All Rights Reserved. +* Copyright (c) 2025-2025 Diality Inc. - All Rights Reserved. * * 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 PermeateTank.c * -* @author (last) Sean Nash -* @date (last) 12-Nov-2024 +* @author (last) Michael Garthwaite +* @date (last) 03-Sep-2025 * -* @author (original) Sean Nash -* @date (original) 12-Nov-2024 +* @author (original) Michael Garthwaite +* @date (original) 25-Jul-2025 * ***************************************************************************/ @@ -23,6 +23,7 @@ #include "Timers.h" #include "Utilities.h" #include "Valves.h" +#include "ROPump.h" /** * @addtogroup FPPermeateTank @@ -33,9 +34,10 @@ #define PERMEATE_TANK_PUMP_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) for permeate tank broadcast #define PERMEATE_TANK_PUBLISH_COUNTER_START_COUNT 9 ///< Publishing counter offset -#define PERMEATE_TANK_FILL_SWITCH_MS ( 10 * MS_PER_SECOND ) ///< state switch timeout in fill state ( in ms ) -#define PERMEATE_TANK_FULL_SWITCH_MS ( 1 * MS_PER_SECOND ) ///< state switch timeout in full state (in ms) -#define PERMEATE_TANK_FULL_TIMEOUT_MS ( 60 * MS_PER_SECOND ) ///< timeout being in full state too long ( in ms ) +#define PERMEATE_TANK_FILL_SWITCH_MS ( 10 * MS_PER_SECOND ) ///< State switch timeout in fill state ( in ms ) +#define PERMEATE_TANK_FULL_SWITCH_MS ( 1 * MS_PER_SECOND ) ///< State switch timeout in full state (in ms) +#define PERMEATE_TANK_FULL_TIMEOUT_MS ( 60 * MS_PER_SECOND ) ///< Timeout being in full state too long ( in ms ) +#define PERMEATE_TANK_FILL_RO_PUMP_TGT_FLOW_ML 750 ///< Flow target in ml/min for the ro pump during permeate tank fill state. // ********** private data ********** @@ -335,10 +337,10 @@ case PERMEATE_TANK_FULL_STATE: setValveState( M4_VALV, VALVE_STATE_CLOSED ); setValveState( M7_VALV, VALVE_STATE_CLOSED ); - setValveState( P6_VALV, VALVE_STATE_CLOSED ); + setValveState( P6_VALV, VALVE_STATE_OPEN ); setValveState( P11_VALV, VALVE_STATE_OPEN ); setValveState( P33_VALV, VALVE_STATE_OPEN ); - setValveState( P34_VALV, VALVE_STATE_OPEN ); + setValveState( P34_VALV, VALVE_STATE_CLOSED ); setValveState( P37_VALV, VALVE_STATE_CLOSED ); setValveState( P39_VALV, VALVE_STATE_CLOSED ); setValveState( P20_VALV, VALVE_STATE_CLOSED );