Index: AlarmDefs.h =================================================================== diff -u -r7979d9c0e7b0c2e3dd68ac8fe19d4290667d39fb -r57cf24a496d5c1e2987fde2a925957e15dd1b018 --- AlarmDefs.h (.../AlarmDefs.h) (revision 7979d9c0e7b0c2e3dd68ac8fe19d4290667d39fb) +++ AlarmDefs.h (.../AlarmDefs.h) (revision 57cf24a496d5c1e2987fde2a925957e15dd1b018) @@ -180,8 +180,8 @@ ALARM_ID_FP_REJECTION_RATIO_LOW_RANGE = 148, ///< RO rejection ratio low ALARM_ID_FP_INLET_PRESSURE_REGULATOR_OUT_OF_RANGE = 149, ///< RO inlet pressure regulator out of range ALARM_ID_FP_FILTER_HEALTH_PRESSURE_OUT_OF_RANGE = 150, ///< RO filter health pressure out of range - ALARM_ID_FP_MEMBRANE_FLUSH_CONDUCTIVITY_TIMEOUT = 151, ///< RO membrane flush timeout - ALARM_ID_FP_MEMBRANE_FLUSH_VOLUME_OUT_OF_RANGE = 152, ///< RO membrane flush integrated out of range + ALARM_ID_FP_PERMEATE_FLUSH_CONDUCTIVITY_TIMEOUT = 151, ///< RO membrane flush timeout + ALARM_ID_FP_CONCENTRATE_FLUSH_VOLUME_OUT_OF_RANGE = 152, ///< RO membrane flush integrated out of range NUM_OF_ALARM_IDS ///< Number of alarms }; typedef enum Alarm_List ALARM_ID_T; ///< Type for alarm list enumeration @@ -216,7 +216,7 @@ ALARM_SOURCE_UI = 0, ///< User interface alarm source ALARM_SOURCE_TD = 1, ///< TD firmware alarm source ALARM_SOURCE_DD = 2, ///< DD firmware alarm source - ALARM_SOURCE_RO = 3, ///< RO firmware alarm source + ALARM_SOURCE_FP = 3, ///< RO firmware alarm source NUMBER_OF_ALARM_SOURCES ///< Number of alarm sources }; typedef enum Alarm_Sources ALARM_SOURCE_T; ///< Type for alarm sources enumeration @@ -274,7 +274,7 @@ /**@}*/ -#if defined (__ALARM_MGMT_C__) || defined(__ALARM_MGMT_DD_C__) || defined(__ALARM_MGMT_TD_C__) || defined(__ALARM_MGMT_RO_C__) +#if defined (__ALARM_MGMT_C__) || defined(__ALARM_MGMT_DD_C__) || defined(__ALARM_MGMT_TD_C__) || defined(__ALARM_MGMT_FP_C__) /** * @addtogroup AlarmManagement @@ -474,8 +474,8 @@ { ALARM_PRIORITY_HIGH, 110, FALSE, TRUE , TRUE , TRUE , FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, ALARM_ID_FP_REJECTION_RATIO_LOW_RANGE }, { ALARM_PRIORITY_HIGH, 110, FALSE, TRUE , TRUE , TRUE , FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_FP_INLET_PRESSURE_REGULATOR_OUT_OF_RANGE }, { ALARM_PRIORITY_HIGH, 110, FALSE, FALSE, TRUE , FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, ALARM_ID_FP_FILTER_HEALTH_PRESSURE_OUT_OF_RANGE }, - { ALARM_PRIORITY_HIGH, 110, FALSE, FALSE, TRUE , FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, ALARM_ID_FP_MEMBRANE_FLUSH_CONDUCTIVITY_TIMEOUT }, - { ALARM_PRIORITY_HIGH, 110, FALSE, FALSE, TRUE , FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, ALARM_ID_FP_MEMBRANE_FLUSH_VOLUME_OUT_OF_RANGE }, + { ALARM_PRIORITY_HIGH, 110, FALSE, FALSE, TRUE , FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, ALARM_ID_FP_PERMEATE_FLUSH_CONDUCTIVITY_TIMEOUT }, + { ALARM_PRIORITY_HIGH, 110, FALSE, FALSE, TRUE , FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, ALARM_ID_FP_CONCENTRATE_FLUSH_VOLUME_OUT_OF_RANGE }, }; // Priority Rank Fault DDFault Stops ClrIm NoClr NoRes NoRin NoEnd BlkRB BlkET NoBRcr NoDRcr ClrOnly TxLog ID /// Table of alarms and their rank. @@ -583,8 +583,8 @@ { 110, ALARM_ID_FP_INLET_PRESSURE_REGULATOR_OUT_OF_RANGE }, { 110, ALARM_ID_FP_POWER_BUDGET_OUT_OF_RANGE }, { 110, ALARM_ID_FP_FILTER_HEALTH_PRESSURE_OUT_OF_RANGE }, - { 110, ALARM_ID_FP_MEMBRANE_FLUSH_CONDUCTIVITY_TIMEOUT }, - { 110, ALARM_ID_FP_MEMBRANE_FLUSH_VOLUME_OUT_OF_RANGE }, + { 110, ALARM_ID_FP_PERMEATE_FLUSH_CONDUCTIVITY_TIMEOUT }, + { 110, ALARM_ID_FP_CONCENTRATE_FLUSH_VOLUME_OUT_OF_RANGE }, { 111, ALARM_ID_TD_DD_COMM_TIMEOUT }, { 111, ALARM_ID_TD_CAN_MESSAGE_NOT_ACKED_BY_DD }, { 111, ALARM_ID_DD_CAN_MESSAGE_NOT_ACKED_BY_RO }, @@ -812,8 +812,8 @@ { 148 , ALARM_ID_FP_INLET_PRESSURE_REGULATOR_OUT_OF_RANGE , "FP | Service Required: FP Device | A problem was detected with the dialysate device. \n- Treatment must be terminated.\n- Locate the ID code found in the bottom left corner\nof the alarm screen.\n- Call service to report the issue and schedule a repair. | FP Fault: Pressure regulator not in range| FP pressure regulator is out of bounds | If M3 is not within 30 +/- 2 PSI | "}, { 149 , ALARM_ID_FP_POWER_BUDGET_OUT_OF_RANGE , "FP | Service Required: FP Device | A problem was detected with the dialysate device. \n- Treatment must be terminated.\n- Locate the ID code found in the bottom left corner\nof the alarm screen.\n- Call service to report the issue and schedule a repair. | FP Fault: Power usage has exceeded budget| FP device is using too much power | If the device current is greater that its allowed percentage | "}, { 150 , ALARM_ID_FP_FILTER_HEALTH_PRESSURE_OUT_OF_RANGE , "FP | FP: Filter Health | A problem was detected with the dialysate device. \n- Treatment must be terminated.\n- Locate the ID code found in the bottom left corner\nof the alarm screen.\n- Call service to report the issue and schedule a repair. | FP Filters: Pressure difference too high | FP pressure difference between the filters is too high | If the difference between M3 and P8 is ≥ 10 PSI after 2 minutes | "}, - { 151 , ALARM_ID_FP_MEMBRANE_FLUSH_CONDUCTIVITY_TIMEOUT , "FP | FP: Filter Health | A problem was detected with the dialysate device. \n- Treatment must be terminated.\n- Locate the ID code found in the bottom left corner\nof the alarm screen.\n- Call service to report the issue and schedule a repair. | FP Filters: Permeate conductivity high | FP conductivity after flushing the system is too high | If P18 conductivity > 200 uS/cm after 120 seconds ± 150ms of flushing. | "}, - { 152 , ALARM_ID_FP_MEMBRANE_FLUSH_VOLUME_OUT_OF_RANGE , "FP | FP: Filter Health | A problem was detected with the dialysate device. \n- Treatment must be terminated.\n- Locate the ID code found in the bottom left corner\nof the alarm screen.\n- Call service to report the issue and schedule a repair. | FP Filters: Volume difference too high | FP volume difference between integrated flow and expected volume | If P7 is <90% of the target integrated volume ( 1L ) after 30 seconds ± 150ms of flushing. | "}, + { 151 , ALARM_ID_FP_PERMEATE_FLUSH_CONDUCTIVITY_TIMEOUT , "FP | FP: Filter Health | A problem was detected with the dialysate device. \n- Treatment must be terminated.\n- Locate the ID code found in the bottom left corner\nof the alarm screen.\n- Call service to report the issue and schedule a repair. | FP Filters: Permeate conductivity high | FP conductivity after flushing the system is too high | If P18 conductivity > 200 uS/cm after 120 seconds ± 150ms of flushing. | "}, + { 152 , ALARM_ID_FP_CONCENTRATE_FLUSH_VOLUME_OUT_OF_RANGE , "FP | FP: Filter Health | A problem was detected with the dialysate device. \n- Treatment must be terminated.\n- Locate the ID code found in the bottom left corner\nof the alarm screen.\n- Call service to report the issue and schedule a repair. | FP Filters: Volume difference too high | FP volume difference between integrated flow and expected volume | If P7 is <90% of the target integrated volume ( 1L ) after 30 seconds ± 150ms of flushing. | "}, }; #endif // manual alarms Index: FPDefs.h =================================================================== diff -u --- FPDefs.h (revision 0) +++ FPDefs.h (revision 57cf24a496d5c1e2987fde2a925957e15dd1b018) @@ -0,0 +1,185 @@ + +#ifndef COMMON_FPDEFS_H_ +#define COMMON_FPDEFS_H_ + +// ********** public definitions ********** + +/** + * @addtogroup FPOperationModes + * @{ + */ + +/// Enumeration of operation modes. These are in order of priority (highest to lowest). +enum FP_Op_Modes +{ + FP_MODE_FAUL = 0, ///< Fault mode + FP_MODE_SERV, ///< Service mode + FP_MODE_INIT, ///< Initialization & POST mode + FP_MODE_STAN, ///< Standby mode + FP_MODE_PGEN, ///< Pre Generate Permeate mode ( RO Featured ) + FP_MODE_GENP, ///< Generate Permeate mode ( RO Featured ) + FP_MODE_DPGW, ///< Defeatured Pre-Generate Permeate mode + FP_MODE_DEGW, ///< Defeatured Generate Permeate mode + FP_MODE_NLEG, ///< Not legal - an illegal mode transition occurred + NUM_OF_FP_MODES ///< Number of FP operation modes +}; +typedef enum FP_Op_Modes FP_OP_MODE_T; ///< Type for FP operation modes enumeration + +/**@}*/ + +/** + * @addtogroup FPInitAndPOSTMode + * @{ + */ + +/// Enumeration of init & POST mode states. +enum FP_POST_States +{ + FP_POST_STATE_START = 0, ///< Start initialize & POST mode state + FP_POST_STATE_FW_INTEGRITY, ///< Run firmware integrity test state + FP_POST_STATE_NVDATAMGMT, ///< Run NV Data Mgmt. test state + FP_POST_STATE_WATCHDOG, ///< Run watchdog test state + FP_POST_STATE_SAFETY_SHUTDOWN, ///< Run safety shutdown test state + FP_POST_STATE_TEMPERATURES, ///< Run temperatures POST state + FP_POST_STATE_FW_COMPATIBILITY, ///< Run firmware compatibility test state + FP_POST_STATE_FPGA, ///< Run FPGA test state + FP_POST_STATE_COMPLETED, ///< POST self-tests completed state + FP_POST_STATE_FAILED, ///< POST self-tests failed state + NUM_OF_FP_POST_STATES ///< Number of initialize & POST mode states +}; +typedef enum FP_POST_States FP_POST_STATE_T; ///< Type for FP POST states enumeration + +/**@}*/ + +/** + * @addtogroup FPStandbyMode + * @{ + */ + +/// Enumeration of standby mode states. +enum FP_Standby_Mode_States +{ + FP_STANDBY_MODE_STATE_IDLE = 0, ///< Idle standby mode state + NUM_OF_FP_STANDBY_MODE_STATES ///< Number of standby mode states +}; +typedef enum FP_Standby_Mode_States FP_STANDBY_MODE_STATE_T; ///< Type for FP standby mode states enumeration + +/**@}*/ + +/** + * @addtogroup FPPreGenPermeateMode + * @{ + */ + +/// Enumeration of Featured Pre Gen Permeate mode states. +enum FP_Pre_GenP_Mode_States +{ + FP_PRE_GENP_INLET_PRESSURE_CHECK = 0, ///< Pre Gen Permeate Inlet Pressure Check state + FP_PRE_GENP_FILTER_FLUSH, ///< Pre Gen Permeate Filter Flush state + FP_PRE_GENP_PERMEATE_FLUSH, ///< Pre Gen Permeate Permeate Flush state + FP_PRE_GENP_CONCENTRATE_FLUSH, ///< Pre Gen Permeate Concentrate Flush state + FP_PRE_GENP_VERIFY_WATER, ///< Pre Gen Permeate Verify Water state + FP_PRE_GENP_PAUSED, ///< Pre Gen Permeate Paused state + NUM_OF_FP_PRE_GENW_MODE_STATES ///< Number of Pre Gen Permeate states +}; +typedef enum FP_Pre_GenP_Mode_States FP_PRE_GENP_MODE_STATE_T; ///< Type for FP Gen Permeate mode states enumeration + +/** + * @addtogroup FPPreGenPermeateModeDefeatured + * @{ + */ + +/// Enumeration of Defeatured Pre Gen Permeate mode states. +enum FP_Pre_GenP_Def_Mode_States +{ + FP_PRE_GENP_DEF_FLUSH = 0, ///< Pre Gen Permeate Defeatured Flush state + FP_PRE_GENP_DEF_INLET_WATER_CHECK, ///< Pre Gen Permeate Defeatured Inlet Water Check state + FP_PRE_GENP_DEF_PAUSED, ///< Defeatured Pre Gen Permeate Paused state + NUM_OF_FP_PRE_GENP_DEF_MODE_STATES ///< Number of Defeatured Pre Gen Permeate states +}; +typedef enum FP_Pre_GenP_Def_Mode_States FP_PRE_GENP_DEF_MODE_STATE_T; ///< Type for FP Gen Permeate mode states enumeration + +/**@}*/ + +/** + * @addtogroup FPGenPermeateMode + * @{ + */ + +/// Enumeration of Gen Permeate mode states. +enum FP_GenP_Mode_States +{ + FP_GENP_TANK_FILL_STATE = 0, ///< Gen Permeate Tank Fill low state + FP_GENP_TANK_FULL_STATE, ///< Gen Permeate Tank Full state + NUM_OF_FP_GENP_MODE_STATES ///< Number of Gen permeate states +}; +typedef enum FP_GenP_Mode_States FP_GENP_MODE_STATE_T; ///< Type for FP Gen Permeate mode states enumeration + +/**@}*/ + +/** + * @addtogroup FPGenPermeateModeDefeatured + * @{ + */ + +/// Enumeration of Defeatured Gen Permeate mode states. +enum FP_GenP_Def_Mode_States +{ + FP_GENW_DEF_SUPPLY_WATER = 0, ///< Gen Water Defeatured Supply Water state + FP_GENW_DEF_PAUSED, ///< Gen Water Defeatured Paused state + NUM_OF_FP_GENP_DEF_MODE_STATES ///< Number of gen Permeate states +}; +typedef enum FP_GenP_Def_Mode_States FP_GENP_DEF_MODE_STATE_T; ///< Type for FP Gen Permeate mode states enumeration + +/**@}*/ + +/** + * @addtogroup FPFilterFlush + * @{ + */ + +/// Enumeration of Filter Flush states. +enum FP_Filter_Flush_States +{ + FILTER_FLUSH_IN_PROGRESS = 0, ///< Filter Flush in progress state + FILTER_FLUSH_PAUSED, ///< Filter Flush paused state + NUM_OF_FILTER_FLUSH_STATES ///< Number of filter flush states +}; +typedef enum FP_Filter_Flush_States FP_FILTER_FLUSH_STATE_T; ///< Type for FP Filter Flush states enumeration + +/**@}*/ + +/** + * @addtogroup FPPermeateFlush + * @{ + */ + +/// Enumeration of Permeate Flush states. +enum FP_Permeate_Flush_States +{ + PERM_FLUSH_IN_PROGRESS = 0, ///< Permeate Flush in progress state + PERM_FLUSH_PAUSED, ///< Permeate Flush paused state + NUM_OF_PERM_FLUSH_STATES ///< Number of Permeate flush states +}; +typedef enum FP_Permeate_Flush_States FP_PERM_FLUSH_STATE_T; ///< Type for FP Permeate Flush states enumeration + +/**@}*/ + +/** + * @addtogroup CommonHeader + * @{ + */ + +/// Enumeration of FP event IDs. +enum FP_Event_List +{ + FP_EVENT_STARTUP = 0, ///< FP startup event + FP_EVENT_OP_MODE_CHANGE, ///< FP Op mode change event + FP_EVENT_SUB_MODE_CHANGE, ///< FP Op sub-mode change event + NUM_OF_FP_EVENT_IDS ///< Total number of FP events +}; +typedef enum FP_Event_List FP_EVENT_ID_T; ///< Type for FP event list enumeration + +/**@}*/ + +#endif Index: MsgDefs.h =================================================================== diff -u -r3cd42ed128e5ab7973725b22f75cb176c1a46b0e -r57cf24a496d5c1e2987fde2a925957e15dd1b018 --- MsgDefs.h (.../MsgDefs.h) (revision 3cd42ed128e5ab7973725b22f75cb176c1a46b0e) +++ MsgDefs.h (.../MsgDefs.h) (revision 57cf24a496d5c1e2987fde2a925957e15dd1b018) @@ -114,6 +114,9 @@ MSG_ID_DD_SERIAL_RESPONSE = 0x52, ///< DD response to UI serial request MSG_ID_TD_TEMPERATURE_DATA = 0x53, ///< TD Temperature broadcast data MSG_ID_TD_BATTERY_DATA = 0x54, ///< TD Battery broadcast data + MSG_ID_FP_FILTER_FLUSH_DATA = 0x55, ///< FP Filter Flush broadcast data + MSG_ID_FP_PERMEATE_FLUSH_DATA = 0x56, ///< FP Permeate Flush broadcast data + MSG_ID_FP_CONCENTRATE_FLUSH_DATA = 0x57, ///< FP Concentrate Flush broadcast data #ifdef __PUMPTEST__ MSG_ID_DD_PISTON_PUMP_CONTROL_DATA = 0xF0, ///< DD piston pump data Fisheye: Tag 57cf24a496d5c1e2987fde2a925957e15dd1b018 refers to a dead (removed) revision in file `RODefs.h'. Fisheye: No comparison available. Pass `N' to diff?