Index: sources/view/hd/data/pretreatment/VPreTreatmentStatesData.cpp =================================================================== diff -u -r376859852f4d1a07263c44524aec347db29e0133 -r2ef03b2ce51b4dc507f66e9671953a8e0824bde9 --- sources/view/hd/data/pretreatment/VPreTreatmentStatesData.cpp (.../VPreTreatmentStatesData.cpp) (revision 376859852f4d1a07263c44524aec347db29e0133) +++ sources/view/hd/data/pretreatment/VPreTreatmentStatesData.cpp (.../VPreTreatmentStatesData.cpp) (revision 2ef03b2ce51b4dc507f66e9671953a8e0824bde9) @@ -1,15 +1,15 @@ /*! * - * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * Copyright (c) 2021-2024 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file VPreTreatmentStatesData.cpp * \author (last) Behrouz NematiPour - * \date (last) 01-Mar-2021 + * \date (last) 01-Aug-2023 * \author (original) Behrouz NematiPour - * \date (original) 13-Aug-2020 + * \date (original) 11-Apr-2021 * */ #include "VPreTreatmentStatesData.h" @@ -36,11 +36,9 @@ primeState ( vData.mPrimeState ); recirculateState ( vData.mRecirculateState ); patientConnectionState ( vData.mPatientConnectionState ); + wetSelfTestsState ( vData.mWetSelfTestsState ); + preTreatmentRsrvrState ( vData.mPreTreatmentRsrvrState ); - // start state - start ( vData.mSubMode == GuiPreTreatmentStates ::HD_PRE_TREATMENT_START_STATE ); - - // water sample state bool mWaterSample = vData.mSubMode == GuiPreTreatmentStates ::HD_PRE_TREATMENT_WATER_SAMPLE_STATE ; if ( mWaterSample ) { @@ -53,7 +51,7 @@ bool mSelfTestConsumables = vData.mSubMode == GuiPreTreatmentStates ::HD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE ; if ( mSelfTestConsumables ) { selfTestConsumables_install ( vData.mSelfTestConsumablesState == GuiPreTreatmentSelfTestConsumablesStates ::CONSUMABLE_SELF_TESTS_INSTALL_STATE ); - selfTestConsumables_waterQuality ( vData.mSelfTestConsumablesState == GuiPreTreatmentSelfTestConsumablesStates ::CONSUMABLE_SELF_TESTS_WATER_QUALITY_CHECK_STATE ); + selfTestConsumables_prime ( vData.mSelfTestConsumablesState == GuiPreTreatmentSelfTestConsumablesStates ::CONSUMABLE_SELF_TESTS_PRIME_STATE ); selfTestConsumables_biCarbPump ( vData.mSelfTestConsumablesState == GuiPreTreatmentSelfTestConsumablesStates ::CONSUMABLE_SELF_TESTS_BICARB_PUMP_CHECK_STATE ); selfTestConsumables_acidPump ( vData.mSelfTestConsumablesState == GuiPreTreatmentSelfTestConsumablesStates ::CONSUMABLE_SELF_TESTS_ACID_PUMP_CHECK_STATE ); selfTestConsumables_complete ( vData.mSelfTestConsumablesState == GuiPreTreatmentSelfTestConsumablesStates ::CONSUMABLE_SELF_TESTS_COMPLETE_STATE ); @@ -64,13 +62,8 @@ // Self tests with no cartridge state bool mSelfTestNoCartridge = vData.mSubMode == GuiPreTreatmentStates ::HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE ; if ( mSelfTestNoCartridge ) { - selfTestNoCartridge_start ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_START_STATE ); selfTestNoCartridge_waitDoorClose ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE ); - selfTestNoCartridge_occlusionSensors ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_OCCLUSION_SENSORS_STATE ); - selfTestNoCartridge_bloodFlowMeters ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_BLOOD_FLOW_METERS_STATE ); - selfTestNoCartridge_dialysateFlowMeters ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_DIALYSATE_FLOW_METERS_STATE ); - // FIXME: It has been removed : selfTestNoCartridge_leakDetectors ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_LEAK_DETECTORS_STATE ); - selfTestNoCartridge_boardTemperature ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_BOARD_TEMPERATURE_STATE ); + selfTestNoCartridge_pressureCheck ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_PRESSURE_CHECKS_STATE ); selfTestNoCartridge_homeValves ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_HOME_VALVES_STATE ); selfTestNoCartridge_homeSyringePump ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_HOME_SYRINGE_PUMP_STATE ); selfTestNoCartridge_pumps ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_PUMPS_STATE ); @@ -91,37 +84,57 @@ // Self tests dry state - bool mSelfTestDry = vData.mSubMode == GuiPreTreatmentStates ::HD_PRE_TREATMENT_SELF_TEST_DRY_STATE ; + bool mSelfTestDry = vData.mSubMode == GuiPreTreatmentStates ::HD_PRE_TREATMENT_SELF_TEST_DRY_STATE ; if ( mSelfTestDry ) { - selfTestDry_start ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_START_STATE ); - selfTestDry_waitDoorClose ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE ); - selfTestDry_usedCartridge ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_USED_CARTRIDGE_CHECK_STATE ); - selfTestDry_occlusionSensors ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_OCCLUSION_SENSORS_STATE ); - selfTestDry_pressureSensorsSetup ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_SETUP_STATE ); - selfTestDry_pressureSensors ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_STATE ); - selfTestDry_pressureSensorsNormal ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE ); - selfTestDry_syringePump ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE ); - selfTestDry_stopped ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_STOPPED_STATE ); - selfTestDry_complete ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_COMPLETE_STATE ); + selfTestDry_start ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_START_STATE ); + selfTestDry_waitDoorClose ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE ); + selfTestDry_usedCartridge ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_USED_CARTRIDGE_CHECK_STATE ); + selfTestDry_cartridgeLoaded ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_CARTRIDGE_LOADED_CHECK_STATE ); + selfTestDry_pressureSensorsNormalSetup ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_SETUP_STATE ); + selfTestDry_pressureSensorsVenousSetup ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS_SETUP_STATE ); + selfTestDry_pressureSensorsVenous ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS ); + selfTestDry_pressureSensorsArterialSetup ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_ARTERIAL_SETUP_STATE ); + selfTestDry_pressureSensorsArterial ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_ARTERIAL ); + selfTestDry_pressureSensorsDecay ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_DECAY_STATE ); + selfTestDry_pressureSensorsStability ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_STABILITY_STATE ); + selfTestDry_pressureSensorsNormal ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE ); + selfTestDry_syringePump ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE ); + selfTestDry_syringePumpOcclusionDetection ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_DETECTION_STATE ); + selfTestDry_stopped ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_STOPPED_STATE ); + selfTestDry_complete ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_COMPLETE_STATE ); } selfTestDry(mSelfTestDry); // it's the main even so moved last to have all the sub-states updated prior to. // Prime blood and dialysate circuits and run wet self-tests state bool mPrime = vData.mSubMode == GuiPreTreatmentStates ::HD_PRE_TREATMENT_PRIME_STATE ; if ( mPrime ) { - prime_start ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_START_STATE ); prime_waitUserStart ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_WAIT_FOR_USER_START_STATE ); prime_salineSetup ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_SALINE_SETUP_STATE ); prime_salinePurgeAir ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_SALINE_PURGE_AIR_STATE ); prime_salineCirculateBloodCircuit ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE ); - prime_reservoiOneFillComplete ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE ); + prime_reservoirOneFillComplete ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE ); prime_dialysateDialyzer ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_DIALYSATE_DIALYZER_STATE ); + prime_salineDialyzerSetup ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_SALINE_DIALYZER_SETUP_STATE ); + prime_salineDialyzer ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_SALINE_DIALYZER_STATE ); prime_reservoirTwoFillComplete ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE ); prime_dialysateBypass ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_DIALYSATE_BYPASS_STATE ); prime_wetSelfTests ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_WET_SELF_TESTS_STATE ); prime_pause ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_PAUSE ); prime_complete ( vData.mPrimeState == GuiPreTreatmentPrimeStates ::HD_PRIME_COMPLETE ); + + prime__BloodCircuit ( _prime_salineSetup || + _prime_salinePurgeAir || + _prime_salineCirculateBloodCircuit); + prime__DialysateCircuit ( _prime_reservoirOneFillComplete || + _prime_dialysateDialyzer || + _prime_salineDialyzerSetup || + _prime_salineDialyzer || + _prime_reservoirTwoFillComplete || + _prime_dialysateBypass ); + prime__WetSelfTests ( _prime_wetSelfTests ); + + } prime(mPrime); // it's the main even so moved last to have all the sub-states updated prior to.