Index: firmware/App/DGCommon.h =================================================================== diff -u -r54b7dbef86af8d97ed2edfc87f806295e45b5964 -r667b78a4ba1b948d4977b9b55234acf8d670f2d9 --- firmware/App/DGCommon.h (.../DGCommon.h) (revision 54b7dbef86af8d97ed2edfc87f806295e45b5964) +++ firmware/App/DGCommon.h (.../DGCommon.h) (revision 667b78a4ba1b948d4977b9b55234acf8d670f2d9) @@ -53,6 +53,7 @@ #define THD_USING_TRO_CONNECTOR 1 #define DISABLE_FLOW_CHECK_IN_FILL 1 #define IGNORE_CONC_PUMP_IN_HEAT_DISINFECT 1 +// #define NEW_FMD_FLOW_SENSOR 1 // Turn these flags on to disable dialysate mixing #define DISABLE_DIALYSATE_CHECK 1 Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -r54b7dbef86af8d97ed2edfc87f806295e45b5964 -r667b78a4ba1b948d4977b9b55234acf8d670f2d9 --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 54b7dbef86af8d97ed2edfc87f806295e45b5964) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 667b78a4ba1b948d4977b9b55234acf8d670f2d9) @@ -260,14 +260,14 @@ F32 const measuredROFlowRate_mL_min = getMeasuredROFlowRate() * ML_PER_LITER; F32 bicarbPumpFlowRate_mL_min = measuredROFlowRate_mL_min * bicarb.bicarbConcentrate[ CAL_DATA_BICARB_CONCENTRATE_1 ].bicarbConcMixRatio + CONCENTRATE_PUMP_PRIME_EXTRA_SPEED_ML_MIN; - - bicarbPumpFlowRate_mL_min = MIN( bicarbPumpFlowRate_mL_min, CONCENTRATE_PUMP_MAX_SPEED ); #ifndef DISABLE_DIALYSATE_CHECK F32 const bicarbConductivity = getConductivityValue( CONDUCTIVITYSENSORS_CD2_SENSOR ); #else - F32 const bicarbConductivity = MIN_BICARB_CONCENTRATE_CONDUCTIVITY; + F32 const bicarbConductivity = MAX_BICARB_CONCENTRATE_CONDUCTIVITY; #endif + bicarbPumpFlowRate_mL_min = MIN( bicarbPumpFlowRate_mL_min, CONCENTRATE_PUMP_MAX_SPEED ); + if ( MIN_BICARB_CONCENTRATE_CONDUCTIVITY <= bicarbConductivity ) { // Reduce acid pump speed after reaching minimum conductivity @@ -316,14 +316,14 @@ F32 const measuredROFlowRate_mL_min = getMeasuredROFlowRate() * ML_PER_LITER; F32 acidPumpFlowRate_mL_min = measuredROFlowRate_mL_min * acid.acidConcentrate[ CAL_DATA_ACID_CONCENTRATE_1 ].acidConcMixRatio + CONCENTRATE_PUMP_PRIME_EXTRA_SPEED_ML_MIN; - - acidPumpFlowRate_mL_min = MIN( acidPumpFlowRate_mL_min, CONCENTRATE_PUMP_MAX_SPEED ); #ifndef DISABLE_DIALYSATE_CHECK F32 const acidConductivity = getConductivityValue( CONDUCTIVITYSENSORS_CD1_SENSOR ); #else - F32 const acidConductivity = MIN_ACID_CONCENTRATE_CONDUCTIVITY; + F32 const acidConductivity = MAX_ACID_CONCENTRATE_CONDUCTIVITY; #endif + acidPumpFlowRate_mL_min = MIN( acidPumpFlowRate_mL_min, CONCENTRATE_PUMP_MAX_SPEED ); + if ( MIN_ACID_CONCENTRATE_CONDUCTIVITY <= acidConductivity ) { // Reduce acid pump speed after reaching minimum conductivity @@ -373,10 +373,12 @@ { // Prime mixing before deliver result to reservoir handleDialysateMixing( measuredROFlowRate_mL_min ); +#ifndef DISABLE_MIXING requestConcentratePumpOn( CONCENTRATEPUMPS_CP1_ACID ); requestConcentratePumpOn( CONCENTRATEPUMPS_CP2_BICARB ); if ( concentratePumpPrimeCount++ > CONCENTRATE_PUMP_PRIME_INTERVAL ) +#endif { setValveState( VPO, VALVE_STATE_FILL_C_TO_NC ); result = DG_FILL_MODE_STATE_DELIVER_DIALYSATE; @@ -451,7 +453,7 @@ result = DG_FILL_MODE_STATE_PAUSED; } #endif - +#ifndef DISABLE_MIXING if ( ( ACID_CONCENTRATION_BOTTLE_VOLUME_ML - getF32OverrideValue( &usedAcidVolume_mL ) ) <= CONCENTRATION_BOTTLE_LOW_VOLUME_ML ) { activateAlarmNoData( ALARM_ID_DG_ACID_BOTTLE_LOW_VOLUME ); @@ -461,7 +463,7 @@ { activateAlarmNoData( ALARM_ID_DG_BICARB_BOTTLE_LOW_VOLUME ); } - +#endif // If we've reached our target fill to volume (by weight), we're done filling - go back to generation idle mode if ( TRUE == hasTargetFillVolumeBeenReached( inactiveReservoir ) ) { @@ -484,6 +486,7 @@ } #endif + setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); requestNewOperationMode( DG_MODE_GENE ); } Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rba4d9696d4c0ac731775e0bcc5a7e50f65c90285 -r667b78a4ba1b948d4977b9b55234acf8d670f2d9 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision ba4d9696d4c0ac731775e0bcc5a7e50f65c90285) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 667b78a4ba1b948d4977b9b55234acf8d670f2d9) @@ -275,7 +275,7 @@ memcpy( payloadPtr, &dat2, sizeof( EVENT_DATA_T ) ); // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer - result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_DG_2_UI, ACK_REQUIRED ); + result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_DG_2_UI, ACK_NOT_REQUIRED ); return result; }