Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -r213af8d663da48931adb07f641ebacf8d0f3b4aa -re300530d917868cdf690421673e3efcd48fd3f67 --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 213af8d663da48931adb07f641ebacf8d0f3b4aa) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision e300530d917868cdf690421673e3efcd48fd3f67) @@ -7,8 +7,8 @@ * * @file AirTrap.c * -* @author (last) Sean Nash -* @date (last) 01-Aug-2023 +* @author (last) Darren Cox +* @date (last) 23-Aug-2023 * * @author (original) Sean Nash * @date (original) 16-Sep-2020 @@ -38,7 +38,9 @@ #define AIR_TRAP_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the air trap data is published on the CAN bus. #define AIR_TRAP_FILL_TIMEOUT_MS ( 6 * MS_PER_SECOND ) ///< Air trap fill timeout period (in ms). -#define AIR_PUMP_UPPER_LEVEL_PERSISTENCE ( 100 / TASK_GENERAL_INTERVAL ) ///< Persistence time for air pump operation after air trap upper level reads air. +#define AIR_PUMP_UPPER_LEVEL_PERSISTENCE ( 300 / TASK_GENERAL_INTERVAL ) ///< Persistence time for air pump operation after air trap upper level reads air. +#define AIR_PUMP_ON_ERROR_MAX_CNT 6 ///< Maximum number of air pump on events within time window before alarm triggered. Do not exceed MAX_TIME_WINDOWED_COUNT. +#define AIR_PUMP_ON_ERROR_TIME_WIN_MS ( 60 * MS_PER_SECOND ) ///< Time window for Air Pump on count error. /// Persistence period for illegal level sensors fault. #define AIR_TRAP_ILLEGAL_LEVELS_TIMEOUT_MS ( 2 * MS_PER_SECOND ) ///< Air trap illegal values timeout (in ms) @@ -336,7 +338,7 @@ { setAirPumpState( AIR_PUMP_STATE_ON ); airPumpUpperLevelCtr = 0; - signalInitiatePressureStabilization(); + signalInitiatePressureStabilization( USE_SHORT_STABILIZATION_PERIOD ); } }