Index: DDDefs.h =================================================================== diff -u -r591253b2cbbe4ff5902be6981e7ff7306d25a554 -r246eafb023f008a3e3ad0ab8e38d9b5ed3b91ec3 --- DDDefs.h (.../DDDefs.h) (revision 591253b2cbbe4ff5902be6981e7ff7306d25a554) +++ 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,13 +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 @@ -331,31 +360,101 @@ */ /// Heaters exec states -typedef enum Heaters_Exec_States +enum Heaters_Exec_States { HEATER_EXEC_STATE_OFF = 0, ///< Heater exec state off. HEATER_EXEC_STATE_RAMP_TO_TARGET, ///< Heater exec state ramp to target. HEATER_EXEC_STATE_CONTROL_TO_TARGET, ///< Heater exec state control to target. HEATER_EXEC_STATE_CONTROL_TO_DISINFECT_TARGET, ///< Heater exec state control to disinfect (heat) target. NUM_OF_HEATERS_STATE, ///< Number of heaters state. -} HEATERS_STATE_T; +}; +typedef enum Heaters_Exec_States HEATERS_STATE_T; + /**@}*/ /** + * @addtogroup Valves + * @{ + */ + +/// Enumeration of valves. +enum DD_Valves +{ + 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) + D53_VALV, ///< Valve Drain (D53) + D34_VALV, ///< Valve Dialyzer Bypass (D34) + D64_VALV, ///< Valve Purge 1 (D64) + D31_VALV, ///< Valve Pressure Test (D31) + D65_VALV, ///< Valve DryBcarb Inlet (D65) + D35_VALV, ///< Valve Dialyzer Inlet (D35) + D40_VALV, ///< Valve Dialyzer Outlet (D40) + D47_VALV, ///< Valve Dialysate Out Purge 2 (D47) + D3_VALV, ///< Valve Hydraulics Inlet (D3) + 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) + D21_VALV, ///< Balancing chamber Valve 4 (D21) + D24_VALV, ///< Balancing chamber Valve 5 (D24) + D20_VALV, ///< Balancing chamber Valve 6 (D20) + 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 + 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; + +/**@}*/ + +/** * @addtogroup BalancingChamber * @{ */ /// 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 }; @@ -372,4 +471,114 @@ /**@}*/ +/** + * @addtogroup Ultrafiltraion + * @{ + */ + +/// Enumeration of ultra filtration exec states. +enum Ultra_filtration_Exec_States +{ + DD_UF_PAUSED = 0, ///< Ultrafiltration pasued state + DD_UF_RUNNING, ///< Ultrafiltration running state + NUM_OF_UF_EXEC_STATES ///< Number of ultrafiltration exec states +}; +typedef enum Ultra_filtration_Exec_States UF_EXEC_STATE_T; ///< Type for ultrafiltration exec state enumeration + +/**@}*/ + +/** + * @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