Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -rabcf0f081f9c0bf3f3e0746d896e5b7c81f27a31 -r5573c6987850f7c544584244343f437af929d134 --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision abcf0f081f9c0bf3f3e0746d896e5b7c81f27a31) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 5573c6987850f7c544584244343f437af929d134) @@ -1645,11 +1645,11 @@ // Re-send command if DG rejects isValvesSettingSent = FALSE; - if ( FALSE == cmdResp.rejected ) + if ( DG_CMD_REQUEST_REJECT_REASON_NONE == cmdResp.rejectCode ) { setDialInPumpTargetFlowRate( DIP_FLOW_RATE_FIRST_DISPLACEMENT_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); - settleStartTime = getMSTimerCount(); + settleStartTime = getMSTimerCount(); // TODO rename this variable state = WET_SELF_TESTS_FIRST_DISPLACEMENT_STATE; } } @@ -1686,12 +1686,13 @@ if ( 0 == settleStartTime ) { + // This is not a volume for now and it is a flow rate. fmdIntegratedVolume += getMeasuredDialInFlowRate(); if ( TRUE == didTimeout( displacementStartTime, WET_SELF_TEST_DISPLACEMENT_TIME_MS ) ) { signalDialInPumpHardStop(); - fmdIntegratedVolume = ( ( fmdIntegratedVolume * TASK_GENERAL_INTERVAL ) / ( SEC_PER_MIN * MS_PER_SECOND ) ); + fmdIntegratedVolume = ( ( fmdIntegratedVolume * TASK_GENERAL_INTERVAL ) / ( WET_SELF_TEST_DISPLACEMENT_TIME_MS ) ); settleStartTime = getMSTimerCount(); state = WET_SELF_TESTS_FIRST_DISPLACEMENT_VERIFY_STATE; @@ -1804,7 +1805,7 @@ // Re-send command if DG rejects isValvesSettingSent = FALSE; - if ( FALSE == cmdResp.rejected ) + if ( DG_CMD_REQUEST_REJECT_REASON_NONE == cmdResp.rejectCode ) { setDialInPumpTargetFlowRate( DIP_FLOW_RATE_SECOND_DISPLACEMENT_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); @@ -1852,25 +1853,13 @@ if ( TRUE == didTimeout( displacementStartTime, WET_SELF_TEST_DISPLACEMENT_TIME_MS ) ) { signalDialInPumpHardStop(); - fmdIntegratedVolume = ( ( fmdIntegratedVolume * TASK_GENERAL_INTERVAL ) / ( SEC_PER_MIN * MS_PER_SECOND ) ); + fmdIntegratedVolume = ( ( fmdIntegratedVolume * TASK_GENERAL_INTERVAL ) / ( WET_SELF_TEST_DISPLACEMENT_TIME_MS ) ); settleStartTime = getMSTimerCount(); state = WET_SELF_TESTS_SECOND_DISPLACEMENT_VERIFY_STATE; } } - /*fmdIntegratedVolume += getMeasuredDialInFlowRate(); - - if ( TRUE == didTimeout( displacementStartTime, WET_SELF_TEST_DISPLACEMENT_TIME_MS ) ) - { - signalDialInPumpHardStop(); - // Convert flow into volume for period of general task interval - fmdIntegratedVolume = ( ( fmdIntegratedVolume * TASK_GENERAL_INTERVAL ) / ( SEC_PER_MIN * MS_PER_SECOND ) ); - - settleStartTime = getMSTimerCount(); - state = WET_SELF_TESTS_SECOND_DISPLACEMENT_VERIFY_STATE; - }*/ - if ( TRUE == doesAlarmStatusIndicateStop() ) { state = WET_SELF_TESTS_STOPPED_STATE; @@ -1895,7 +1884,7 @@ //if ( TRUE == didTimeout( settleStartTime, RESERVOIR_SETTLE_TIME_MS ) ) { F32 resOneDiffAfterDisplacement = reservoirVolume[ DG_RESERVOIR_1 ] - getReservoirWeight( DG_RESERVOIR_1 ); //getReservoirWeightLargeFilter( DG_RESERVOIR_1 ); - F32 resTwoDiffAfterDisplacement = /*getReservoirWeightLargeFilter( DG_RESERVOIR_2 )*/getReservoirWeight( DG_RESERVOIR_2 ) - reservoirVolume[ DG_RESERVOIR_2 ]; + F32 resTwoDiffAfterDisplacement = /*getReservoirWeightLargeFilter( DG_RESERVOIR_2 )*/ getReservoirWeight( DG_RESERVOIR_2 ) - reservoirVolume[ DG_RESERVOIR_2 ]; F32 avgDisp = ( resOneDiffAfterDisplacement + resTwoDiffAfterDisplacement ) / 2.0F; F32 integratedVolumeDiff = fabs( fmdIntegratedVolume - avgDisp ); F32 integratedVolumeToTargetPercent = fabs( 1.0F - ( fmdIntegratedVolume / avgDisp ) );