Index: DDDefs.h =================================================================== diff -u -r7028b30a24a23e2c3ca252e4e535fccdd2c852ac -rcb91895532f77164daecf4df7f703372067eb644 --- DDDefs.h (.../DDDefs.h) (revision 7028b30a24a23e2c3ca252e4e535fccdd2c852ac) +++ DDDefs.h (.../DDDefs.h) (revision cb91895532f77164daecf4df7f703372067eb644) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2024-2024 Diality Inc. - All Rights Reserved. +* Copyright (c) 2024-2025 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) “Raghu +* @date (last) 14-Oct-2025 * -* @author (original) Vinayakam Mani -* @date (original) 30-Jul-2024 +* @author (original) Sean Nash +* @date (original) 01-Aug-2024 * ***************************************************************************/ @@ -32,7 +32,9 @@ DD_MODE_SERV, ///< Service mode DD_MODE_INIT, ///< Initialization & POST mode DD_MODE_STAN, ///< Standby mode + DD_MODE_PREG, ///< Dialysate Pre-Generation mode DD_MODE_GEND, ///< Generate Dialysate mode + DD_MODE_POSG, ///< Post Dialysate Generation mode DD_MODE_HEAT, ///< Heat Disinfect mode DD_MODE_HCOL, ///< Heat Disinfect cooling mode DD_MODE_ROPS, ///< RO permeate sample mode @@ -80,12 +82,22 @@ enum DD_Fault_States { DD_FAULT_STATE_START = 0, ///< DD fault start state - DD_FAULT_STATE_RUN_NV_POSTS, ///< DD fault run RTC and NV data management posts - DD_FAULT_STATE_COMPLETE, ///< DD fault complete + DD_FAULT_DEENERGIZED_STATE, ///< DD fault deenergized state + DD_FAULT_ENERGIZED_STATE, ///< DD fault energized state NUM_OF_DD_FAULT_STATES ///< Number of fault mode states }; typedef enum DD_Fault_States DD_FAULT_STATE_T; ///< Type for DD fault states enumeration +/// Enumeration of fault NV data management states. +enum DD_Fault_NVDataMgmt_States +{ + DD_FAULT_NVDATA_STATE_START = 0, ///< DD fault NVData management start state + DD_FAULT_NVDATA_STATE_RUN_NV_POSTS, ///< DD fault run RTC and NV data management posts + DD_FAULT_NVDATA_STATE_COMPLETE, ///< DD fault NVData management complete + NUM_OF_DD_FAULT_NVDATA_STATES ///< Number of fault NVdata management states +}; +typedef enum DD_Fault_NVDataMgmt_States DD_FAULT_NVDATA_STATE_T; ///< Type for DD fault NVdata Management states enumeration + /**@}*/ /** @@ -116,6 +128,41 @@ /**@}*/ /** + * @addtogroup DDPreGenDialysateMode + * @{ + */ + +/// Enumeration of Pre-Gen Dialysate mode states. +enum DD_Pre_Gen_Dialysate_States +{ + 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_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 +}; +typedef enum DD_Pre_Gen_Dialysate_States DD_PRE_GEN_DIALYSATE_STATE_T; ///< Type for DD Pre-Gen Dialysate states enumeration + +/// Enumeration of Pre-Gen Wet self test states. +enum DD_Pre_Gen_Wet_Self_Test_States +{ + DD_WET_SELF_TEST_START = 0, ///< DD Wet Slef test Start + DD_WET_SELF_TEST_NEGATIVE_DEAERATION_PRES_CHECK, ///< DD Wet Self Test Negative Deaeration Pressure check + DD_WET_SELF_TEST_POSITIVE_DEAERATION_PRES_CHECK, ///< DD Wet Self Test Postive Deaeration Pressure check + DD_WET_SELF_TEST_SPENT_DIAL_PRES_CHECK, ///< DD Wet Self Test Spent Dialysate Pressure check + DD_WET_SELF_TEST_BAL_CHAMBER_VALV_LEAK_CHECK, ///< DD Wet Self Test Balancing Chamber Valve Leak check + DD_WET_SELF_TEST_DIAL_FLOW_PATH_LEAK_CHECK, ///< DD Wet Self Test Dialysate flow path leak check + DD_WET_SELF_TEST_UF_PRES_DROP_CHECK, ///< DD Wet Self Test Ultrafilter pressure drop check + DD_WET_SELF_TEST_BLOOD_LEAK_CHECK, ///< DD Wet Self Test Ultrafilter pressure drop check + DD_WET_SELF_TEST_BAL_CHAMBER_MEMBRANE_INTEGRITY_CHECK, ///< DD Wet Self Test Balancing Chamber Membrane Integrity check + DD_WET_SELF_TEST_LEVEL_SENSOR_CHECK, ///< DD Wet Self Test Level Sensor check + DD_WET_SELF_TEST_PAUSE, ///< DD Wet Self Test Pause state + NUM_OF_DD_PRE_GEN_WET_SELF_TEST_STATES ///< Number of Wet Self Test states +}; +typedef enum DD_Pre_Gen_Wet_Self_Test_States DD_WET_SELF_TEST_STATE_T; ///< Type for DD Pre-Gen Wet Self Test states enumeration + +/**@}*/ + +/** * @addtogroup DDGenDialysateMode * @{ */ @@ -124,12 +171,11 @@ enum DD_GenD_Mode_States { DD_GEND_STATE_START = 0, ///< Gen dialysate start state - DD_GEND_HYD_CHAMBER_WATER_INLET_CHECK_STATE, ///< Gen dialysate Hydraulic chamber water inlet check state - DD_GEND_HYD_CHAMBER_PRESSURE_CHECK_STATE, ///< Gen dialysate Hydraulic chamber pressure check state - DD_GEND_FRESH_DIALYSATE_PRESSURE_CHECK_STATE, ///< Gen dialysate fresh dialysate pressure check state - DD_GEND_SPENT_DIALYSATE_PRESSURE_CHECK_STATE, ///< Gen dialysate spent dialysate pressure check state - DD_GEND_PRODUCE_DIALYSATE_STATE, ///< Gen dialysate - produce dialysate state + DD_GEND_DIALYSATE_BYPASS_STATE, ///< Gen dialysate - Bypass dialysate state DD_GEND_DIALYSATE_DELIVERY_STATE, ///< Gen dialysate - deliver dialysate 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 }; @@ -156,6 +202,22 @@ /**@}*/ /** + * @addtogroup DDPostGenDialysateMode + * @{ + */ + +/// Enumeration of Post Gen Dialysate mode states. +enum DD_Post_Gen_Dialysate_States +{ + DD_POST_GEN_DIALYSATE_STATE_START = 0, ///< DD Post-Gen Dialysate state start + DD_POST_GEN_DIALYSATE_STATE_COMPLETE, ///< DD Post-Gen Dialysate complete state + NUM_OF_DD_POST_GEN_DIALYSATE_STATES ///< Number of Post-Gen Dialysate mode states +}; +typedef enum DD_Post_Gen_Dialysate_States DD_POST_GEN_DAILYSATE_STATE_T; ///< Type for DD Post-Gen Dialysate states enumeration + +/**@}*/ + +/** * @addtogroup DDHeatDisinfectMode * @{ */ @@ -178,18 +240,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 { @@ -252,13 +302,32 @@ 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_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_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_LAST = FP_EVENT_FAULT_ALARM_TRIGGER, ///< 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 @@ -271,18 +340,86 @@ */ /// 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) + LAST_HYD_VALVE = D81_VALV, ///< End of Hydraulics valve of group + RSRVD_SPACE1, ///< This space has been reserved + 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 + D79_PMP_VALV, ///< D79 Pump mapped to Spare valve 0 + FIRST_SP_VALVE = D79_PMP_VALV, ///< First spare valve + SPARE1_VALV, ///< Spare Valve 1 + SPARE2_VALV, ///< Spare Valve 2 + SPARE3_VALV, ///< Spare Valve 3 + SPARE4_VALV, ///< Spare Valve 4 + SPARE5_VALV, ///< Spare Valve 5 + SPARE6_VALV, ///< 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 valves +}; +typedef enum DD_Valves DD_VALVES_T; + +/**@}*/ + +/** * @addtogroup BalancingChamber * @{ */ @@ -293,9 +430,11 @@ BAL_CHAMBER_STATE_START = 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_VALVES_CLOSE, ///< Balancing Chamber state 1 valves close 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_VALVES_CLOSE, ///< Balancing Chamber state 2 valves close state BAL_CHAMBER_STATE2_FILL_END, ///< Balancing Chamber state 2 fill end state NUM_OF_BAL_CHAMBER_EXEC_STATES ///< Number of balancing chamber states }; @@ -312,4 +451,41 @@ /**@}*/ +/** + * @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 + +/**@}*/ + #endif