Index: firmware/App/Controllers/DrainPump.c =================================================================== diff -u -rc55d371408bdf962de525a47bc8541d5b43414a3 -rc2fe204db1b8926994b5eee78afa1b516c97d02c --- firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision c55d371408bdf962de525a47bc8541d5b43414a3) +++ firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision c2fe204db1b8926994b5eee78afa1b516c97d02c) @@ -301,7 +301,7 @@ targetDrainPumpRPM = 0; drainPumpState = DRAIN_PUMP_OFF_STATE; hasClosedLoopBeenRequested = FALSE; - drainPumpControlMode = PUMP_CONTROL_MODE_NONE; + drainPumpControlMode = PUMP_CONTROL_MODE_CLOSED_LOOP; drainPumpControlModeSet = drainPumpControlMode; drainControlTimerCounter = 0; } Index: firmware/App/Controllers/Switches.c =================================================================== diff -u -r73c7fed62a1ca2e4c3cc020a0d5f012c5128e592 -rc2fe204db1b8926994b5eee78afa1b516c97d02c --- firmware/App/Controllers/Switches.c (.../Switches.c) (revision 73c7fed62a1ca2e4c3cc020a0d5f012c5128e592) +++ firmware/App/Controllers/Switches.c (.../Switches.c) (revision c2fe204db1b8926994b5eee78afa1b516c97d02c) @@ -46,7 +46,7 @@ // Initialize all the switches for ( i = 0; i < NUM_OF_DOORS_AND_CAPS; i++ ) { - switchStatus[ i ].data = (U32)CLOSED; + switchStatus[ i ].data = (U32)STATE_CLOSED; } } @@ -61,9 +61,9 @@ { if ( ++switchesFPGAStatusCheckCounter > SWITCHES_FPGA_STATUS_CHECK_INTERVAL ) { - switchStatus[ CONCENTRATE_CAP ].data = (U32)( getFPGAGFluidDoorStatus() != 0 ? OPEN : CLOSED); // TODO change the logic orientation? - switchStatus[ DIALYSATE_CAP ].data = (U32)( getFPGADialysateCapStatus() != 0 ? OPEN : CLOSED); - switchStatus[ FLUID_DOOR ].data = (U32)( getFPGAConcentrateCapStatus() != 0 ? OPEN : CLOSED); + switchStatus[ CONCENTRATE_CAP ].data = (U32)( getFPGAGFluidDoorStatus() != 0 ? STATE_CLOSED : STATE_OPEN ); + switchStatus[ DIALYSATE_CAP ].data = (U32)( getFPGADialysateCapStatus() != 0 ? STATE_CLOSED : STATE_OPEN ); + switchStatus[ FLUID_DOOR ].data = (U32)( getFPGAConcentrateCapStatus() != 0 ? STATE_CLOSED : STATE_OPEN ); switchesFPGAStatusCheckCounter = 0; } @@ -79,20 +79,27 @@ * @param switchId which is the switch that its status is requested * @return switch status *************************************************************************/ -SWITCH_STATUS_T getSwitchStatus( SWITCH_T switchId ) +OPN_CLS_STATE_T getSwitchStatus( SWITCH_T switchId ) { U32 status; - if ( OVERRIDE_KEY == switchStatus[ switchId ].override ) + if ( switchId < NUM_OF_DOORS_AND_CAPS ) { - status = switchStatus[ switchId ].ovData; + if ( OVERRIDE_KEY == switchStatus[ switchId ].override ) + { + status = switchStatus[ switchId ].ovData; + } + else + { + status = switchStatus[ switchId ].data; + } } else { - status = switchStatus[ switchId ].data; + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_DG_INVALID_SWITCH_ID, (U32)switchId ) } - return (SWITCH_STATUS_T)status; + return (OPN_CLS_STATE_T)status; } // ********** private functions ********** @@ -141,6 +148,7 @@ return result; } + /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/ Index: firmware/App/Controllers/Switches.h =================================================================== diff -u -r28787751424ba118764b865009edf9b0842b2ac7 -rc2fe204db1b8926994b5eee78afa1b516c97d02c --- firmware/App/Controllers/Switches.h (.../Switches.h) (revision 28787751424ba118764b865009edf9b0842b2ac7) +++ firmware/App/Controllers/Switches.h (.../Switches.h) (revision c2fe204db1b8926994b5eee78afa1b516c97d02c) @@ -24,13 +24,6 @@ NUM_OF_DOORS_AND_CAPS ///< Number of doors and caps } SWITCH_T; -typedef enum switches_status -{ - CLOSED = 0, ///< Closed - OPEN, ///< Open - NUM_OF_SWITCH_STATUS ///< Number of switch status -} SWITCH_STATUS_T; - /// DG doors and caps data publish structure typedef struct { @@ -45,7 +38,7 @@ void execSwitches( void ); -SWITCH_STATUS_T getSwitchStatus( SWITCH_T switchId ); +OPN_CLS_STATE_T getSwitchStatus( SWITCH_T switchId ); BOOL testSetSwitchesDataPublishIntervalOverride( U32 value ); BOOL testResetSwitchesDataPublishIntervalOverrid( void ); Index: firmware/App/Controllers/UVReactors.c =================================================================== diff -u -r86eec09ab556fbd970ddcae9dc622727928ee757 -rc2fe204db1b8926994b5eee78afa1b516c97d02c --- firmware/App/Controllers/UVReactors.c (.../UVReactors.c) (revision 86eec09ab556fbd970ddcae9dc622727928ee757) +++ firmware/App/Controllers/UVReactors.c (.../UVReactors.c) (revision c2fe204db1b8926994b5eee78afa1b516c97d02c) @@ -48,7 +48,7 @@ { UV_REACTOR_STATE_T execState; ///< UV reactor executive state PIN_SIGNAL_STATE_T pinSignalState; ///< UV reactor pin signal state - SWITCH_STATES_T switchState; ///< UV reactor turn on/turn off state + UV_REACTOR_STATES_T switchState; ///< UV reactor turn on/turn off state U32 reactorEnablePin; ///< UV reactor enable pin of GIO port A U32 reactorHealthStatusPin; ///< UV reactor status pin of N2HET1 OVERRIDE_U32_T healthStatus; ///< UV reactor current health status Index: firmware/App/Controllers/UVReactors.h =================================================================== diff -u -r86eec09ab556fbd970ddcae9dc622727928ee757 -rc2fe204db1b8926994b5eee78afa1b516c97d02c --- firmware/App/Controllers/UVReactors.h (.../UVReactors.h) (revision 86eec09ab556fbd970ddcae9dc622727928ee757) +++ firmware/App/Controllers/UVReactors.h (.../UVReactors.h) (revision c2fe204db1b8926994b5eee78afa1b516c97d02c) @@ -22,6 +22,13 @@ NUM_OF_UV_REACTORS, ///< Number of UV reactors } UV_REACTORS_T; +/// List of reactor states. +typedef enum Switch_States +{ + TURN_OFF = 0, ///< Turn off + TURN_ON, ///< Turn on +} UV_REACTOR_STATES_T; + /// UV reactors health status typedef enum uv_reactors_health_status { Index: firmware/App/Modes/ModeRecirculate.c =================================================================== diff -u -rc0160362dc799802ec589d5b6cf4c2bd1face77e -rc2fe204db1b8926994b5eee78afa1b516c97d02c --- firmware/App/Modes/ModeRecirculate.c (.../ModeRecirculate.c) (revision c0160362dc799802ec589d5b6cf4c2bd1face77e) +++ firmware/App/Modes/ModeRecirculate.c (.../ModeRecirculate.c) (revision c2fe204db1b8926994b5eee78afa1b516c97d02c) @@ -87,6 +87,8 @@ setValveState( VPI, VALVE_STATE_OPEN ); #ifndef V_2_SYSTEM setValveState( VPD, VALVE_STATE_OPEN_C_TO_NC ); + setValveState( VRD1, VALVE_STATE_CLOSED ); + setValveState( VRD2, VALVE_STATE_CLOSED ); #endif setValveState( VRC, VALVE_STATE_DRAIN_C_TO_NO ); setValveState( VDR, VALVE_STATE_DRAIN_C_TO_NO ); Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -rc0160362dc799802ec589d5b6cf4c2bd1face77e -rc2fe204db1b8926994b5eee78afa1b516c97d02c --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision c0160362dc799802ec589d5b6cf4c2bd1face77e) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision c2fe204db1b8926994b5eee78afa1b516c97d02c) @@ -141,30 +141,31 @@ SW_FAULT_ID_THERMISTORS_INVALID_EXEC_STATE, // 60 SW_FAULT_ID_INVALID_THERMISTOR_SELECTED, SW_FAULT_ID_FAN_INVALID_EXEC_STATE, - SW_FAULT_ID_INVALID_FAN_SELECTED, // 65 + SW_FAULT_ID_INVALID_FAN_SELECTED, SW_FAULT_ID_RO_PUMP_INVALID_EXEC_STATE, - SW_FAULT_ID_RO_PUMP_INVALID_FLOW_RATE_SET, + SW_FAULT_ID_RO_PUMP_INVALID_FLOW_RATE_SET, // 65 SW_FAULT_ID_DRAIN_PUMP_INVALID_EXEC_STATE, SW_FAULT_ID_UV_REACTORS_INVALID_REACTOR_SELECTD, - SW_FAULT_ID_RO_PUMP_INVALID_PRESSURE_SELECTED, // 70 + SW_FAULT_ID_RO_PUMP_INVALID_PRESSURE_SELECTED, SW_FAULT_ID_DRAIN_PUMP_INVALID_DELTA_PRESSURE_SELECTED, - SW_FAULT_ID_INVALID_TEMPERATURE_SENSOR_SELECTED, + SW_FAULT_ID_INVALID_TEMPERATURE_SENSOR_SELECTED, // 70 SW_FAULT_ID_DRAIN_PUMP_INVALID_RPM_SELECTED, SW_FAULT_ID_ALARM_MGMT_INVALID_ALARM_ID, - SW_FAULT_ID_DG_FLUSH_INVALID_EXEC_STATE, // 75 + SW_FAULT_ID_DG_FLUSH_INVALID_EXEC_STATE, SW_FAULT_ID_HEAT_DISINFECT_INVALID_EXEC_STATE, - SW_FAULT_ID_INVALID_DG_RESERVOIR_SELECTED, + SW_FAULT_ID_INVALID_DG_RESERVOIR_SELECTED, // 75 SW_FAULT_ID_STANDBY_MODE_INVALID_EXEC_STATE, SW_FAULT_ID_RECIRC_MODE_INVALID_EXEC_STATE, SW_FAULT_ID_DRAIN_MODE_INVALID_EXEC_STATE, - SW_FAULT_ID_FILL_MODE_INVALID_EXEC_STATE, // 80 - SW_FAULT_ID_PRESSURE_INVALID_EXEC_STATE, + SW_FAULT_ID_FILL_MODE_INVALID_EXEC_STATE, + SW_FAULT_ID_PRESSURE_INVALID_EXEC_STATE, // 80 SW_FAULT_ID_INVALID_NVDATAMGMT_EXEC_CAL_STATE, SW_FAULT_ID_INVALID_VOLTAGE_MONITOR_STATE, - SW_FAULT_ID_INVALID_MONITORED_VOLTAGE_ID, // 85 + SW_FAULT_ID_INVALID_MONITORED_VOLTAGE_ID, SW_FAULT_ID_INVALID_LOAD_CELL_ID, - SW_FAULT_ID_DG_CHEM_DISINFECT_INVALID_EXEC_STATE, + SW_FAULT_ID_DG_CHEM_DISINFECT_INVALID_EXEC_STATE, // 85 SW_FAULT_ID_DG_POST_INVALID_EXEC_STATE, + SW_FAULT_ID_DG_INVALID_SWITCH_ID, NUM_OF_SW_FAULT_IDS } SW_FAULT_ID_T; Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -r1463d830cefd58198bfc6d4ae3775ad0f2eb1d0b -rc2fe204db1b8926994b5eee78afa1b516c97d02c --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 1463d830cefd58198bfc6d4ae3775ad0f2eb1d0b) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision c2fe204db1b8926994b5eee78afa1b516c97d02c) @@ -34,9 +34,8 @@ // ********** private definitions ********** #define MIN_RESERVOIR_VOLUME_ML 0 ///< Minimum reservoir volume in mL. -#define MAX_RESERVOIR_VOLUME_ML 2000 ///< Maximum reservoir volume in mL. TODO reservoir volume -#define DEFAULT_FILL_VOLUME_ML 1700 ///< Default fill volume for treatment in mL. TODO Normal Fill - // TODO get the other normal fill +#define MAX_RESERVOIR_VOLUME_ML 2000 ///< Maximum reservoir volume in mL. +#define DEFAULT_FILL_VOLUME_ML 1700 ///< Default fill volume for treatment in mL. #define MAX_FILL_VOLUME_ML MAX_RESERVOIR_VOLUME_ML ///< Maximum fill volume in mL. #define DEFAULT_DRAIN_VOLUME_ML 0 ///< Default drain volume in mL. #define MAX_DRAIN_VOLUME_ML MAX_RESERVOIR_VOLUME_ML ///< Maximum drain volume in mL. Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r73c7fed62a1ca2e4c3cc020a0d5f012c5128e592 -rc2fe204db1b8926994b5eee78afa1b516c97d02c --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 73c7fed62a1ca2e4c3cc020a0d5f012c5128e592) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision c2fe204db1b8926994b5eee78afa1b516c97d02c) @@ -833,8 +833,7 @@ * The handleDGSerialNumberRequest function handles a request for DG serial * number request. * @details Inputs: none - * @details Outputs: message handled, response constructed and queued - * for transmit. + * @details Outputs: message handled, response constructed and queued for transmit. * @param message a pointer to the message to handle. * @return none *************************************************************************/ @@ -1214,7 +1213,7 @@ * The broadcastSwitchesData function sends out switches data. * @details Inputs: none * @details Outputs: switches data msg constructed and queued - * @param SWITCHES_DATA_T which is switches msg constructed and queued + * @param switchesData which is switches msg constructed and queued * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ BOOL broadcastSwitchesData( SWITCHES_DATA_T *switchesData )