Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -r4022a06181f6f6d58ccfd465159d95f0df1b0393 -r285b5d82539c96524c93703d52a66fff76fb64fc --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 4022a06181f6f6d58ccfd465159d95f0df1b0393) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 285b5d82539c96524c93703d52a66fff76fb64fc) @@ -67,8 +67,8 @@ static U32 airTrapDataPublicationTimerCounter; ///< Used to schedule air trap data publication to CAN bus. static OVERRIDE_U32_T airTrapDataPublishInterval; ///< Interval (in ms) at which to publish air trap data to CAN bus. -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. +static BOOL pendingStartAirTrapController; ///< Flag indicates an air trap controller start request is pending. +static BOOL pendingStopAirTrapController; ///< Flag indicates an air trap controller stop request is pending. static U32 airTrapFillStartTime; ///< Air trap fill (raise level) operation start time. static U32 airTrapLowerStartTime; ///< Air trap lower level operation start time. @@ -146,7 +146,6 @@ /*********************************************************************//** * @brief * The endAirTrapControl function requests a stop to air trap control. - * @details \b Message \b Sent: MSG_ID_TD_EVENT if air trap control ended. * @details \b Inputs: airTrapControllerState * @details \b Outputs: pendingStopAirTrapController * @return none @@ -193,8 +192,8 @@ { BOOL isAirTrapLevelsValid = FALSE; - // Update level sensors from FPGA - readLevelSensors(); + // Update air trap level sensors from FPGA + readAirTrapLevelSensors(); // Check for illegal levels alarm if ( TRUE ) // TODO - need a way to determine whether a blood set is installed - if not installed, we would not trigger illegal levels alarm @@ -207,7 +206,7 @@ AIR_TRAP_LEVELS_T lowerAirTrap = getLevelSensorState( H17_LEVL ); AIR_TRAP_LEVELS_T upperAirTrap = getLevelSensorState( H16_LEVL ); - isAirTrapLevelsValid = ( ( ( AIR_TRAP_LEVEL_AIR == lowerAirTrap ) && ( AIR_TRAP_LEVEL_FLUID == upperAirTrap ) ) ? TRUE : FALSE ); + isAirTrapLevelsValid = ( ( ( AIR_TRAP_LEVEL_AIR == lowerAirTrap ) && ( AIR_TRAP_LEVEL_FLUID == upperAirTrap ) ) ? TRUE : FALSE ); #ifndef _RELEASE_ // if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_ILLEGAL_AIR_TRAP_ALARM ) != SW_CONFIG_ENABLE_VALUE ) @@ -314,9 +313,8 @@ { pendingStartAirTrapController = FALSE; setAirPumpState( AIR_PUMP_STATE_OFF, AIR_PUMP_MOTOR_OFF ); - set3WayValveState( H13_VALV, STATE_CLOSED ); - set3WayValveState( H20_VALV, STATE_CLOSED ); - SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_AIR_TRAP_FILL, 0, 0 ); + set3WayValveState( H13_VALV, VALVE_3WAY_COMMON_TO_CLOSED_STATE ); + set3WayValveState( H20_VALV, VALVE_3WAY_COMMON_TO_CLOSED_STATE ); result = AIR_TRAP_CLOSED_STATE; } @@ -349,11 +347,11 @@ if ( ( AIR_PUMP_STATE_OFF == getAirPumpState() ) && ( TRUE == didTimeout( airTrapLowerDelayStartTime, AIR_PUMP_ON_DELAY_TIME_MS ) ) ) { - set3WayValveState( H13_VALV, STATE_OPEN ); // open valve H13 to allow air to be pumped into air trap from atmosphere + set3WayValveState( H13_VALV, VALVE_3WAY_COMMON_TO_OPEN_STATE ); // open valve H13 to allow air to be pumped into air trap from atmosphere setAirPumpState( AIR_PUMP_STATE_ON, AIR_PUMP_MOTOR_LOWER_PWM ); airTrapLowerStartTime = getMSTimerCount(); signalInitiatePressureStabilization( USE_SHORT_STABILIZATION_PERIOD ); - SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_AIR_TRAP_LOWER, 1, 0 ); + SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_AIR_TRAP_LOWER, ON, 0 ); result = AIR_TRAP_LOWER_LEVEL_STATE; } } @@ -363,9 +361,9 @@ ( AIR_TRAP_LEVEL_AIR == getLevelSensorState( H16_LEVL ) ) ) { setAirPumpState( AIR_PUMP_STATE_ON, AIR_PUMP_MOTOR_FILL_PWM ); - set3WayValveState( H20_VALV, STATE_OPEN ); // open valve H20 to allow air to be pumped out of air trap to atmosphere + set3WayValveState( H20_VALV, VALVE_3WAY_COMMON_TO_OPEN_STATE ); // open valve H20 to allow air to be pumped out of air trap to atmosphere airTrapFillStartTime = getMSTimerCount(); - SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_AIR_TRAP_FILL, 1, 0 ); + SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_AIR_TRAP_FILL, ON, 0 ); result = AIR_TRAP_RAISE_LEVEL_STATE; } @@ -390,18 +388,18 @@ { pendingStopAirTrapController = FALSE; setAirPumpState( AIR_PUMP_STATE_OFF, AIR_PUMP_MOTOR_OFF ); - set3WayValveState( H20_VALV, STATE_CLOSED ); + set3WayValveState( H20_VALV, VALVE_3WAY_COMMON_TO_CLOSED_STATE ); result = AIR_TRAP_MANUAL_CONTROL_STATE; } - // Transition back to closed state when air trap fill completed TODO - timeout??? + // Transition back to closed state when air trap fill completed else if ( AIR_TRAP_LEVEL_FLUID == getRawLevelSensorState( H16_LEVL ) ) { airTrapWasFilledAtStartOfTreatement = TRUE; setAirPumpState( AIR_PUMP_STATE_OFF, AIR_PUMP_MOTOR_OFF ); - set3WayValveState( H20_VALV, STATE_CLOSED ); + set3WayValveState( H20_VALV, VALVE_3WAY_COMMON_TO_CLOSED_STATE ); airTrapLowerDelayStartTime = calcTimeBetween( AIR_PUMP_ON_DELAY_ADJUST_AFTER_FILL, getMSTimerCount() ); signalLowVenousPressureCheck(); - SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_AIR_TRAP_FILL, 0, 0 ); + SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_AIR_TRAP_FILL, OFF, 0 ); result = AIR_TRAP_CLOSED_STATE; } @@ -430,7 +428,7 @@ { pendingStopAirTrapController = FALSE; setAirPumpState( AIR_PUMP_STATE_OFF, AIR_PUMP_MOTOR_OFF ); - set3WayValveState( H13_VALV, STATE_CLOSED ); + set3WayValveState( H13_VALV, VALVE_3WAY_COMMON_TO_CLOSED_STATE ); result = AIR_TRAP_MANUAL_CONTROL_STATE; } // Transition back to closed state when air trap lower level operation completed @@ -439,9 +437,9 @@ { setAirPumpState( AIR_PUMP_STATE_OFF, AIR_PUMP_MOTOR_OFF ); - set3WayValveState( H13_VALV, STATE_CLOSED ); + set3WayValveState( H13_VALV, VALVE_3WAY_COMMON_TO_CLOSED_STATE ); airTrapLowerDelayStartTime = getMSTimerCount(); - SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_AIR_TRAP_LOWER, 0, 0 ); + SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_AIR_TRAP_LOWER, OFF, 0 ); // if lower level operation times out, alarm if ( TRUE == didTimeout( airTrapLowerStartTime, airPumpStopTime ) ) { @@ -457,7 +455,7 @@ * @brief * The publishAirTrapData function constructs and sends the air trap data * broadcast message. - * @details \b Message \b Sent: MSG_ID_TD_AIR_TRAP_DATA + * @details \b Message \b Sent: MSG_ID_TD_AIR_TRAP_DATA to publish air trap data * @details \b Inputs: airTrapDataPublicationTimerCounter, airTrapControllerState, TODO valvestate * @details \b Outputs: airTrapDataPublicationTimerCounter * @return none @@ -475,7 +473,7 @@ data.h16RawState = getRawLevelSensorState( H16_LEVL ); data.h13State = get3WayValveState( H13_VALV ); data.h20State = get3WayValveState( H20_VALV ); - data.controlling = isAirTrapControlling(); + data.isAutoControlling = isAirTrapControlling(); broadcastData( MSG_ID_TD_AIR_TRAP_DATA, COMM_BUFFER_OUT_CAN_TD_BROADCAST, (U08*)&data, sizeof( AIR_TRAP_PAYLOAD_T ) ); airTrapDataPublicationTimerCounter = 0;