Index: firmware/App/Controllers/BloodLeak.c =================================================================== diff -u -rfb714597ad515d3774d69b94808f065788504724 -redd44135869db32d23a0c809f6107b153c34d3bd --- firmware/App/Controllers/BloodLeak.c (.../BloodLeak.c) (revision fb714597ad515d3774d69b94808f065788504724) +++ firmware/App/Controllers/BloodLeak.c (.../BloodLeak.c) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -21,6 +21,7 @@ #include "AlarmMgmt.h" #include "BloodLeak.h" +#include "DialInFlow.h" #include "FPGA.h" #include "NVDataMgmtHDRecords.h" #include "OperationModes.h" @@ -866,7 +867,7 @@ { case MODE_TREA: case MODE_SERV: - if ( FALSE == isDialysateLineInBypass() ) + if ( ( FALSE == isDialysateLineInBypass() ) && ( getTreatmentState() != TREATMENT_RECIRC_STATE ) && ( getDialysisState() != DIALYSIS_SALINE_BOLUS_STATE ) ) { if ( BLOOD_LEAK_DETECTED == getBloodLeakStatus() ) { @@ -930,7 +931,10 @@ bloodLeakStatus.data = getFPGABloodDetectProcessedStatus(); - if ( BLOOD_LEAK_NOT_DETECTED == getBloodLeakStatus() ) + // Check if the blood is not detected but at the same time the Dialin pump should be running to make sure we are in the + // blood recovery state of the treatment stop so the blood detection recovery is not done on the stagnant fluid + // NOTE: should we check of the measured flow is about 600 mL/min? + if ( ( BLOOD_LEAK_NOT_DETECTED == getBloodLeakStatus() ) && ( TRUE == isDialInPumpRunning() ) ) { if ( TRUE == didTimeout( bloodLeakRecoveryStartTimeMS, BLOOD_LEAK_DETECT_RECOVERY_MIN_TIME_MS ) ) { @@ -1764,7 +1768,6 @@ status &= ( VALVE_POSITION_C_CLOSE == getValvePosition( VDI ) ? TRUE : FALSE ); status &= ( VALVE_POSITION_C_CLOSE == getValvePosition( VDO ) ? TRUE : FALSE ); - status &= ( getMeasuredDialInPumpSpeed() <= NEARLY_ZERO ? TRUE : FALSE ); return status; } Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -rfb714597ad515d3774d69b94808f065788504724 -redd44135869db32d23a0c809f6107b153c34d3bd --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision fb714597ad515d3774d69b94808f065788504724) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -1596,6 +1596,9 @@ if ( FALSE == isRequestFromTreatmentStop ) { + // The pressure window is widened to prevent pressure alarm in bypassing the dialyzer. + // The spike occurs due to bypassing VDi valve would result in all of the blood flow going through + // the dialyzer and pressure cannot go across the dialyzer. signalInitiatePressureStabilization( USE_NORMAL_STABILIZATION_PERIOD ); } Index: firmware/App/Modes/ModeInitPOST.c =================================================================== diff -u -r736cc5b56cc9c784ab1d8fc8687a73d190c35759 -redd44135869db32d23a0c809f6107b153c34d3bd --- firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 736cc5b56cc9c784ab1d8fc8687a73d190c35759) +++ firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -45,10 +45,10 @@ #include "Valves.h" #include "WatchdogMgmt.h" - /** - * @addtogroup HDInitAndPOSTMode - * @{ - */ +/** + * @addtogroup HDInitAndPOSTMode + * @{ + */ // ********** private definitions ********** @@ -77,6 +77,7 @@ static UI_VERSIONS_T uiVersion = { 0, 0, 0, 0, 0 }; ///< Version and compatibility information reported by UI. static DG_VERSIONS_T dgVersion = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; ///< Version and compatibility information reported by DG. static U32 startPOSTDelayCounter = 0; ///< Start POST delay counter. +static BOOL hasSNAndInstBeenSent; ///< Boolean flag to check whether serial number and institutional record been sent. extern U32 savedResetReasonCode; ///< Saved reset reason code from sys_startup.c. @@ -87,6 +88,8 @@ static SELF_TEST_STATUS_T execFWCompatibilityTest( void ); static SELF_TEST_STATUS_T execUITest( void ); +static void sendSerialNumberAndInstitutionalToUI( void ); + /*********************************************************************//** * @brief * The initInitAndPOSTMode function initializes the Initialize & POST Mode module. @@ -107,6 +110,7 @@ waitForUIPostTimerCtr = 0; postCompleteDelayTimerCtr = 0; startPOSTDelayCounter = 0; + hasSNAndInstBeenSent = FALSE; } /*********************************************************************//** @@ -157,6 +161,8 @@ // Ignore stop button in this mode. } + sendSerialNumberAndInstitutionalToUI(); + // Execute current POST state *Note - these switch cases must be in same order as enum HD_POST_States switch ( postState ) { @@ -609,4 +615,29 @@ return result; } +/*********************************************************************//** + * @brief + * The sendSerialNumberAndInstitutionalToUI function sends the serial number + * and institutional records to the UI unsolicited. + * @details Inputs: SNAndInstConfigSendStartTimeMS, postState + * @details Outputs: SNAndInstConfigSendStartTimeMS + * @return none + *************************************************************************/ +static void sendSerialNumberAndInstitutionalToUI( void ) +{ + if ( ( FALSE == hasSNAndInstBeenSent ) && ( postState > POST_STATE_NVDATAMGMT ) ) + { + MESSAGE_T message; + + // Create a message object with the payload length to be 0 for the institutional message + message.hdr.msgID = 0; + message.hdr.payloadLen = 0; + + handleHDSerialNumberRequest(); + handleSendInstitutionalRecordToUI( &message ); + + hasSNAndInstBeenSent = TRUE; + } +} + /**@}*/ Index: firmware/App/Modes/ModePostTreat.h =================================================================== diff -u -r736cc5b56cc9c784ab1d8fc8687a73d190c35759 -redd44135869db32d23a0c809f6107b153c34d3bd --- firmware/App/Modes/ModePostTreat.h (.../ModePostTreat.h) (revision 736cc5b56cc9c784ab1d8fc8687a73d190c35759) +++ firmware/App/Modes/ModePostTreat.h (.../ModePostTreat.h) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -42,8 +42,8 @@ U32 acidConcentrate; ///< Acid concentrate option U32 bicarbConcentrate; ///< Bicarbonate concentrate option - U32 potassiumConcentration; ///< Potassium concentration value in mEq/L. - U32 calciumConcentration; ///< Calcium concentration value in mEq/L. + F32 potassiumConcentration; ///< Potassium concentration value in mEq/L. + F32 calciumConcentration; ///< Calcium concentration value in mEq/L. U32 bicarbonateConcentration; ///< Bicarbonate concentration value in mEq/L. U32 sodiumConcentration; ///< Sodium concentration value in mEq/L. Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -rfb714597ad515d3774d69b94808f065788504724 -redd44135869db32d23a0c809f6107b153c34d3bd --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision fb714597ad515d3774d69b94808f065788504724) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -1674,7 +1674,6 @@ endTreatmentAlarmResponseRequest = FALSE; } - /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/ Index: firmware/App/Modes/Rinseback.c =================================================================== diff -u -r887e9a3dfbce1255c6469d33e49afe191af21d25 -redd44135869db32d23a0c809f6107b153c34d3bd --- firmware/App/Modes/Rinseback.c (.../Rinseback.c) (revision 887e9a3dfbce1255c6469d33e49afe191af21d25) +++ firmware/App/Modes/Rinseback.c (.../Rinseback.c) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -38,7 +38,7 @@ // ********** private definitions ********** -#define DEFAULT_RINSEBACK_VOLUME_ML 350.0F ///< Default rinseback volume (in mL). +#define DEFAULT_RINSEBACK_VOLUME_ML 300.0F ///< Default rinseback volume (in mL). #define MAX_TOTAL_ADDITIONAL_RINSEBACK_VOLUME_ML 300.0F ///< Maximum total additional rinseback volume allowed : all additionals (in mL). #define TARGET_ADDITIONAL_RINSEBACK_VOLUME_ML 50.0F ///< Target rinseback volume for an additional volume request (in mL). #define RINSEBACK_FLOW_RATE_ADJ_ML_MIN 25 ///< Adjustment amount (in mL/min) to apply when user requests increase/decrease in flow rate. Index: firmware/App/Modes/TreatmentEnd.c =================================================================== diff -u -r887e9a3dfbce1255c6469d33e49afe191af21d25 -redd44135869db32d23a0c809f6107b153c34d3bd --- firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision 887e9a3dfbce1255c6469d33e49afe191af21d25) +++ firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -36,6 +36,8 @@ /// Interval at which treatment end progress is to be published to UI. #define TREATMENT_END_DATA_PUBLISH_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) +/// Target flow rate for blood while waiting for user to initiate final rinseback. +#define TX_END_BP_FLOW_RATE_ML_MIN 150 /// Max time to wait for user to initiate final rinseback. static const U32 TX_END_TIMEOUT_MS = ( ( 10 * 60 * MS_PER_SECOND ) / TASK_GENERAL_INTERVAL ); @@ -147,7 +149,7 @@ setValvePosition( VBA, VALVE_POSITION_B_OPEN ); setValvePosition( VBV, VALVE_POSITION_B_OPEN ); // Start blood pump at Tx End slow flow rate - setBloodPumpTargetFlowRate( getTreatmentParameterU32( TREATMENT_PARAM_BLOOD_FLOW ), MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); + setBloodPumpTargetFlowRate( TX_END_BP_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); bloodSittingTimerCtr = 0; // Continue air trap leveling control startAirTrapControl(); Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rfb714597ad515d3774d69b94808f065788504724 -redd44135869db32d23a0c809f6107b153c34d3bd --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision fb714597ad515d3774d69b94808f065788504724) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -94,6 +94,11 @@ U32 enableChemicalDisinfect; ///< Enable/disable chemical disinfect. } HD_INSTITUTIONAL_LOCAL_RECORD_T; +typedef struct +{ + U08 topLevelSN[ MAX_TOP_LEVEL_SN_CHARS ]; +} LOCAL_TOP_SN_T; + // ********** private data ********** #ifndef CARTRIDGE_TEST_BUILD @@ -3335,10 +3340,6 @@ *************************************************************************/ void handleHDSerialNumberRequest( void ) { - typedef struct - { - U08 topLevelSN[ MAX_TOP_LEVEL_SN_CHARS ]; - } LOCAL_TOP_SN_T; MESSAGE_T msg; HD_SYSTEM_RECORD_T system; U08 i; @@ -3708,7 +3709,7 @@ memcpy( payloadPtr, instit, sizeof( HD_INSTITUTIONAL_LOCAL_RECORD_T ) ); // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer - serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_2_UI, ACK_NOT_REQUIRED ); + serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_2_UI, ACK_REQUIRED ); } /*********************************************************************//** Index: vectorcast/Hercules_RM46_HD_Project/environment/BLOODLEAK/BLOODLEAK.tst =================================================================== diff -u -rfb714597ad515d3774d69b94808f065788504724 -redd44135869db32d23a0c809f6107b153c34d3bd --- vectorcast/Hercules_RM46_HD_Project/environment/BLOODLEAK/BLOODLEAK.tst (.../BLOODLEAK.tst) (revision fb714597ad515d3774d69b94808f065788504724) +++ vectorcast/Hercules_RM46_HD_Project/environment/BLOODLEAK/BLOODLEAK.tst (.../BLOODLEAK.tst) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -875,9 +875,11 @@ TEST.NEW TEST.NAME:handleBloodLeakCheckSetPointState.003 TEST.IMPORT_FAILURES: -(I) @LINE: 915 +(I) @LINE: 918 >>> 'D_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. (E) Errors from previous script import(s) + >>> (I) @LINE: 915 + >>> >>> 'D_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 870 >>> >>> 'D_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 866 @@ -927,9 +929,11 @@ TEST.NEW TEST.NAME:handleBloodLeakCheckSetPointState.004 TEST.IMPORT_FAILURES: -(I) @LINE: 965 +(I) @LINE: 970 >>> 'D_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. (E) Errors from previous script import(s) + >>> (I) @LINE: 965 + >>> >>> 'D_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 918 >>> >>> 'D_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 912 @@ -2644,35 +2648,6 @@ TEST.EXPECTED:BloodLeak.handleBloodLeakNormalState.return:BLOOD_LEAK_NORMAL_STATE TEST.END --- Test Case: handleBloodLeakNormalState.003 -TEST.UNIT:BloodLeak -TEST.SUBPROGRAM:handleBloodLeakNormalState -TEST.NEW -TEST.NAME:handleBloodLeakNormalState.003 -TEST.IMPORT_FAILURES: -(E) Errors from previous script import(s) - >>> (E) @LINE: 661 TEST.VALUE:uut_prototype_stubs.noFPGABloodLeakDetected.return:<> - >>> >>> Could not find function noFPGABloodLeakDetected - >>> >>> in unit uut_prototype_stubs. - >>> >>> Value Line Error - Command Ignored -TEST.END_IMPORT_FAILURES: -TEST.MCDC_BASIS_PATH:8 of 8 -TEST.NOTES: -This is an automatically generated test case. - Test Path 8 - (1) if ((1) == noFPGABloodLeakDetected()) ==> FALSE - (2) if ((BLOOD_LEAK_DETECTED) == getBloodLeakStatus()) ==> TRUE - (3) if (getCurrentOperationMode() == (MODE_TREA)) ==> TRUE - Row number 1 forms a pair with Row 2 for Condition #3, subcondition "a". - Condition a ==> TRUE - Test Case Generation Notes: -TEST.END_NOTES: -TEST.STUB:BloodLeak.getBloodLeakStatus -TEST.VALUE:BloodLeak.getBloodLeakStatus.return:BLOOD_LEAK_DETECTED -TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA -TEST.EXPECTED:BloodLeak.handleBloodLeakNormalState.return:BLOOD_LEAK_NORMAL_STATE -TEST.END - -- Test Case: handleBloodLeakNormalState.004 TEST.UNIT:BloodLeak TEST.SUBPROGRAM:handleBloodLeakNormalState @@ -3114,33 +3089,104 @@ TEST.EXPECTED:BloodLeak.<>.bloodLeakPersistenceCtr:1000 TEST.END --- Subprogram: handleBloodLeakRecoverBloodDetectState - --- Test Case: handleBloodLeakRecoverBloodDetectState.001 +-- Test Case: handleBloodLeakNormalState_tx_all_true TEST.UNIT:BloodLeak -TEST.SUBPROGRAM:handleBloodLeakRecoverBloodDetectState +TEST.SUBPROGRAM:handleBloodLeakNormalState TEST.NEW -TEST.NAME:handleBloodLeakRecoverBloodDetectState.001 -TEST.BASIS_PATH:1 of 5 +TEST.NAME:handleBloodLeakNormalState_tx_all_true +TEST.IMPORT_FAILURES: +(E) Errors from previous script import(s) + >>> (E) @LINE: 661 TEST.VALUE:uut_prototype_stubs.noFPGABloodLeakDetected.return:<> + >>> >>> Could not find function noFPGABloodLeakDetected + >>> >>> in unit uut_prototype_stubs. + >>> >>> Value Line Error - Command Ignored +TEST.END_IMPORT_FAILURES: +TEST.MCDC_BASIS_PATH:8 of 8 TEST.NOTES: This is an automatically generated test case. - Test Path 1 - (1) if ((BLOOD_LEAK_NOT_DETECTED) == getBloodLeakStatus()) ==> FALSE - (3) if (isAlarmActive(ALARM_ID_HD_BLOOD_LEAK_RECOVERING_PLEASE_WAIT) != (1)) ==> FALSE - (4) if ((1) == bloodLeakEmbModeHasZeroBeenRqustd) ==> FALSE + Test Path 8 + (1) if ((1) == noFPGABloodLeakDetected()) ==> FALSE + (2) if ((BLOOD_LEAK_DETECTED) == getBloodLeakStatus()) ==> TRUE + (3) if (getCurrentOperationMode() == (MODE_TREA)) ==> TRUE + Row number 1 forms a pair with Row 2 for Condition #3, subcondition "a". + Condition a ==> TRUE Test Case Generation Notes: TEST.END_NOTES: TEST.STUB:BloodLeak.getBloodLeakStatus -TEST.VALUE:BloodLeak.<>.bloodLeakRecoveryStartTimeMS:0 -TEST.VALUE:BloodLeak.<>.bloodLeakEmbModeHasZeroBeenRqustd:0 TEST.VALUE:BloodLeak.getBloodLeakStatus.return:BLOOD_LEAK_DETECTED -TEST.VALUE:BloodLeak.handleBloodLeakRecoverBloodDetectState.return:BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE -TEST.VALUE:uut_prototype_stubs.isAlarmActive.return:1 -TEST.EXPECTED:BloodLeak.<>.bloodLeakRecoveryStartTimeMS:0 -TEST.EXPECTED:BloodLeak.<>.bloodLeakEmbModeHasZeroBeenRqustd:0 -TEST.EXPECTED:BloodLeak.handleBloodLeakRecoverBloodDetectState.return:BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.getValvePosition.return:VALVE_POSITION_A_INSERT_EJECT +TEST.EXPECTED:BloodLeak.handleBloodLeakNormalState.return:BLOOD_LEAK_NORMAL_STATE TEST.END +-- Test Case: handleBloodLeakNormalState_tx_in_bypass +TEST.UNIT:BloodLeak +TEST.SUBPROGRAM:handleBloodLeakNormalState +TEST.NEW +TEST.NAME:handleBloodLeakNormalState_tx_in_bypass +TEST.NOTES: +This is an automatically generated test case. + Test Path 8 + (1) if ((1) == noFPGABloodLeakDetected()) ==> FALSE + (2) if ((BLOOD_LEAK_DETECTED) == getBloodLeakStatus()) ==> TRUE + (3) if (getCurrentOperationMode() == (MODE_TREA)) ==> TRUE + Row number 1 forms a pair with Row 2 for Condition #3, subcondition "a". + Condition a ==> TRUE + Test Case Generation Notes: +TEST.END_NOTES: +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_START_STATE +TEST.VALUE:uut_prototype_stubs.getTreatmentState.return:TREATMENT_BLOOD_PRIME_STATE +TEST.VALUE:uut_prototype_stubs.getValvePosition.return:VALVE_POSITION_C_CLOSE +TEST.EXPECTED:BloodLeak.handleBloodLeakNormalState.return:BLOOD_LEAK_NORMAL_STATE +TEST.END + +-- Test Case: handleBloodLeakNormalState_tx_not_saline_bolus +TEST.UNIT:BloodLeak +TEST.SUBPROGRAM:handleBloodLeakNormalState +TEST.NEW +TEST.NAME:handleBloodLeakNormalState_tx_not_saline_bolus +TEST.NOTES: +This is an automatically generated test case. + Test Path 8 + (1) if ((1) == noFPGABloodLeakDetected()) ==> FALSE + (2) if ((BLOOD_LEAK_DETECTED) == getBloodLeakStatus()) ==> TRUE + (3) if (getCurrentOperationMode() == (MODE_TREA)) ==> TRUE + Row number 1 forms a pair with Row 2 for Condition #3, subcondition "a". + Condition a ==> TRUE + Test Case Generation Notes: +TEST.END_NOTES: +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_SALINE_BOLUS_STATE +TEST.VALUE:uut_prototype_stubs.getTreatmentState.return:TREATMENT_BLOOD_PRIME_STATE +TEST.VALUE:uut_prototype_stubs.getValvePosition.return:VALVE_POSITION_A_INSERT_EJECT +TEST.EXPECTED:BloodLeak.handleBloodLeakNormalState.return:BLOOD_LEAK_NORMAL_STATE +TEST.END + +-- Test Case: handleBloodLeakNormalState_tx_recirc_state +TEST.UNIT:BloodLeak +TEST.SUBPROGRAM:handleBloodLeakNormalState +TEST.NEW +TEST.NAME:handleBloodLeakNormalState_tx_recirc_state +TEST.NOTES: +This is an automatically generated test case. + Test Path 8 + (1) if ((1) == noFPGABloodLeakDetected()) ==> FALSE + (2) if ((BLOOD_LEAK_DETECTED) == getBloodLeakStatus()) ==> TRUE + (3) if (getCurrentOperationMode() == (MODE_TREA)) ==> TRUE + Row number 1 forms a pair with Row 2 for Condition #3, subcondition "a". + Condition a ==> TRUE + Test Case Generation Notes: +TEST.END_NOTES: +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_START_STATE +TEST.VALUE:uut_prototype_stubs.getTreatmentState.return:TREATMENT_RECIRC_STATE +TEST.VALUE:uut_prototype_stubs.getValvePosition.return:VALVE_POSITION_A_INSERT_EJECT +TEST.EXPECTED:BloodLeak.handleBloodLeakNormalState.return:BLOOD_LEAK_NORMAL_STATE +TEST.END + +-- Subprogram: handleBloodLeakRecoverBloodDetectState + -- Test Case: handleBloodLeakRecoverBloodDetectState.002 TEST.UNIT:BloodLeak TEST.SUBPROGRAM:handleBloodLeakRecoverBloodDetectState @@ -3221,32 +3267,111 @@ TEST.EXPECTED:BloodLeak.handleBloodLeakRecoverBloodDetectState.return:BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE TEST.END --- Test Case: handleBloodLeakRecoverBloodDetectState.005 +-- Test Case: handleBloodLeakRecoverBloodDetectState_blood_detected_blood_pump_not_running TEST.UNIT:BloodLeak TEST.SUBPROGRAM:handleBloodLeakRecoverBloodDetectState TEST.NEW -TEST.NAME:handleBloodLeakRecoverBloodDetectState.005 -TEST.BASIS_PATH:5 of 5 +TEST.NAME:handleBloodLeakRecoverBloodDetectState_blood_detected_blood_pump_not_running TEST.NOTES: This is an automatically generated test case. - Test Path 5 - (1) if ((BLOOD_LEAK_NOT_DETECTED) == getBloodLeakStatus()) ==> TRUE - (2) if ((1) == didTimeout(bloodLeakRecoveryStartTimeMS, 2 * 1000)) ==> TRUE + Test Path 1 + (1) if ((BLOOD_LEAK_NOT_DETECTED) == getBloodLeakStatus()) ==> FALSE (3) if (isAlarmActive(ALARM_ID_HD_BLOOD_LEAK_RECOVERING_PLEASE_WAIT) != (1)) ==> FALSE (4) if ((1) == bloodLeakEmbModeHasZeroBeenRqustd) ==> FALSE Test Case Generation Notes: TEST.END_NOTES: -TEST.STUB:BloodLeak.getBloodLeakStatus -TEST.VALUE:BloodLeak.<>.bloodLeakEmbModeHasZeroBeenRqustd:<> -TEST.VALUE:BloodLeak.getBloodLeakStatus.return:BLOOD_LEAK_NOT_DETECTED +TEST.VALUE:BloodLeak.<>.bloodLeakStatus.data:0 +TEST.VALUE:BloodLeak.<>.bloodLeakStatus.override:0 +TEST.VALUE:BloodLeak.<>.bloodLeakRecoveryStartTimeMS:0 +TEST.VALUE:BloodLeak.<>.bloodLeakEmbModeHasZeroBeenRqustd:0 TEST.VALUE:BloodLeak.handleBloodLeakRecoverBloodDetectState.return:BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE -TEST.VALUE:uut_prototype_stubs.clearAlarmCondition.alarm:ALARM_ID_HD_BLOOD_LEAK_RECOVERING_PLEASE_WAIT TEST.VALUE:uut_prototype_stubs.isAlarmActive.return:1 +TEST.VALUE:uut_prototype_stubs.isDialInPumpRunning.return:0 TEST.VALUE:uut_prototype_stubs.didTimeout.return:1 +TEST.EXPECTED:BloodLeak.<>.bloodLeakRecoveryStartTimeMS:0 +TEST.EXPECTED:BloodLeak.<>.bloodLeakEmbModeHasZeroBeenRqustd:0 TEST.EXPECTED:BloodLeak.handleBloodLeakRecoverBloodDetectState.return:BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE +TEST.END + +-- Test Case: handleBloodLeakRecoverBloodDetectState_blood_detected_blood_pump_running_clear_TO +TEST.UNIT:BloodLeak +TEST.SUBPROGRAM:handleBloodLeakRecoverBloodDetectState +TEST.NEW +TEST.NAME:handleBloodLeakRecoverBloodDetectState_blood_detected_blood_pump_running_clear_TO +TEST.NOTES: +This is an automatically generated test case. + Test Path 1 + (1) if ((BLOOD_LEAK_NOT_DETECTED) == getBloodLeakStatus()) ==> FALSE + (3) if (isAlarmActive(ALARM_ID_HD_BLOOD_LEAK_RECOVERING_PLEASE_WAIT) != (1)) ==> FALSE + (4) if ((1) == bloodLeakEmbModeHasZeroBeenRqustd) ==> FALSE + Test Case Generation Notes: +TEST.END_NOTES: +TEST.VALUE:BloodLeak.<>.bloodLeakStatus.data:0 +TEST.VALUE:BloodLeak.<>.bloodLeakStatus.override:0 +TEST.VALUE:BloodLeak.<>.bloodLeakRecoveryStartTimeMS:0 +TEST.VALUE:BloodLeak.<>.bloodLeakEmbModeHasZeroBeenRqustd:0 +TEST.VALUE:BloodLeak.handleBloodLeakRecoverBloodDetectState.return:BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE +TEST.VALUE:uut_prototype_stubs.isAlarmActive.return:1 +TEST.VALUE:uut_prototype_stubs.isDialInPumpRunning.return:1 +TEST.VALUE:uut_prototype_stubs.didTimeout.return:1 +TEST.EXPECTED:BloodLeak.<>.bloodLeakRecoveryStartTimeMS:0 +TEST.EXPECTED:BloodLeak.<>.bloodLeakEmbModeHasZeroBeenRqustd:0 +TEST.EXPECTED:BloodLeak.handleBloodLeakRecoverBloodDetectState.return:BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE TEST.EXPECTED:uut_prototype_stubs.clearAlarmCondition.alarm:ALARM_ID_HD_BLOOD_LEAK_RECOVERING_PLEASE_WAIT TEST.END +-- Test Case: handleBloodLeakRecoverBloodDetectState_blood_detected_blood_pump_running_clear_not_TO +TEST.UNIT:BloodLeak +TEST.SUBPROGRAM:handleBloodLeakRecoverBloodDetectState +TEST.NEW +TEST.NAME:handleBloodLeakRecoverBloodDetectState_blood_detected_blood_pump_running_clear_not_TO +TEST.NOTES: +This is an automatically generated test case. + Test Path 1 + (1) if ((BLOOD_LEAK_NOT_DETECTED) == getBloodLeakStatus()) ==> FALSE + (3) if (isAlarmActive(ALARM_ID_HD_BLOOD_LEAK_RECOVERING_PLEASE_WAIT) != (1)) ==> FALSE + (4) if ((1) == bloodLeakEmbModeHasZeroBeenRqustd) ==> FALSE + Test Case Generation Notes: +TEST.END_NOTES: +TEST.VALUE:BloodLeak.<>.bloodLeakStatus.data:0 +TEST.VALUE:BloodLeak.<>.bloodLeakStatus.override:0 +TEST.VALUE:BloodLeak.<>.bloodLeakRecoveryStartTimeMS:0 +TEST.VALUE:BloodLeak.<>.bloodLeakEmbModeHasZeroBeenRqustd:0 +TEST.VALUE:BloodLeak.handleBloodLeakRecoverBloodDetectState.return:BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE +TEST.VALUE:uut_prototype_stubs.isAlarmActive.return:1 +TEST.VALUE:uut_prototype_stubs.isDialInPumpRunning.return:1 +TEST.VALUE:uut_prototype_stubs.didTimeout.return:0 +TEST.EXPECTED:BloodLeak.<>.bloodLeakRecoveryStartTimeMS:0 +TEST.EXPECTED:BloodLeak.<>.bloodLeakEmbModeHasZeroBeenRqustd:0 +TEST.EXPECTED:BloodLeak.handleBloodLeakRecoverBloodDetectState.return:BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE +TEST.END + +-- Test Case: handleBloodLeakRecoverBloodDetectState_no_blood_deetected_blood_pump_running +TEST.UNIT:BloodLeak +TEST.SUBPROGRAM:handleBloodLeakRecoverBloodDetectState +TEST.NEW +TEST.NAME:handleBloodLeakRecoverBloodDetectState_no_blood_deetected_blood_pump_running +TEST.BASIS_PATH:1 of 5 +TEST.NOTES: +This is an automatically generated test case. + Test Path 1 + (1) if ((BLOOD_LEAK_NOT_DETECTED) == getBloodLeakStatus()) ==> FALSE + (3) if (isAlarmActive(ALARM_ID_HD_BLOOD_LEAK_RECOVERING_PLEASE_WAIT) != (1)) ==> FALSE + (4) if ((1) == bloodLeakEmbModeHasZeroBeenRqustd) ==> FALSE + Test Case Generation Notes: +TEST.END_NOTES: +TEST.STUB:BloodLeak.getBloodLeakStatus +TEST.VALUE:BloodLeak.<>.bloodLeakRecoveryStartTimeMS:0 +TEST.VALUE:BloodLeak.<>.bloodLeakEmbModeHasZeroBeenRqustd:0 +TEST.VALUE:BloodLeak.getBloodLeakStatus.return:BLOOD_LEAK_DETECTED +TEST.VALUE:BloodLeak.handleBloodLeakRecoverBloodDetectState.return:BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE +TEST.VALUE:uut_prototype_stubs.isAlarmActive.return:1 +TEST.VALUE:uut_prototype_stubs.isDialInPumpRunning.return:1 +TEST.EXPECTED:BloodLeak.<>.bloodLeakRecoveryStartTimeMS:0 +TEST.EXPECTED:BloodLeak.<>.bloodLeakEmbModeHasZeroBeenRqustd:0 +TEST.EXPECTED:BloodLeak.handleBloodLeakRecoverBloodDetectState.return:BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE +TEST.END + -- Subprogram: handleBloodLeakVerifyIntensityAfterZeroingState -- Test Case: handleBloodLeakVerifyIntensityAfterZeroingState_not_ready @@ -3395,11 +3520,15 @@ TEST.NEW TEST.NAME:handleBloodLeakWaitForPostState.004 TEST.IMPORT_FAILURES: -(I) @LINE: 3390 +(I) @LINE: 3461 >>> 'CS_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. -(I) @LINE: 3390 +(I) @LINE: 3461 >>> 'D_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. (E) Errors from previous script import(s) + >>> (I) @LINE: 3390 + >>> >>> 'CS_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. + >>> (I) @LINE: 3390 + >>> >>> 'D_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 3330 >>> >>> 'CS_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 3330 @@ -3493,11 +3622,15 @@ TEST.NEW TEST.NAME:handleBloodLeakWaitForPostState.006 TEST.IMPORT_FAILURES: -(I) @LINE: 3483 +(I) @LINE: 3558 >>> 'CS_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. -(I) @LINE: 3483 +(I) @LINE: 3558 >>> 'D_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. (E) Errors from previous script import(s) + >>> (I) @LINE: 3483 + >>> >>> 'CS_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. + >>> (I) @LINE: 3483 + >>> >>> 'D_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 3419 >>> >>> 'CS_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 3419 @@ -3568,11 +3701,15 @@ TEST.NEW TEST.NAME:handleBloodLeakWaitForPostState.007 TEST.IMPORT_FAILURES: -(I) @LINE: 3554 +(I) @LINE: 3633 >>> 'CS_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. -(I) @LINE: 3554 +(I) @LINE: 3633 >>> 'D_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. (E) Errors from previous script import(s) + >>> (I) @LINE: 3554 + >>> >>> 'CS_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. + >>> (I) @LINE: 3554 + >>> >>> 'D_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 3486 >>> >>> 'CS_EMB_MODE_CMD' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 3486 @@ -3888,6 +4025,12 @@ TEST.SUBPROGRAM:isDialysateLineInBypass TEST.NEW TEST.NAME:isDialysateLineInBypass.001 +TEST.IMPORT_FAILURES: +(E) @LINE: 3901 TEST.VALUE:uut_prototype_stubs.getMeasuredDialInPumpSpeed.return:<> + >>> Could not find function getMeasuredDialInPumpSpeed + >>> in unit uut_prototype_stubs. + >>> Value Line Error - Command Ignored +TEST.END_IMPORT_FAILURES: TEST.BASIS_PATH:1 of 4 TEST.NOTES: This is an automatically generated test case. @@ -3898,7 +4041,6 @@ Test Case Generation Notes: TEST.END_NOTES: TEST.VALUE:BloodLeak.isDialysateLineInBypass.return:0 -TEST.VALUE:uut_prototype_stubs.getMeasuredDialInPumpSpeed.return:<> TEST.VALUE:uut_prototype_stubs.getValvePosition.return:VALVE_POSITION_NOT_IN_POSITION TEST.EXPECTED:BloodLeak.isDialysateLineInBypass.return:0 TEST.END @@ -3908,6 +4050,12 @@ TEST.SUBPROGRAM:isDialysateLineInBypass TEST.NEW TEST.NAME:isDialysateLineInBypass.002 +TEST.IMPORT_FAILURES: +(E) @LINE: 3921 TEST.VALUE:uut_prototype_stubs.getMeasuredDialInPumpSpeed.return:<> + >>> Could not find function getMeasuredDialInPumpSpeed + >>> in unit uut_prototype_stubs. + >>> Value Line Error - Command Ignored +TEST.END_IMPORT_FAILURES: TEST.BASIS_PATH:2 of 4 TEST.NOTES: This is an automatically generated test case. @@ -3918,7 +4066,6 @@ Test Case Generation Notes: TEST.END_NOTES: TEST.VALUE:BloodLeak.isDialysateLineInBypass.return:0 -TEST.VALUE:uut_prototype_stubs.getMeasuredDialInPumpSpeed.return:<> TEST.VALUE:uut_prototype_stubs.getValvePosition.return:VALVE_POSITION_NOT_IN_POSITION TEST.EXPECTED:BloodLeak.isDialysateLineInBypass.return:0 TEST.END @@ -3928,6 +4075,12 @@ TEST.SUBPROGRAM:isDialysateLineInBypass TEST.NEW TEST.NAME:isDialysateLineInBypass.003 +TEST.IMPORT_FAILURES: +(E) @LINE: 3942 TEST.VALUE:uut_prototype_stubs.getMeasuredDialInPumpSpeed.return:<> + >>> Could not find function getMeasuredDialInPumpSpeed + >>> in unit uut_prototype_stubs. + >>> Value Line Error - Command Ignored +TEST.END_IMPORT_FAILURES: TEST.BASIS_PATH:3 of 4 (partial) TEST.NOTES: This is an automatically generated test case. @@ -3939,32 +4092,10 @@ Conflict: Trying to set variable uut_prototype_stubs.getValvePosition.return 'equal to' and 'not equal to' same value in branches 1/2 TEST.END_NOTES: TEST.VALUE:BloodLeak.isDialysateLineInBypass.return:1 -TEST.VALUE:uut_prototype_stubs.getMeasuredDialInPumpSpeed.return:<> TEST.VALUE:uut_prototype_stubs.getValvePosition.return:VALVE_POSITION_NOT_IN_POSITION TEST.EXPECTED:BloodLeak.isDialysateLineInBypass.return:0 TEST.END --- Test Case: isDialysateLineInBypass.004 -TEST.UNIT:BloodLeak -TEST.SUBPROGRAM:isDialysateLineInBypass -TEST.NEW -TEST.NAME:isDialysateLineInBypass.004 -TEST.BASIS_PATH:4 of 4 (partial) -TEST.NOTES: -This is an automatically generated test case. - Test Path 4 - (1) if ((VALVE_POSITION_C_CLOSE) == getValvePosition(VDI)) ==> TRUE - (2) if ((VALVE_POSITION_C_CLOSE) == getValvePosition(VDO)) ==> FALSE - (3) if (getMeasuredDialInPumpSpeed() <= (9.999999939e-09F)) ==> FALSE - Test Case Generation Notes: - Conflict: Trying to set variable uut_prototype_stubs.getValvePosition.return 'equal to' and 'not equal to' same value in branches 1/2 -TEST.END_NOTES: -TEST.VALUE:BloodLeak.isDialysateLineInBypass.return:1 -TEST.VALUE:uut_prototype_stubs.getMeasuredDialInPumpSpeed.return:<> -TEST.VALUE:uut_prototype_stubs.getValvePosition.return:VALVE_POSITION_C_CLOSE -TEST.EXPECTED:BloodLeak.isDialysateLineInBypass.return:0 -TEST.END - -- Subprogram: isEmbModeCmdQueueEmpty -- Test Case: isEmbModeCmdQueueEmpty.001 @@ -4829,7 +4960,7 @@ TEST.VALUE:BloodLeak.<>.bloodLeakEmbModeDetectOverride.ovData:15 TEST.VALUE:BloodLeak.<>.bloodLeakEmbModeDetectOverride.override:0xCCC33C33 TEST.VALUE:BloodLeak.testResetBloodLeakEmbeddedModeInfoOverride.command:6 -TEST.VALUE:BloodLeak.testResetBloodLeakEmbeddedModeInfoOverride.return:00 +TEST.VALUE:BloodLeak.testResetBloodLeakEmbeddedModeInfoOverride.return:0 TEST.VALUE:uut_prototype_stubs.isTestingActivated.return:1 TEST.EXPECTED:BloodLeak.<>.bloodLeakEmbModeDetectOverride.ovData:0 TEST.EXPECTED:BloodLeak.<>.bloodLeakEmbModeDetectOverride.override:0x0 @@ -4844,7 +4975,7 @@ TEST.VALUE:BloodLeak.<>.bloodLeakEmbModeIntensityOverride.ovData:15 TEST.VALUE:BloodLeak.<>.bloodLeakEmbModeIntensityOverride.override:0xCCC33C33 TEST.VALUE:BloodLeak.testResetBloodLeakEmbeddedModeInfoOverride.command:5 -TEST.VALUE:BloodLeak.testResetBloodLeakEmbeddedModeInfoOverride.return:00 +TEST.VALUE:BloodLeak.testResetBloodLeakEmbeddedModeInfoOverride.return:0 TEST.VALUE:uut_prototype_stubs.isTestingActivated.return:1 TEST.EXPECTED:BloodLeak.<>.bloodLeakEmbModeIntensityOverride.ovData:0 TEST.EXPECTED:BloodLeak.<>.bloodLeakEmbModeIntensityOverride.override:0x0 @@ -4857,7 +4988,7 @@ TEST.NEW TEST.NAME:testResetBloodLeakEmbeddedModeInfoOverride_testing_activated_other_cmd TEST.VALUE:BloodLeak.testResetBloodLeakEmbeddedModeInfoOverride.command:3 -TEST.VALUE:BloodLeak.testResetBloodLeakEmbeddedModeInfoOverride.return:01 +TEST.VALUE:BloodLeak.testResetBloodLeakEmbeddedModeInfoOverride.return:1 TEST.VALUE:uut_prototype_stubs.isTestingActivated.return:1 TEST.EXPECTED:BloodLeak.testResetBloodLeakEmbeddedModeInfoOverride.return:0 TEST.END @@ -4938,7 +5069,7 @@ TEST.VALUE:BloodLeak.<>.bloodLeakZeroingStatus.zeroingDriftIntervalTimeMS.ovData:5 TEST.VALUE:BloodLeak.<>.bloodLeakZeroingStatus.zeroingDriftIntervalTimeMS.override:159 TEST.VALUE:BloodLeak.testResetBloodLeakZeroingIntervalInMinsOverride.upperRangeInterval:0 -TEST.VALUE:BloodLeak.testResetBloodLeakZeroingIntervalInMinsOverride.return:00 +TEST.VALUE:BloodLeak.testResetBloodLeakZeroingIntervalInMinsOverride.return:0 TEST.VALUE:uut_prototype_stubs.isTestingActivated.return:1 TEST.EXPECTED:BloodLeak.<>.bloodLeakZeroingStatus.zeroingDriftIntervalTimeMS.ovData:15 TEST.EXPECTED:BloodLeak.<>.bloodLeakZeroingStatus.zeroingDriftIntervalTimeMS.override:0 @@ -4954,7 +5085,7 @@ TEST.VALUE:BloodLeak.<>.bloodLeakZeroingStatus.zeroingUpperRangeIntervalTimeMS.ovData:5 TEST.VALUE:BloodLeak.<>.bloodLeakZeroingStatus.zeroingUpperRangeIntervalTimeMS.override:159 TEST.VALUE:BloodLeak.testResetBloodLeakZeroingIntervalInMinsOverride.upperRangeInterval:1 -TEST.VALUE:BloodLeak.testResetBloodLeakZeroingIntervalInMinsOverride.return:00 +TEST.VALUE:BloodLeak.testResetBloodLeakZeroingIntervalInMinsOverride.return:0 TEST.VALUE:uut_prototype_stubs.isTestingActivated.return:1 TEST.EXPECTED:BloodLeak.<>.bloodLeakZeroingStatus.zeroingUpperRangeIntervalTimeMS.ovData:15 TEST.EXPECTED:BloodLeak.<>.bloodLeakZeroingStatus.zeroingUpperRangeIntervalTimeMS.override:0 Index: vectorcast/Hercules_RM46_HD_Project/environment/INT_BATTERY/INT_BATTERY.tst =================================================================== diff -u -rfb714597ad515d3774d69b94808f065788504724 -redd44135869db32d23a0c809f6107b153c34d3bd --- vectorcast/Hercules_RM46_HD_Project/environment/INT_BATTERY/INT_BATTERY.tst (.../INT_BATTERY.tst) (revision fb714597ad515d3774d69b94808f065788504724) +++ vectorcast/Hercules_RM46_HD_Project/environment/INT_BATTERY/INT_BATTERY.tst (.../INT_BATTERY.tst) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -27,7 +27,7 @@ TEST.VALUE:uut_prototype_stubs.getDGSubMode.return:0 TEST.VALUE:uut_prototype_stubs.isDGCommunicating.return:1 TEST.VALUE:uut_prototype_stubs.isPOSTPassed.return:1 -TEST.VALUE:uut_prototype_stubs.getDGVersion.return.compatibilityRev:15 +TEST.VALUE:uut_prototype_stubs.getDGVersion.return.compatibilityRev:16 TEST.VALUE:ModeStandby.<>.currentStandbyState:STANDBY_WAIT_FOR_TREATMENT_STATE TEST.VALUE:ModeStandby.signalUserInitiateTreatment.return:1 TEST.EXPECTED:ModeStandby.signalUserInitiateTreatment.return:0 Index: vectorcast/Hercules_RM46_HD_Project/environment/INT_RINSEBACK/INT_RINSEBACK.tst =================================================================== diff -u -r7034ec1e752c8145ebb6a7afcd07e17378ddb807 -redd44135869db32d23a0c809f6107b153c34d3bd --- vectorcast/Hercules_RM46_HD_Project/environment/INT_RINSEBACK/INT_RINSEBACK.tst (.../INT_RINSEBACK.tst) (revision 7034ec1e752c8145ebb6a7afcd07e17378ddb807) +++ vectorcast/Hercules_RM46_HD_Project/environment/INT_RINSEBACK/INT_RINSEBACK.tst (.../INT_RINSEBACK.tst) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -33,19 +33,6 @@ TEST.EXPECTED:uut_prototype_stubs.broadcastData.msgID:MSG_ID_TREATMENT_TIME_DATA,MSG_ID_TREATMENT_STATE_DATA TEST.END --- Subprogram: handleTreatmentEndState - --- Test Case: handleTreatmentEndState -TEST.UNIT:ModeTreatment -TEST.SUBPROGRAM:handleTreatmentEndState -TEST.NEW -TEST.NAME:handleTreatmentEndState -TEST.COMPOUND_ONLY -TEST.VALUE:ModeTreatment.<>.initiateRinsebackAlarmResponseRequest:0 -TEST.VALUE:ModeTreatment.<>.endTreatmentAlarmResponseRequest:0 -TEST.VALUE:ModeTreatment.<>.treatmentEndToRinsebackRequest:1 -TEST.END - -- Subprogram: handleTreatmentRinsebackState -- Test Case: execRinseback @@ -100,7 +87,7 @@ TEST.VALUE:uut_prototype_stubs.getTestConfigStatus.return:0 TEST.VALUE:OperationModes.getPreviousOperationMode.return:MODE_PRET TEST.EXPECTED:Rinseback.<>.rinsebackState:RINSEBACK_STOP_INIT_STATE -TEST.EXPECTED:Rinseback.<>.rinsebackTargetVolume_mL:350.0 +TEST.EXPECTED:Rinseback.<>.rinsebackTargetVolume_mL:300.0 TEST.END -- Unit: SystemCommMessages Index: vectorcast/Hercules_RM46_HD_Project/environment/INT_RINSEBACK/INT_RINSEBACK_cba.cvr =================================================================== diff -u -r5cd07dbbd59e5a5d901dc620cdf2ae26e912444b -redd44135869db32d23a0c809f6107b153c34d3bd --- vectorcast/Hercules_RM46_HD_Project/environment/INT_RINSEBACK/INT_RINSEBACK_cba.cvr (.../INT_RINSEBACK_cba.cvr) (revision 5cd07dbbd59e5a5d901dc620cdf2ae26e912444b) +++ vectorcast/Hercules_RM46_HD_Project/environment/INT_RINSEBACK/INT_RINSEBACK_cba.cvr (.../INT_RINSEBACK_cba.cvr) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -383,7 +383,7 @@ 16)static F32 getRinsebackVolume( void ) Line #249 RESULT.CBA.NOTES_END -RESULT.CBA.UNIT: /home/fw/wshd/hdfirmware/firmware/App/Modes/Rinseback.c +RESULT.CBA.UNIT: /home/fw/workspace_hd/hdfirmware/firmware/App/Modes/Rinseback.c RESULT.CBA.FUNCTION: getRinsebackVolume RESULT.CBA.LINE.BEGIN RESULT.CBA.LINE: 0 Index: vectorcast/Hercules_RM46_HD_Project/environment/INT_SYRINGEPUMP/INT_SYRINGEPUMP.tst =================================================================== diff -u -r120a51317edc52c160b7917327674af2e403ee5e -redd44135869db32d23a0c809f6107b153c34d3bd --- vectorcast/Hercules_RM46_HD_Project/environment/INT_SYRINGEPUMP/INT_SYRINGEPUMP.tst (.../INT_SYRINGEPUMP.tst) (revision 120a51317edc52c160b7917327674af2e403ee5e) +++ vectorcast/Hercules_RM46_HD_Project/environment/INT_SYRINGEPUMP/INT_SYRINGEPUMP.tst (.../INT_SYRINGEPUMP.tst) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -102,8 +102,9 @@ TEST.SUBPROGRAM:execInitAndPOSTMode TEST.NEW TEST.NAME:execSyringePumpSelfTest +TEST.VALUE:uut_prototype_stubs.getNVRecord2Driver.nvData:GET_CAL_HEPARIN_FORCE_SENSOR +TEST.VALUE:uut_prototype_stubs.getNVRecord2Driver.return:1 TEST.VALUE:ModeInitPOST.<>.postState:POST_STATE_SYRINGE_PUMP -TEST.EXPECTED:uut_prototype_stubs.getNVRecord2Driver.nvData:GET_CAL_HEPARIN_FORCE_SENSOR TEST.END -- Unit: ModePostTreat Index: vectorcast/Hercules_RM46_HD_Project/environment/INT_SYRINGEPUMP/INT_SYRINGEPUMP_cba.cvr =================================================================== diff -u -r3ec9e333f6fe3455bcc36ab7097d4d2257c7b273 -redd44135869db32d23a0c809f6107b153c34d3bd --- vectorcast/Hercules_RM46_HD_Project/environment/INT_SYRINGEPUMP/INT_SYRINGEPUMP_cba.cvr (.../INT_SYRINGEPUMP_cba.cvr) (revision 3ec9e333f6fe3455bcc36ab7097d4d2257c7b273) +++ vectorcast/Hercules_RM46_HD_Project/environment/INT_SYRINGEPUMP/INT_SYRINGEPUMP_cba.cvr (.../INT_SYRINGEPUMP_cba.cvr) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -701,7 +701,7 @@ 19) BOOL isSyringeVolumeAdequate( void ) Line #1006 RESULT.CBA.NOTES_END -RESULT.CBA.UNIT: /home/fw/wshd/hdfirmware/firmware/App/Controllers/SyringePump.c +RESULT.CBA.UNIT: /home/fw/workspace_hd/hdfirmware/firmware/App/Controllers/SyringePump.c RESULT.CBA.FUNCTION: calcStepperToggleTimeForTargetRate RESULT.CBA.LINE.BEGIN RESULT.CBA.LINE: 0 Index: vectorcast/Hercules_RM46_HD_Project/environment/MODEINITPOST/MODEINITPOST.tst =================================================================== diff -u -rfb714597ad515d3774d69b94808f065788504724 -redd44135869db32d23a0c809f6107b153c34d3bd --- vectorcast/Hercules_RM46_HD_Project/environment/MODEINITPOST/MODEINITPOST.tst (.../MODEINITPOST.tst) (revision fb714597ad515d3774d69b94808f065788504724) +++ vectorcast/Hercules_RM46_HD_Project/environment/MODEINITPOST/MODEINITPOST.tst (.../MODEINITPOST.tst) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -22,7 +22,7 @@ TEST.SUBPROGRAM:execFWCompatibilityTest TEST.NEW TEST.NAME:execFWCompatibilityTest.001 -TEST.VALUE:ModeInitPOST.<>.uiVersion.compatibility:15 +TEST.VALUE:ModeInitPOST.<>.uiVersion.compatibility:16 TEST.VALUE:ModeInitPOST.execFWCompatibilityTest.return:SELF_TEST_STATUS_IN_PROGRESS TEST.EXPECTED:ModeInitPOST.execFWCompatibilityTest.return:SELF_TEST_STATUS_PASSED TEST.END @@ -778,6 +778,39 @@ TEST.EXPECTED:ModeInitPOST.isPOSTPassed.return:0 TEST.END +-- Subprogram: sendSerialNumberAndInstitutionalToUI + +-- Test Case: sendSerialNumberAndInstitutionalToUI_SN_has_been_sent +TEST.UNIT:ModeInitPOST +TEST.SUBPROGRAM:sendSerialNumberAndInstitutionalToUI +TEST.NEW +TEST.NAME:sendSerialNumberAndInstitutionalToUI_SN_has_been_sent +TEST.VALUE:ModeInitPOST.<>.postState:POST_STATE_FW_INTEGRITY +TEST.VALUE:ModeInitPOST.<>.hasSNAndInstBeenSent:1 +TEST.EXPECTED:ModeInitPOST.<>.postState:POST_STATE_FW_INTEGRITY +TEST.END + +-- Test Case: sendSerialNumberAndInstitutionalToUI_SN_has_been_sent_and_>_NV_Data +TEST.UNIT:ModeInitPOST +TEST.SUBPROGRAM:sendSerialNumberAndInstitutionalToUI +TEST.NEW +TEST.NAME:sendSerialNumberAndInstitutionalToUI_SN_has_been_sent_and_>_NV_Data +TEST.VALUE:ModeInitPOST.<>.postState:POST_STATE_BLOOD_FLOW +TEST.VALUE:ModeInitPOST.<>.hasSNAndInstBeenSent:0 +TEST.EXPECTED:ModeInitPOST.<>.postState:POST_STATE_BLOOD_FLOW +TEST.EXPECTED:ModeInitPOST.<>.hasSNAndInstBeenSent:1 +TEST.END + +-- Test Case: sendSerialNumberAndInstitutionalToUI_all_false +TEST.UNIT:ModeInitPOST +TEST.SUBPROGRAM:sendSerialNumberAndInstitutionalToUI +TEST.NEW +TEST.NAME:sendSerialNumberAndInstitutionalToUI_all_false +TEST.VALUE:ModeInitPOST.<>.postState:POST_STATE_FW_INTEGRITY +TEST.VALUE:ModeInitPOST.<>.hasSNAndInstBeenSent:0 +TEST.EXPECTED:ModeInitPOST.<>.postState:POST_STATE_FW_INTEGRITY +TEST.END + -- Subprogram: signalAlarmActionToInitAndPOSTMode -- Test Case: signalAlarmActionToInitAndPOSTMode.001 Index: vectorcast/Hercules_RM46_HD_Project/environment/MODESTANDBY/MODESTANDBY.tst =================================================================== diff -u -rfb714597ad515d3774d69b94808f065788504724 -redd44135869db32d23a0c809f6107b153c34d3bd --- vectorcast/Hercules_RM46_HD_Project/environment/MODESTANDBY/MODESTANDBY.tst (.../MODESTANDBY.tst) (revision fb714597ad515d3774d69b94808f065788504724) +++ vectorcast/Hercules_RM46_HD_Project/environment/MODESTANDBY/MODESTANDBY.tst (.../MODESTANDBY.tst) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -114,11 +114,15 @@ TEST.NEW TEST.NAME:execStandbyMode.005 TEST.IMPORT_FAILURES: -(I) @LINE: 232 - >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. (I) @LINE: 236 >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. +(I) @LINE: 240 + >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. (E) Errors from previous script import(s) + >>> (I) @LINE: 232 + >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. + >>> (I) @LINE: 236 + >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 226 >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 230 @@ -246,11 +250,15 @@ TEST.NEW TEST.NAME:execStandbyMode.006 TEST.IMPORT_FAILURES: -(I) @LINE: 360 +(I) @LINE: 368 >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. -(I) @LINE: 362 +(I) @LINE: 370 >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. (E) Errors from previous script import(s) + >>> (I) @LINE: 360 + >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. + >>> (I) @LINE: 362 + >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 350 >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 352 @@ -398,11 +406,15 @@ TEST.NEW TEST.NAME:execStandbyMode.008 TEST.IMPORT_FAILURES: -(I) @LINE: 508 +(I) @LINE: 520 >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. -(I) @LINE: 511 +(I) @LINE: 523 >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. (E) Errors from previous script import(s) + >>> (I) @LINE: 508 + >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. + >>> (I) @LINE: 511 + >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 494 >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 497 @@ -529,11 +541,15 @@ TEST.NEW TEST.NAME:execStandbyMode.009 TEST.IMPORT_FAILURES: -(I) @LINE: 635 +(I) @LINE: 651 >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. -(I) @LINE: 638 +(I) @LINE: 654 >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. (E) Errors from previous script import(s) + >>> (I) @LINE: 635 + >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. + >>> (I) @LINE: 638 + >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 617 >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 620 @@ -711,11 +727,15 @@ TEST.NEW TEST.NAME:execStandbyMode.012 TEST.IMPORT_FAILURES: -(I) @LINE: 813 +(I) @LINE: 833 >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. -(I) @LINE: 817 +(I) @LINE: 837 >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. (E) Errors from previous script import(s) + >>> (I) @LINE: 813 + >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. + >>> (I) @LINE: 817 + >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 791 >>> >>> 'STANDBY_START_STATE' was specified as a macro, but it is in the symbol dictionary. >>> (I) @LINE: 795 @@ -5183,7 +5203,7 @@ TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_STAN TEST.VALUE:uut_prototype_stubs.isDGCommunicating.return:1 TEST.VALUE:uut_prototype_stubs.isPOSTPassed.return:1 -TEST.VALUE:uut_prototype_stubs.getDGVersion.return.compatibilityRev:15 +TEST.VALUE:uut_prototype_stubs.getDGVersion.return.compatibilityRev:16 TEST.EXPECTED:ModeStandby.signalUserInitiateTreatment.return:0 TEST.END @@ -5206,7 +5226,7 @@ TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_STAN TEST.VALUE:uut_prototype_stubs.isDGCommunicating.return:1 TEST.VALUE:uut_prototype_stubs.isPOSTPassed.return:1 -TEST.VALUE:uut_prototype_stubs.getDGVersion.return.compatibilityRev:15 +TEST.VALUE:uut_prototype_stubs.getDGVersion.return.compatibilityRev:16 TEST.EXPECTED:ModeStandby.signalUserInitiateTreatment.return:0 TEST.END @@ -5270,7 +5290,7 @@ TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_STAN TEST.VALUE:uut_prototype_stubs.isDGCommunicating.return:1 TEST.VALUE:uut_prototype_stubs.isPOSTPassed.return:1 -TEST.VALUE:uut_prototype_stubs.getDGVersion.return.compatibilityRev:15 +TEST.VALUE:uut_prototype_stubs.getDGVersion.return.compatibilityRev:16 TEST.EXPECTED:ModeStandby.signalUserInitiateTreatment.return:0 TEST.END @@ -5293,7 +5313,7 @@ TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_STAN TEST.VALUE:uut_prototype_stubs.isDGCommunicating.return:1 TEST.VALUE:uut_prototype_stubs.isPOSTPassed.return:1 -TEST.VALUE:uut_prototype_stubs.getDGVersion.return.compatibilityRev:15 +TEST.VALUE:uut_prototype_stubs.getDGVersion.return.compatibilityRev:16 TEST.EXPECTED:ModeStandby.signalUserInitiateTreatment.return:1 TEST.END Index: vectorcast/Hercules_RM46_HD_Project/environment/RINSEBACK/RINSEBACK.tst =================================================================== diff -u -r887e9a3dfbce1255c6469d33e49afe191af21d25 -redd44135869db32d23a0c809f6107b153c34d3bd --- vectorcast/Hercules_RM46_HD_Project/environment/RINSEBACK/RINSEBACK.tst (.../RINSEBACK.tst) (revision 887e9a3dfbce1255c6469d33e49afe191af21d25) +++ vectorcast/Hercules_RM46_HD_Project/environment/RINSEBACK/RINSEBACK.tst (.../RINSEBACK.tst) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -2242,7 +2242,7 @@ TEST.EXPECTED:Rinseback.<>.rinsebackRate_mL_min:0 TEST.EXPECTED:Rinseback.<>.rinsebackTimerCtr:0 TEST.EXPECTED:Rinseback.<>.cumulativeRinsebackVolume_mL.data:0.0 -TEST.EXPECTED:Rinseback.<>.targetRinsebackVolumePlusAdditional_mL:350.0 +TEST.EXPECTED:Rinseback.<>.targetRinsebackVolumePlusAdditional_mL:300.0 TEST.EXPECTED:Rinseback.<>.additionalRinsebackVolume_mL:0.0 TEST.EXPECTED:Rinseback.<>.totalAdditionalRinsebackVolume_mL:0.0 TEST.EXPECTED:Rinseback.<>.rinsebackAdditionalTimerCtr:0 Index: vectorcast/Hercules_RM46_HD_Project/environment/TREATMENTEND/TREATMENTEND.tst =================================================================== diff -u -r887e9a3dfbce1255c6469d33e49afe191af21d25 -redd44135869db32d23a0c809f6107b153c34d3bd --- vectorcast/Hercules_RM46_HD_Project/environment/TREATMENTEND/TREATMENTEND.tst (.../TREATMENTEND.tst) (revision 887e9a3dfbce1255c6469d33e49afe191af21d25) +++ vectorcast/Hercules_RM46_HD_Project/environment/TREATMENTEND/TREATMENTEND.tst (.../TREATMENTEND.tst) (revision edd44135869db32d23a0c809f6107b153c34d3bd) @@ -642,18 +642,26 @@ TEST.SUBPROGRAM:setupForTxEndWait4RinsebackState TEST.NEW TEST.NAME:setupForTxEndWait4RinsebackState.001 +TEST.IMPORT_FAILURES: +(E) @LINE: 651 TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.param:TREATMENT_PARAM_BLOOD_FLOW + >>> Could not find function getTreatmentParameterU32 + >>> in unit uut_prototype_stubs. + >>> Value Line Error - Command Ignored +(E) @LINE: 652 TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.return:450 + >>> Could not find function getTreatmentParameterU32 + >>> in unit uut_prototype_stubs. + >>> Value Line Error - Command Ignored +TEST.END_IMPORT_FAILURES: TEST.VALUE:TreatmentEnd.<>.bloodSittingTimerCtr:0 TEST.VALUE:uut_prototype_stubs.setAlarmUserActionEnabled.action:ALARM_USER_ACTION_RESUME TEST.VALUE:uut_prototype_stubs.setAlarmUserActionEnabled.enabled:0 TEST.VALUE:uut_prototype_stubs.setBloodPumpTargetFlowRate.flowRate:100 TEST.VALUE:uut_prototype_stubs.setBloodPumpTargetFlowRate.dir:MOTOR_DIR_FORWARD TEST.VALUE:uut_prototype_stubs.setBloodPumpTargetFlowRate.mode:PUMP_CONTROL_MODE_CLOSED_LOOP -TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.param:TREATMENT_PARAM_BLOOD_FLOW -TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.return:450 TEST.VALUE:uut_prototype_stubs.setValvePosition.valve:VBA,VBV TEST.VALUE:uut_prototype_stubs.setValvePosition.position:VALVE_POSITION_B_OPEN TEST.EXPECTED:TreatmentEnd.<>.bloodSittingTimerCtr:0 -TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.flowRate:450 +TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.flowRate:150 TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.dir:MOTOR_DIR_FORWARD TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.mode:PUMP_CONTROL_MODE_CLOSED_LOOP TEST.EXPECTED:uut_prototype_stubs.setValvePosition.valve:VBA,VBV @@ -750,18 +758,26 @@ TEST.SUBPROGRAM:transitionToTreatmentEnd TEST.NEW TEST.NAME:transitionToTreatmentEnd.001 +TEST.IMPORT_FAILURES: +(E) @LINE: 758 TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.param:TREATMENT_PARAM_BLOOD_FLOW + >>> Could not find function getTreatmentParameterU32 + >>> in unit uut_prototype_stubs. + >>> Value Line Error - Command Ignored +(E) @LINE: 759 TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.return:450 + >>> Could not find function getTreatmentParameterU32 + >>> in unit uut_prototype_stubs. + >>> Value Line Error - Command Ignored +TEST.END_IMPORT_FAILURES: TEST.VALUE:uut_prototype_stubs.setAlarmUserActionEnabled.action:ALARM_USER_ACTION_RESUME,ALARM_USER_ACTION_RINSEBACK,ALARM_USER_ACTION_END_TREATMENT TEST.VALUE:uut_prototype_stubs.setAlarmUserActionEnabled.enabled:1 TEST.VALUE:uut_prototype_stubs.setBloodPumpTargetFlowRate.flowRate:100 TEST.VALUE:uut_prototype_stubs.setBloodPumpTargetFlowRate.dir:MOTOR_DIR_FORWARD TEST.VALUE:uut_prototype_stubs.setBloodPumpTargetFlowRate.mode:PUMP_CONTROL_MODE_CLOSED_LOOP -TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.param:TREATMENT_PARAM_BLOOD_FLOW -TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.return:450 TEST.VALUE:uut_prototype_stubs.setValvePosition.valve:VDI,VDO,VBA,VBV TEST.VALUE:uut_prototype_stubs.setValvePosition.position:(2)VALVE_POSITION_C_CLOSE,(2)VALVE_POSITION_B_OPEN TEST.EXPECTED:uut_prototype_stubs.setAlarmUserActionEnabled.action:ALARM_USER_ACTION_RESUME,ALARM_USER_ACTION_RINSEBACK,ALARM_USER_ACTION_END_TREATMENT TEST.EXPECTED:uut_prototype_stubs.setAlarmUserActionEnabled.enabled:0,(2)1 -TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.flowRate:450 +TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.flowRate:150 TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.dir:MOTOR_DIR_FORWARD TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.mode:PUMP_CONTROL_MODE_CLOSED_LOOP TEST.EXPECTED:uut_prototype_stubs.setValvePosition.valve:VDI,VDO,VBA,VBV