Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -raf2674758d7b9dbe05e348b318845975b423509f -r975a29bff552a9e657364bd36b11c4d491cf7fae --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision af2674758d7b9dbe05e348b318845975b423509f) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 975a29bff552a9e657364bd36b11c4d491cf7fae) @@ -179,7 +179,8 @@ airTrapLevels[ AIR_TRAP_LEVEL_SENSOR_UPPER ].data = (U32)( TRUE == upper ? AIR_TRAP_LEVEL_AIR : AIR_TRAP_LEVEL_FLUID ); // check level readings are valid - if ( ( TRUE == lower ) && ( FALSE == upper ) ) + if ( ( AIR_TRAP_LEVEL_AIR == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ) ) && + ( AIR_TRAP_LEVEL_FLUID == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ) ) ) { if ( ++airTrapIllegalLevelSensorsCtr >= AIR_TRAP_ILLEGAL_LEVELS_PERSISTENCE ) { @@ -188,7 +189,10 @@ } else { - airTrapIllegalLevelSensorsCtr--; + if ( airTrapIllegalLevelSensorsCtr > 0 ) + { + airTrapIllegalLevelSensorsCtr--; + } } } @@ -203,6 +207,7 @@ void execAirTrapMonitorPriming( void ) { // TODO - implement when priming sub-mode of pre-treatment mode is implemented. + // activateAlarmNoData( ALARM_ID_AIR_TRAP_FILL_DURING_PRIME ); } /*********************************************************************//** @@ -216,18 +221,14 @@ void execAirTrapMonitorTreatment( void ) { // check air trap fill timeout during treatment - if ( airTrapControllerState > AIR_TRAP_MANUAL_CONTROL_STATE ) + if ( AIR_TRAP_VALVE_OPEN_STATE == airTrapControllerState ) { - if ( AIR_TRAP_LEVEL_AIR == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ) ) - { - F32 bldFlowRate = (F32)getTreatmentParameterU32( TREATMENT_PARAM_BLOOD_FLOW ); // function will never return zero - F32 fillTimeoutMS = ( VENOUS_LINE_VOLUME_ML / bldFlowRate ) * (F32)SEC_PER_MIN * (F32)MS_PER_SECOND; + F32 bldFlowRate = (F32)getTreatmentParameterU32( TREATMENT_PARAM_BLOOD_FLOW ); // function will never return zero + F32 fillTimeoutMS = ( VENOUS_LINE_VOLUME_ML / bldFlowRate ) * (F32)SEC_PER_MIN * (F32)MS_PER_SECOND; - if ( TRUE == didTimeout( fillStartTime, fillTimeoutMS ) ) - { - activateAlarmNoData( ALARM_ID_AIR_TRAP_ILLEGAL_LEVELS ); - setValveAirTrap( STATE_CLOSED ); - } + if ( TRUE == didTimeout( fillStartTime, fillTimeoutMS ) ) + { + activateAlarmNoData( ALARM_ID_AIR_TRAP_FILL_DURING_TREATMENT ); } } } @@ -511,7 +512,7 @@ { BOOL result = FALSE; - if ( sensor < NUM_OF_AIR_TRAP_LEVEL_SENSORS ) + if ( ( sensor < NUM_OF_AIR_TRAP_LEVEL_SENSORS ) && ( level < NUM_OF_AIR_TRAP_LEVELS ) ) { if ( TRUE == isTestingActivated() ) { Index: firmware/App/Controllers/DGInterface.h =================================================================== diff -u -rde5a0d43bdef611d963d11855bc958a8d8899a09 -r975a29bff552a9e657364bd36b11c4d491cf7fae --- firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision de5a0d43bdef611d963d11855bc958a8d8899a09) +++ firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision 975a29bff552a9e657364bd36b11c4d491cf7fae) @@ -32,8 +32,12 @@ // ********** public definitions ********** -#define DRAIN_RESERVOIR_TO_VOLUME_ML 200 ///< Drain reservoir to this volume (in mL) during treatment. -#define FILL_RESERVOIR_TO_VOLUME_ML 1700 ///< Fill reservoir to this volume (in mL) during treatment. +#define DRAIN_RESERVOIR_TO_VOLUME_ML 200 ///< Drain reservoir to this volume (in mL) during treatment. +#ifndef V1_5_SYSTEM +#define FILL_RESERVOIR_TO_VOLUME_ML 1700 ///< Fill reservoir to this volume (in mL) during treatment. +#else +#define FILL_RESERVOIR_TO_VOLUME_ML 1300 ///< Fill reservoir to this volume (in mL) during treatment. +#endif /// Enumeration of DG reservoirs. typedef enum DG_Reservoirs Index: firmware/App/Controllers/Valves.h =================================================================== diff -u -rb1c2d54d3d029ab1340d91193a7a4c81db8ba29d -r975a29bff552a9e657364bd36b11c4d491cf7fae --- firmware/App/Controllers/Valves.h (.../Valves.h) (revision b1c2d54d3d029ab1340d91193a7a4c81db8ba29d) +++ firmware/App/Controllers/Valves.h (.../Valves.h) (revision 975a29bff552a9e657364bd36b11c4d491cf7fae) @@ -61,17 +61,7 @@ U32 pwm; ///< Valve PWM U32 direction; ///< Valve direction } OVERRIDE_VALVES_PWM_DIR_SET_PAYLOAD_T; - -// TODO REMOVE the struct -typedef struct -{ - S16 currentPos; - F32 current; - S16 cmdPosition; -} HD_VALVE_FAST_DATA_T; #pragma pack(pop) -HD_VALVE_FAST_DATA_T fastDataRemoveLater; -// TODO REMOVE THE struct // ********** public function prototypes ********* Index: firmware/App/HDCommon.h =================================================================== diff -u -raf2674758d7b9dbe05e348b318845975b423509f -r975a29bff552a9e657364bd36b11c4d491cf7fae --- firmware/App/HDCommon.h (.../HDCommon.h) (revision af2674758d7b9dbe05e348b318845975b423509f) +++ firmware/App/HDCommon.h (.../HDCommon.h) (revision 975a29bff552a9e657364bd36b11c4d491cf7fae) @@ -56,6 +56,7 @@ // #define FLOW_DEBUG 1 // test build sends flow, signal strength, and occlusion readings to debug UART // #define EMC_TEST_BUILD 1 // EMC test build - HD/DG run separately but connected, HD pumps toggle on/off w/ stop button #define ALARMS_DEBUG 1 // triggered alarms sent to debug UART + #define V1_5_SYSTEM 1 // build for v1.5 system #include #include