Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -rce3a23a23a5dc7d214793ccbdc81d8afd9504af9 -r747c714d2b4f80b598a66326d62a179aeefda390 --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision ce3a23a23a5dc7d214793ccbdc81d8afd9504af9) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 747c714d2b4f80b598a66326d62a179aeefda390) @@ -77,7 +77,7 @@ static U32 fillStartTime = 0; ///< Time stamp for start of air trap fill. static U32 airPumpOnDelayStartTime = 0; ///< Air pump On start time. static U32 stopAirPumpStartTime = 0; ///< Stop air pump start time. -/// Air pump on delay after fill adjustment +// Air pump on delay after fill adjustment static const U32 AIR_PUMP_ON_DELAY_ADJUST_AFTER_FILL = ( AIR_PUMP_ON_DELAY_TIME_MS - ( 1 * MS_PER_SECOND ) ); static BOOL airTrapValveOpenAtStartOfTreatement = FALSE; ///< To Keep the fluid level high close to Air trap upper level during start of treatment @@ -203,7 +203,7 @@ AIR_TRAP_LEVELS_T lowerAirTrap, upperAirTrap; AIR_TRAP_LEVEL_SENSORS_T airTrapLevelSensor; - // Get latest level readings + // Get latest raw level readings getFPGAAirTrapLevels( &lower, &upper ); rawAirTrapLevels[ AIR_TRAP_LEVEL_SENSOR_LOWER ].data = (U32)( TRUE == lower ? AIR_TRAP_LEVEL_AIR : AIR_TRAP_LEVEL_FLUID ); rawAirTrapLevels[ AIR_TRAP_LEVEL_SENSOR_UPPER ].data = (U32)( TRUE == upper ? AIR_TRAP_LEVEL_AIR : AIR_TRAP_LEVEL_FLUID ); @@ -426,7 +426,7 @@ setValveAirTrap( STATE_OPEN ); fillStartTime = getMSTimerCount(); - SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_AIR_TRAP_FILL, 0, 0 ); + SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_AIR_TRAP_FILL, STATE_OPEN, 0 ); result = AIR_TRAP_VALVE_OPEN_STATE; } @@ -451,13 +451,13 @@ pendingStopAirTrapController = FALSE; result = AIR_TRAP_MANUAL_CONTROL_STATE; } - // Transition to closed valve state when fluid detected at lower level + // Transition to closed valve state when fluid detected at upper level else if ( AIR_TRAP_LEVEL_FLUID == getRawAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ) ) { setValveAirTrap( STATE_CLOSED ); + airPumpOnDelayStartTime = u32DiffWithWrap( AIR_PUMP_ON_DELAY_ADJUST_AFTER_FILL, getMSTimerCount() ); signalLowVenousPressureCheck(); SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_AIR_TRAP_FILL, STATE_CLOSED, 0 ); - airPumpOnDelayStartTime = u32DiffWithWrap( AIR_PUMP_ON_DELAY_ADJUST_AFTER_FILL, getMSTimerCount() ); result = AIR_TRAP_VALVE_CLOSED_STATE; } return result; @@ -500,19 +500,19 @@ *************************************************************************/ AIR_TRAP_LEVELS_T getRawAirTrapLevel( AIR_TRAP_LEVEL_SENSORS_T sensor ) { - AIR_TRAP_LEVELS_T result; + AIR_TRAP_LEVELS_T result; - if ( sensor < NUM_OF_AIR_TRAP_LEVEL_SENSORS ) - { - result = (AIR_TRAP_LEVELS_T)getU32OverrideValue( &rawAirTrapLevels[ sensor ] ); - } - else - { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, (U32)SW_FAULT_ID_AIR_TRAP_INVALID_LEVEL_SENSOR, (U32)sensor ) - result = AIR_TRAP_LEVEL_AIR; - } + if ( sensor < NUM_OF_AIR_TRAP_LEVEL_SENSORS ) + { + result = (AIR_TRAP_LEVELS_T)getU32OverrideValue( &rawAirTrapLevels[ sensor ] ); + } + else + { + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, (U32)SW_FAULT_ID_AIR_TRAP_INVALID_LEVEL_SENSOR, (U32)sensor ) + result = AIR_TRAP_LEVEL_AIR; + } - return result; + return result; } /*********************************************************************//** @@ -524,19 +524,19 @@ *************************************************************************/ static void publishAirTrapData( void ) { - // Publish air trap data on interval - if ( ++airTrapDataPublicationTimerCounter >= getU32OverrideValue( &airTrapDataPublishInterval ) ) - { - AIR_TRAP_PAYLOAD_T data; + // Publish air trap data on interval + if ( ++airTrapDataPublicationTimerCounter >= getU32OverrideValue( &airTrapDataPublishInterval ) ) + { + AIR_TRAP_PAYLOAD_T data; - data.lowerLevel = getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ); - data.upperLevel = getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ); - data.rawLowerLevel = getRawAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ); - data.rawUpperLevel = getRawAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ); + data.lowerLevel = getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ); + data.upperLevel = getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ); + data.rawLowerLevel = getRawAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ); + data.rawUpperLevel = getRawAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ); - broadcastData( MSG_ID_HD_AIR_TRAP_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( AIR_TRAP_PAYLOAD_T ) ); - airTrapDataPublicationTimerCounter = 0; - } + broadcastData( MSG_ID_HD_AIR_TRAP_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( AIR_TRAP_PAYLOAD_T ) ); + airTrapDataPublicationTimerCounter = 0; + } } /*********************************************************************//** @@ -674,19 +674,19 @@ *************************************************************************/ BOOL testSetRawAirTrapLevelOverride( AIR_TRAP_LEVEL_SENSORS_T sensor, AIR_TRAP_LEVELS_T level ) { - BOOL result = FALSE; + BOOL result = FALSE; - if ( ( sensor < NUM_OF_AIR_TRAP_LEVEL_SENSORS ) && ( level < NUM_OF_AIR_TRAP_LEVELS ) ) - { - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - rawAirTrapLevels[ sensor ].ovData = (U32)level; - rawAirTrapLevels[ sensor ].override = OVERRIDE_KEY; - } - } + if ( ( sensor < NUM_OF_AIR_TRAP_LEVEL_SENSORS ) && ( level < NUM_OF_AIR_TRAP_LEVELS ) ) + { + if ( TRUE == isTestingActivated() ) + { + result = TRUE; + rawAirTrapLevels[ sensor ].ovData = (U32)level; + rawAirTrapLevels[ sensor ].override = OVERRIDE_KEY; + } + } - return result; + return result; } /*********************************************************************//** @@ -700,19 +700,19 @@ *************************************************************************/ BOOL testResetRawAirTrapLevelOverride( AIR_TRAP_LEVEL_SENSORS_T sensor ) { - BOOL result = FALSE; + BOOL result = FALSE; - if ( sensor < NUM_OF_AIR_TRAP_LEVEL_SENSORS ) - { - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - rawAirTrapLevels[ sensor ].override = OVERRIDE_RESET; - rawAirTrapLevels[ sensor ].ovData = rawAirTrapLevels[ sensor ].ovInitData; - } - } + if ( sensor < NUM_OF_AIR_TRAP_LEVEL_SENSORS ) + { + if ( TRUE == isTestingActivated() ) + { + result = TRUE; + rawAirTrapLevels[ sensor ].override = OVERRIDE_RESET; + rawAirTrapLevels[ sensor ].ovData = rawAirTrapLevels[ sensor ].ovInitData; + } + } - return result; + return result; } /**@}*/