Index: firmware/App/Controllers/AirPump.c =================================================================== diff -u -r42ce3a1717fa1afc0089666df23e02bf4e31764a -r984bd22d53c604713e6b3a22a536c64a920e9100 --- firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision 42ce3a1717fa1afc0089666df23e02bf4e31764a) +++ firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision 984bd22d53c604713e6b3a22a536c64a920e9100) @@ -21,6 +21,7 @@ #include "AlarmMgmt.h" #include "ModeTreatmentParams.h" #include "OperationModes.h" +#include "PersistentAlarm.h" #include "SystemCommMessages.h" #include "TaskGeneral.h" #include "TaskPriority.h" @@ -36,7 +37,7 @@ #define AIR_PUMP_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) #define DATA_PUBLISH_COUNTER_START_COUNT #define AIR_PUMP_GPIO_PIN 0x04 -#define AIR_PUMP_PERSISTENCE_TIMEOUT ( 10 * MS_PER_SECOND ) +#define AIR_PUMP_OPERATION_TIMEOUT ( 5 * MS_PER_SECOND ) typedef enum AirPumpMotorStates { @@ -72,7 +73,7 @@ { currentAirPumpState = AIR_PUMP_STATE_INIT; currentAirPumpMotorState = AIR_PUMP_MOTOR_OFF; - initPersistentAlarm(ALARM_ID_HD_AIR_PUMP_TIMEOUT, 0, AIR_PUMP_PERSISTENCE_TIMEOUT); + initPersistentAlarm( ALARM_ID_HD_AIR_PUMP_TIMEOUT, 0, AIR_PUMP_OPERATION_TIMEOUT ); } /*********************************************************************//** @@ -163,6 +164,7 @@ if ( TRUE == isPersistentAlarmTriggered( ALARM_ID_HD_AIR_PUMP_TIMEOUT, getAirPumpMotorState() ) ) { SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_AIR_PUMP_TIMEOUT, getAirPumpMotorState() ); + setAirPumpState(AIR_PUMP_STATE_OFF); } publishAirPumpData();