Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -rd3b7ae356aae29c99cb039713a2e120fdbce5a9c -r44a100f8e5210a02c23b8fcc4527d8e96d577381 --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision d3b7ae356aae29c99cb039713a2e120fdbce5a9c) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 44a100f8e5210a02c23b8fcc4527d8e96d577381) @@ -49,15 +49,6 @@ NUM_OF_AIR_TRAP_STATES ///< Number of air trap controller states } AIR_TRAP_STATE_T; -/// Defined states for the air trap self-test state machine. -typedef enum AirTrap_Self_Test_States -{ - AIR_TRAP_SELF_TEST_STATE_START = 0, ///< Self-test start state - AIR_TRAP_SELF_TEST_STATE_IN_PROGRESS, ///< Self-test in progress state - AIR_TRAP_SELF_TEST_STATE_COMPLETE, ///< Self-test completed state - NUM_OF_AIR_TRAP_SELF_TEST_STATES ///< Number of air trap self-test states -} AIR_TRAP_SELF_TEST_STATE_T; - // ********** private data ********** static AIR_TRAP_STATE_T airTrapControllerState; ///< Current state of air trap controller state machine. @@ -66,9 +57,6 @@ /// Interval (in ms) at which to publish air trap data to CAN bus. static OVERRIDE_U32_T airTrapDataPublishInterval = { AIR_TRAP_DATA_PUB_INTERVAL, AIR_TRAP_DATA_PUB_INTERVAL, 0, 0 }; static OVERRIDE_U32_T airTrapLevels[ NUM_OF_AIR_TRAP_LEVEL_SENSORS ]; ///< Detected air trap level for each level sensor. - -static AIR_TRAP_SELF_TEST_STATE_T airTrapSelfTestState; ///< Current air trap self-test state. -static U32 airTrapSelfTestTimerCount = 0; ///< Timer counter for air trap self-test. static BOOL pendingStartAirTrapController = FALSE; ///< Flag indicates an air trap controller start request is pending. static BOOL pendingStopAirTrapController = FALSE; ///< Flag indicates an air trap controller stop request is pending. @@ -94,9 +82,18 @@ *************************************************************************/ void initAirTrap( void ) { + U32 i; + resetAirTrap(); - airTrapSelfTestState = AIR_TRAP_SELF_TEST_STATE_START; airTrapIllegalLevelSensorsCtr = 0; + + for ( i = 0; i < NUM_OF_AIR_TRAP_LEVEL_SENSORS; i++ ) + { + airTrapLevels[i].data = 0; + airTrapLevels[i].ovData = 0; + airTrapLevels[i].ovInitData = 0; + airTrapLevels[i].override = OVERRIDE_RESET; + } } /*********************************************************************//** @@ -217,7 +214,7 @@ if ( TRUE == didTimeout( fillStartTime, fillTimeoutMS ) ) { -#ifndef DISABLE_AIR_TRAP_LEVELING +#ifndef DISABLE_AIR_TRAP_LEVELING_ALARM activateAlarmNoData( ALARM_ID_AIR_TRAP_FILL_DURING_TREATMENT ); #endif }