Index: DDDefs.h =================================================================== diff -u -r3505e8eedae62b0a856206a768d70df8d98ade54 -r246eafb023f008a3e3ad0ab8e38d9b5ed3b91ec3 --- DDDefs.h (.../DDDefs.h) (revision 3505e8eedae62b0a856206a768d70df8d98ade54) +++ DDDefs.h (.../DDDefs.h) (revision 246eafb023f008a3e3ad0ab8e38d9b5ed3b91ec3) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2024-2024 Diality Inc. - All Rights Reserved. +* Copyright (c) 2024-2026 Diality Inc. - All Rights Reserved. * * 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 DDDefs.h * -* @author (last) Vinayakam Mani -* @date (last) 30-Jul-2024 +* @author (last) Sameer Kalliadan Poyil +* @date (last) 24-Jun-2026 * -* @author (original) Vinayakam Mani -* @date (original) 30-Jul-2024 +* @author (original) Sean Nash +* @date (original) 01-Aug-2024 * ***************************************************************************/ @@ -38,6 +38,7 @@ DD_MODE_HEAT, ///< Heat Disinfect mode DD_MODE_HCOL, ///< Heat Disinfect cooling mode DD_MODE_ROPS, ///< RO permeate sample mode + DD_MODE_UPDT, ///< Update mode DD_MODE_NLEG, ///< Not legal - an illegal mode transition occurred NUM_OF_DD_MODES ///< Number of DD operation modes }; @@ -114,6 +115,20 @@ }; typedef enum DD_Standby_Mode_States DD_STANDBY_MODE_STATE_T; ///< Type for DD standby mode states enumeration +/** + * @addtogroup DDUpdateMode + * @{ + */ + +/// Sub-mode states while in update mode +enum DD_Update_States +{ + DD_UPDATE_INIT_STATE = 0, ///< Start update state. + DD_UPDATE_RESET_MCU_STATE, ///< Reset MCU state. + NUM_OF_DD_UPDATE_STATES ///< Number of update states (sub-modes). +}; +typedef enum DD_Update_States DD_UPDATE_STATE_T; ///< Type for DD update states enumeration + /// Sub-mode states while in standby mode disinfect enum DD_Disinfect_States { @@ -137,6 +152,7 @@ { DD_PRE_GEN_DIALYSATE_HYD_CHAMBER_FILL_CHECK = 0, ///< DD Pre-Gen Dialysate hyrochamber fill check DD_PRE_GEN_WET_SELF_TEST, ///< DD Pre-Gen WetSelf Test + DD_PRE_GEN_DRY_BICART_INITIAL_FILL, ///< DD Pre-Gen DryBicart Initial Fill DD_PRE_GEN_DIALYSATE_WAIT_FOR_GEND, ///< DD Pre-Gen Dialysate Wait for Gen Dialysate state transition NUM_OF_DD_PRE_GEN_DIALYSATE_STATES ///< Number of Pre-Gen Dialysate mode states }; @@ -173,8 +189,10 @@ DD_GEND_STATE_START = 0, ///< Gen dialysate start state DD_GEND_DIALYSATE_BYPASS_STATE, ///< Gen dialysate - Bypass dialysate state DD_GEND_DIALYSATE_DELIVERY_STATE, ///< Gen dialysate - deliver dialysate state - DD_GEND_DIALYSATE_DELIVERY_PAUSE, ///< Gen dialysate - dialysate delivery pause state DD_GEND_ISOLATED_UF_STATE, ///< Gen dialysate - Isolated ultrafiltration state + DD_GEND_SPENT_CHAMBER_FILL_STATE, ///< Gen dialysate - spent chamber fill state + DD_GEND_BICARB_CHAMBER_FILL_STATE, ///< Gen dialysate - bicarb chamber fill state + DD_GEND_DIALYSATE_DELIVERY_PAUSE, ///< Gen dialysate - dialysate delivery pause state NUM_OF_DD_GEND_MODE_STATES ///< Number of gen dialysate states }; typedef enum DD_GenD_Mode_States DD_GEND_MODE_STATE_T; ///< Type for DD gen dialysate mode states enumeration @@ -238,18 +256,6 @@ }; typedef enum DD_Heat_UI_States DD_HEAT_DISINFECT_UI_STATE_T; ///< Type for DD heat disinfect UI states enumeration -#if defined(_TD_) || defined(_DD_) -/// Heat disinfect data publish struct -typedef struct -{ - U32 heatDisinfectState; ///< Heat disinfect state. - U32 overallElapsedTime; ///< Overall elapsed time in heat disinfect mode. - U32 stateElapsedTime; ///< Current heat disinfect elapsed time. - U32 cancellationMode; ///< Heat disinfect cancellation mode. - U32 heatDisinfectUIState; ///< Heat disinfect UI state. -} MODE_HEAT_DISINFECT_DATA_T; -#endif - /// Cancellation paths enum Cancellation_modes { @@ -312,14 +318,36 @@ enum DD_Event_List { DD_EVENT_STARTUP = 0, ///< DD startup event + DD_EVENT_FIRST = DD_EVENT_STARTUP, ///< DD first event in list DD_EVENT_OP_MODE_CHANGE, ///< DD Op mode change event DD_EVENT_SUB_MODE_CHANGE, ///< DD Op sub-mode change event DD_EVENT_OPERATION_STATUS, ///< DD operation status event DD_EVENT_D6_LEVL_CHANGE, ///< DD floater level change event - DD_EVENT_D63_LEVL_CHANGE, ///< DD bicarb level change event + DD_EVENT_D63_LEVL_CHANGE, ///< DD bicarb upper level change event + DD_EVENT_D98_LEVL_CHANGE, ///< DD bicarb lower level change event DD_EVENT_D46_LEVL_CHANGE, ///< DD spent dialysate air seperation level change event DD_EVENT_TD_COMMUNICATION_LOSS, ///< DD TD communication loss DD_EVENT_TEMPERATURE_DRIFT, ///< DD dialysate temperature drift + DD_EVENT_BLOOD_LEAK_ZEROING_REQUEST, ///< DD blood leak zeroing request + DD_EVENT_BLOOD_LEAK_ZEROING_REQUIRED, ///< DD blood leak zeroing required + DD_EVENT_BLOOD_LEAK_NUM_OF_SET_POINT_CHECK_FAILURES, ///< DD blood leak number of setpoint check failures + DD_EVENT_CPU_RAM_ERROR_STATUS, ///< DD CPU RAM error + DD_EVENT_BLOOD_LEAK_SELF_TEST_RESULT, ///< DD blood leak self test result + DD_EVENT_LAST = DD_EVENT_BLOOD_LEAK_SELF_TEST_RESULT, ///< DD last event in list + FP_EVENT_STARTUP, ///< FP startup event + FP_EVENT_FIRST = FP_EVENT_STARTUP, ///< FP first event in list + FP_EVENT_OP_MODE_CHANGE, ///< FP Op mode change event + FP_EVENT_SUB_MODE_CHANGE, ///< FP Op sub-mode change event + FP_EVENT_PRE_GEN_RO_SET_PWM, ///< FP gen permeate ro set pwm event + FP_EVENT_GENP_BOOST_SET_PWM, ///< FP gen permeate boost set pwm event + FP_EVENT_GENP_CHANGE, ///< FP gen permeate state change + FP_EVENT_PRE_GEN_CHANGE, ///< FP pre gen state change + FP_EVENT_PRE_GEN_DEF_CHANGE, ///< FP defeatured pre gen state change + FP_EVENT_GENP_DEF_CHANGE, ///< FP defeatured pre gen state change + FP_EVENT_FAULT_ALARM_TRIGGER, ///< FP event for alarms that would trigger + FP_EVENT_P25_LEVL_CHANGE, ///< FP floater level change event + FP_EVENT_OPERATION_STATUS, ///< FP operation status event + FP_EVENT_LAST = FP_EVENT_OPERATION_STATUS, ///< FP last event in list NUM_OF_DD_EVENT_IDS ///< Total number of DD events }; typedef enum DD_Event_List DD_EVENT_ID_T; ///< Type for DD event list enumeration @@ -353,8 +381,9 @@ /// Enumeration of valves. enum DD_Valves { - FIRST_HYD_VALVE = 0, ///< Start of Hydraulics valve group - D14_VALV = FIRST_HYD_VALVE, ///< Valve Hydraulics Outlet (D14) + D14_VALV = 0, ///< Valve Hydraulics Outlet (D14) + FIRST_DD_VALVE = D14_VALV, ///< First DD valve + FIRST_HYD_VALVE = D14_VALV, ///< Start of Hydraulics valve group D52_VALV, ///< Valve Thermal Disinfect (D52) D8_VALV, ///< Valve Hydraulics Bypass (D8) D54_VALV, ///< Valve Rinse Port (D54) @@ -367,34 +396,44 @@ D40_VALV, ///< Valve Dialyzer Outlet (D40) D47_VALV, ///< Valve Dialysate Out Purge 2 (D47) D3_VALV, ///< Valve Hydraulics Inlet (D3) - // For standalone DD system, may need to control IO valve. - DD_M4_VALV, ///< Valve Water Inlet (M4) -#ifdef __PUMPTEST__ - UF1, ///< UF1 valve - UF2, ///< UF2 valve - LAST_HYD_VALVE = UF2, ///< End of Hydraulics valve of group -#else - LAST_HYD_VALVE = DD_M4_VALV, ///< End of Hydraulics valve of group - RSRVD_SPACE1, ///< This space has been reserved - RSRVD_SPACE2, ///< This space has been reserved -#endif + D80_VALV, ///< Valve Dry Bicarb (D80) + D81_VALV, ///< Valve De-scaler (D81) + D85_VALV, ///< Valve DryBicart vent (D85) + LAST_HYD_VALVE = D85_VALV, ///< End of Hydraulics valve of group FIRST_BC_VALVE, ///< Start of Balancing Chamber valve group D23_VALV = FIRST_BC_VALVE, ///< Balancing chamber Valve 1 (D23) D19_VALV, ///< Balancing chamber Valve 2 (D19) D25_VALV, ///< Balancing chamber Valve 3 (D25) - D26_VALV, ///< Balancing chamber Valve 7 (D26) + D21_VALV, ///< Balancing chamber Valve 4 (D21) D24_VALV, ///< Balancing chamber Valve 5 (D24) D20_VALV, ///< Balancing chamber Valve 6 (D20) - D21_VALV, ///< Balancing chamber Valve 4 (D21) + D26_VALV, ///< Balancing chamber Valve 7 (D26) D22_VALV, ///< Balancing chamber Valve 8 (D22) LAST_BC_VALVE = D22_VALV, ///< End of Balancing Chamber valve group - FIRST_UF_VALVE, ///< Start of Ultrafiltration valve group - D69_VALV = FIRST_UF_VALVE, ///< Ultrafiltration Valve 1 Inlet (D69) - D71_VALV, ///< Ultrafiltration Valve 2 Inlet (D71) - D70_VALV, ///< Ultrafiltration Valve 1 Outlet (D70) - D72_VALV, ///< Ultrafiltration Valve 2 Outlet (D72) - LAST_UF_VALVE = D72_VALV, ///< End of Ultrafiltration valve group - DD_NUM_OF_VALVES ///< Number of valves + D88_79_VALV, ///< D88 Valve mapped to Spare valve 0 // TODO to be renamed to D88_VALV once Beta1.9 is obsolete + FIRST_SP_VALVE = D88_79_VALV, ///< First spare valve + D83_VALV, ///< D83 Valve mapped to Spare valve 1 + D91_VALV, ///< D91 Valve mapped to Spare valve 2 + D104_VALV, ///< D104 Valve mapped to Spare valve 3 + D95_VALV, ///< D95 Valve mapped to Spare valve 4 + SPARE5_VALV, ///< Spare Valve 5 + D100_VALV, ///< D100 Valve mapped to Spare valve 6 + SPARE7_VALV, ///< Spare Valve 7 + LAST_SP_VALVE = SPARE7_VALV, ///< Last spare valve + LAST_DD_VALVE = LAST_SP_VALVE, ///< Last DD valve + M4_VALV, ///< Valve (M4) + FIRST_IO_VALVE = M4_VALV, ///< First IO valve + M12_VALV, ///< Valve (M12) + LAST_IO_VALVE = M12_VALV, ///< Last IO valve + P11_VALV, ///< Valve (P11) + FIRST_FP_VALVE = P11_VALV, ///< First FP valve + P33_VALV, ///< Valve (P33) + P34_VALV, ///< Valve (P34) + P37_VALV, ///< Valve (P37) + P39_VALV, ///< Valve (P39) + P6_VALV, ///< Valve (P6) + LAST_FP_VALVE = P6_VALV, ///< Last FP valve + DD_NUM_OF_VALVES ///< Number of DD valves }; typedef enum DD_Valves DD_VALVES_T; @@ -408,12 +447,14 @@ /// Enumeration of balancing chamber exec states. enum Balancing_Chamber_Exec_States { - BAL_CHAMBER_STATE_START = 0, ///< Initial state of balancing chamber + BAL_CHAMBER_STATE_IDLE = 0, ///< Initial state of balancing chamber BAL_CHAMBER_STATE1_FILL_START, ///< Balancing chamber state 1 fill start state BAL_CHAMBER_STATE1_BICARB_ACID_DOSING_CNTRL, ///< Balancing Chamber state 1 Bicarb and acid dosing control state + BAL_CHAMBER_STATE1_FILL_DETECT_COMPLETE, ///< Balancing Chamber state 1 fill detect complete state BAL_CHAMBER_STATE1_FILL_END, ///< Balancing Chamber state 1 fill end state BAL_CHAMBER_STATE2_FILL_START, ///< Balancing chamber state 2 fill start state BAL_CHAMBER_STATE2_BICARB_ACID_DOSING_CNTRL, ///< Balancing Chamber state 2 Bicarb and acid dosing control state + BAL_CHAMBER_STATE2_FILL_DETECT_COMPLETE, ///< Balancing Chamber state 2 fill detect complete state BAL_CHAMBER_STATE2_FILL_END, ///< Balancing Chamber state 2 fill end state NUM_OF_BAL_CHAMBER_EXEC_STATES ///< Number of balancing chamber states }; @@ -446,4 +487,98 @@ /**@}*/ +/** + * @addtogroup SpentChamberFill + * @{ + */ + +/// Enumeration of Spent chamber fill exec states. +enum Spent_Chamber_Fill_Exec_States +{ + SPENT_CHAMBER_FILL_STATE_START = 0, ///< Initial state of spent chamber fill + SPENT_CHAMBER_FILL_STATE1_FILL_START, ///< Spent chamber fill state 1 fill start state + SPENT_CHAMBER_FILL_STATE1_DOSING_CNTRL, ///< Spent chamber fill state 1 dosing control + SPENT_CHAMBER_FILL_STATE1_FILL_END, ///< Spent chamber fill state 1 fill end state + SPENT_CHAMBER_FILL_STATE2_FILL_START, ///< Spent chamber fill state 2 fill start state + SPENT_CHAMBER_FILL_STATE2_DOSING_CNTRL, ///< Spent chamber fill state 2 dosing control + SPENT_CHAMBER_FILL_STATE2_FILL_END, ///< Spent chamber fill state 2 fill end state + NUM_OF_SPENT_CHAMBER_FILL_EXEC_STATES ///< Number of spent chamber fill states +}; +typedef enum Spent_Chamber_Fill_Exec_States SPENT_CHAMBER_FILL_EXEC_STATE_T; ///< Type for spent chamber fill exec state enumeration + +/**@}*/ + +/** + * @addtogroup DryBicart + * @{ + */ + +/// Enumeration of DryBicart fill exec states. +enum Dry_Bicart_Fill_Exec_States +{ + DRY_BICART_START_STATE = 0, ///< Initial state of dry bicart fill + DRY_BICART_FILL_WATER_START_STATE, ///< Dry bicart fill start state + DRY_BICART_FILL_WATER_END_STATE, ///< Dry bicart fill end state + DRY_BICART_DEGAS_START_STATE, ///< Dry bicart vent start state + DRY_BICART_DEGAS_END_STATE, ///< Dry bicart vent end state + DRY_BICART_FILL_DURATION_CHECK_STATE, ///< Dry bicart fill duration check state + DRY_BICART_FILL_COMPLETE_STATE, ///< Dry bicart fill complete state + NUM_OF_DRY_BICART_FILL_EXEC_STATES ///< Number of dry bicart fill states +}; +typedef enum Dry_Bicart_Fill_Exec_States DRY_BICART_FILL_EXEC_STATE_T; ///< Type for dry bicart fill exec state enumeration + +/// Enumeration of Bicarb chamber fill exec states. +enum Bicarb_Chamber_F_Fill_Exec_States +{ + BICARB_CHAMBER_START_STATE = 0, ///< Initial state of Chamber F fill + BICARB_CARTRIDGE_FILL_WATER_START_STATE, ///< Dry bicart fill water start state while dialysate delivery + BICARB_CARTRIDGE_FILL_WATER_END_STATE, ///< Dry bicart fill water end state while dialysate delivery + BICARB_CHAMBER_SUPPLY_STATE, ///< Bicarb Chamber fill start state + BICARB_CHAMBER_PRESSURE_CHECK_STATE, ///< Bicarb Chamber pressure check start state + BICARB_SUPPLY_VENT_START_STATE, ///< Bicarb Chamber supply vent cartridge and Chamber F start state + BICARB_SUPPLY_VENT_END_STATE, ///< Bicarb Chamber supply vent cartridge and Chamber F end state + NUM_OF_BICARB_CHAMBER_FILL_EXEC_STATES ///< Number of Bicarb chamber fill state +}; +typedef enum Bicarb_Chamber_F_Fill_Exec_States BICARB_CHAMBER_FILL_EXEC_STATE_T; ///< Type for bicarb chamber fill exec state enumeration + +/// Enumeration of DryBicart drain exec states +enum Dry_Bicart_Drain_Exec_States +{ + DRY_BICART_DRAIN_START_STATE = 0, ///< Initial state of dry bicart drain + DRY_BICART_FLUID_DRAIN_STATE, ///< Dry bicart fluid drain state + DRY_BICART_FLUID_DRAIN_DURATION_CHECK_STATE, ///< Dry bicart drain duration check state + DRY_BICART_FLUID_DRAIN_END_STATE, ///< Dry bicart drain end state + NUM_OF_DRY_BICART_DRAIN_EXEC_STATES +}; +typedef enum Dry_Bicart_Drain_Exec_States DRY_BICART_DRAIN_EXEC_STATE_T; ///< Type for dry bicart fill exec state enumeration + +/// Enumeration of drybicart depressurize exec states +enum Dry_Bicart_Depressurize_Exec_States +{ + DRY_BICART_DEPRESSURIZE_START_STATE = 0, ///< Initial state of dry bicart depressurise + DRY_BICART_DEPRESSURIZE_VENT_START_STATE, ///< Dry bicart depressurize vent start state + DRY_BICART_DEPRESSURIZE_VENT_END_STATE, ///< Dry bicart depressurize vent end state + NUM_OF_DRY_BICART_DEPRESSURIZE_EXEC_STATES +}; +typedef enum Dry_Bicart_Depressurize_Exec_States DRY_BICART_DEPRESSURIZE_EXEC_STATE_T; ///< Type for dry bicart depressurize exec state enumeration + +/// Enumeration of conductivity sensors. +enum Conductivity_Sensors +{ + D17_COND = 0, ///< Bicarb only conductivity sensor - 1 + FIRST_DD_COND_SENSOR = D17_COND, ///< First conductivity sensor + D27_COND, ///< Acid and Bicarb mix conductivity sensor - 1 + D29_COND, ///< Acid and Bicarb mix conductivity sensor - 2 + D43_COND, ///< Spent dialysate conductivity sensor + D74_COND, ///< Bicarb only conductivity sensor - 2 + LAST_DD_COND_SENSOR = D74_COND, ///< Last conductivity sensor + P9_COND, ///< Inlet water conductivity sensor + FIRST_FP_COND_SENSOR = P9_COND, ///< First FP conductivity sensor + P18_COND, ///< RO outlet water conductivity sensor + LAST_FP_COND_SENSOR = P18_COND, ///< Last FP conductivity sensor + NUM_OF_CONDUCTIVITY_SENSORS ///< Number of conductivity sensors +}; +typedef enum Conductivity_Sensors CONDUCTIVITY_SENSORS_T; ///< Type for conductivity sensor enumeration. +/**@}*/ + #endif