Index: firmware/.launches/DG.launch =================================================================== diff -u -rbd80dccfee1f58fdbc49bf05dd000005b105fe26 -r23fd3843b6e50ff90b4db987be553c823bfd6597 --- firmware/.launches/DG.launch (.../DG.launch) (revision bd80dccfee1f58fdbc49bf05dd000005b105fe26) +++ firmware/.launches/DG.launch (.../DG.launch) (revision 23fd3843b6e50ff90b4db987be553c823bfd6597) @@ -1,28 +1,10 @@ - - - - - - - - - - - - - - - - - - @@ -31,5 +13,4 @@ - Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r1722e975682c9e41e0b75551ada1139d3dc522a6 -r23fd3843b6e50ff90b4db987be553c823bfd6597 --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 1722e975682c9e41e0b75551ada1139d3dc522a6) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 23fd3843b6e50ff90b4db987be553c823bfd6597) @@ -55,6 +55,7 @@ #define CONCENTRATE_PUMP_VOLUME_PER_PULSE ( CONCENTRATE_PUMP_VOLUME_PER_REV / CONCENTRATE_PUMP_PULSE_PER_REV ) #define CONCENTRATE_PUMP_DATA_PUBLISH_INTERVAL ( 500 / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the concentrate pump is monitored. + #define CONCENTRATE_PUMP_CONTROL_INTERVAL ( 1 * MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the concentrate pump is controlled. #define CONCENTRATE_PUMP_SPEED_CONTROL_PERSISTENCE_PERIOD ( 5 * MS_PER_SECOND ) ///< Persistence period for concentrate pump speed control error. Index: firmware/App/Controllers/ConductivitySensors.c =================================================================== diff -u -r66cc826068b54bc436cde0fae70a05ba6c1ac974 -r23fd3843b6e50ff90b4db987be553c823bfd6597 --- firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 66cc826068b54bc436cde0fae70a05ba6c1ac974) +++ firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 23fd3843b6e50ff90b4db987be553c823bfd6597) @@ -55,6 +55,7 @@ #define MAX_CONDUCTIVITY_SENSOR_FAILURE_WINDOW_MS ( 60 * MS_PER_SECOND ) ///< Conductivity sensor error window. #define RO_REJECTION_RATIO_OUT_OF_RANGE_VALUE 1.0F ///< Out of range value for RO rejection ratio when CPi conductivity is zero. + #define MAX_RO_REJECTION_RATIO_ALLOW 0.10F ///< Maximum RO rejection ratio. #define MAX_CPO_CONDUCTIVITY_ALLOW 30.0 ///< Maximum CPo sensor conductivity value. @@ -152,6 +153,7 @@ initTimeWindowedCount( TIME_WINDOWED_COUNT_FPGA_CONDUCTIVITY_SENSOR_ERROR, MAX_CONDUCTIVITY_SENSOR_FAILURES, MAX_CONDUCTIVITY_SENSOR_FAILURE_WINDOW_MS ); initPersistentAlarm( ALARM_ID_INLET_WATER_HIGH_CONDUCTIVITY, COND_SENSOR_PERSISTENCE_PERIOD, COND_SENSOR_PERSISTENCE_PERIOD ); + initPersistentAlarm( ALARM_ID_INLET_WATER_CONDUCTIVITY_IN_HIGH_RANGE, COND_SENSOR_PERSISTENCE_PERIOD, COND_SENSOR_PERSISTENCE_PERIOD ); initPersistentAlarm( ALARM_ID_INLET_WATER_CONDUCTIVITY_IN_LOW_RANGE, COND_SENSOR_PERSISTENCE_PERIOD, COND_SENSOR_PERSISTENCE_PERIOD ); initPersistentAlarm( ALARM_ID_RO_REJECTION_RATIO_OUT_OF_RANGE, RO_REJECTION_RATIO_PERSISTENCE_PERIOD, RO_REJECTION_RATIO_PERSISTENCE_PERIOD ); @@ -238,11 +240,9 @@ /*********************************************************************//** * @brief * The checkInletWaterConductivity function checks inlet water conductivity value - * and triggers an alarm when conductivity value is not within the specified - * values. + * and triggers an alarm when conductivity value is out of allowed range. * @details Inputs: CPi sensor conductivity - * @details Outputs: Trigger warning alarm if conductivity is in the warning - * range. Trigger alarm if conductivity is below minimum conductivity. + * @details Outputs: Trigger alarms when conductivity is out of allowed range * @return none *************************************************************************/ void checkInletWaterConductivity( void ) @@ -272,7 +272,6 @@ { checkPersistentAlarm( ALARM_ID_INLET_WATER_CONDUCTIVITY_IN_HIGH_RANGE, FALSE, conductivity, MAX_COND_SENSOR_CPI_WARNING_HIGH ); } - #endif } Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -r66cc826068b54bc436cde0fae70a05ba6c1ac974 -r23fd3843b6e50ff90b4db987be553c823bfd6597 --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 66cc826068b54bc436cde0fae70a05ba6c1ac974) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 23fd3843b6e50ff90b4db987be553c823bfd6597) @@ -368,12 +368,11 @@ measuredROFlowRateLPM.data = flow - ( getMeasuredPumpSpeed( CONCENTRATEPUMPS_CP1_ACID ) / ML_PER_LITER ) - ( getMeasuredPumpSpeed( CONCENTRATEPUMPS_CP2_BICARB ) / ML_PER_LITER ); - // If the flow is less than a certain value, FPGA will return 0xFFFF meaning that - // the flow is 0. - if ( FLOW_SENSOR_ZERO_READING == roFlowReading ) - { - measuredROFlowRateLPM.data = 0.0; - } + // If the flow is less than a certain value, FPGA will return 0xFFFF meaning that the flow is 0. + if ( FLOW_SENSOR_ZERO_READING == roFlowReading ) + { + measuredROFlowRateLPM.data = 0.0; + } measuredFlowReadingsSum = 0; flowFilterCounter = 0; Index: firmware/App/DGCommon.h =================================================================== diff -u -ra0966852dd6f9f8e70289b7ea7588677967f3f2f -r23fd3843b6e50ff90b4db987be553c823bfd6597 --- firmware/App/DGCommon.h (.../DGCommon.h) (revision a0966852dd6f9f8e70289b7ea7588677967f3f2f) +++ firmware/App/DGCommon.h (.../DGCommon.h) (revision 23fd3843b6e50ff90b4db987be553c823bfd6597) @@ -25,7 +25,7 @@ #define DG_VERSION_MAJOR 0 #define DG_VERSION_MINOR 6 #define DG_VERSION_MICRO 0 -#define DG_VERSION_BUILD 24 +#define DG_VERSION_BUILD 148 // ********** build switches ********** @@ -56,16 +56,17 @@ // #define NEW_FMD_FLOW_SENSOR 1 // Not needed #define DISABLE_HEATERS_EFFICIENCY 1 #define DISABLE_COND_STATUS_CHECK 1 /// Build switch + #define DISABLE_DISINFECT_CONDUCTIVITY 1 // Implement // #define DISABLE_CONC_PUMPS 1 // #define DISABLE_CAP_SWITCHES 1 // Implement - #define DISABLE_UV_REACTORS 1 +// #define DISABLE_UV_REACTORS 1 #define DISABLE_ACID_BICARB_ALARMS 1 // Implement #define DISABLE_EMPTY_BOTTLES_ALARMS 1 // Implement -// #define DISABLE_PRIME_CONCENT_LINES 1 -// #define DISABLE_BICARB_CONDUCTIVITY_TEST 1 -// #define DISABLE_ACID_CONDUCTIVITY_TEST 1 + + #define DISABLE_BICARB_CONDUCTIVITY_TEST 1 + #define DISABLE_ACID_CONDUCTIVITY_TEST 1 // Turn these flags on to disable dialysate mixing #define DISABLE_DIALYSATE_CHECK 1 // Disabled for Tom // Implement // #define DISABLE_MIXING 1 // Implement Index: firmware/App/Modes/ModeFlush.c =================================================================== diff -u -rc3d66517a6642f3e1d33c2508bc736920b32e792 -r23fd3843b6e50ff90b4db987be553c823bfd6597 --- firmware/App/Modes/ModeFlush.c (.../ModeFlush.c) (revision c3d66517a6642f3e1d33c2508bc736920b32e792) +++ firmware/App/Modes/ModeFlush.c (.../ModeFlush.c) (revision 23fd3843b6e50ff90b4db987be553c823bfd6597) @@ -49,14 +49,15 @@ #define DRAIN_WEIGHT_UNCHANGE_TIMEOUT ( 6 * MS_PER_SECOND ) ///< Time period of unchanged weight during draining before timeout. // Flush drain path state defines -#define FLUSH_DRAIN_WAIT_TIME_MS ( 2 * MS_PER_SECOND ) ///< Flush Drain path wait time in milliseconds. TODo it was 2 minutes +#define FLUSH_DRAIN_WAIT_TIME_MS ( 2 * 60 * MS_PER_SECOND ) ///< Flush Drain path wait time in milliseconds. // Flush dialysate state defines #define FLUSH_DIALYSATE_WAIT_TIME_MS ( 0.5F * 60 * MS_PER_SECOND ) ///< Flush dialysate wait time in milliseconds. // Flush concentrate straws state defines #define FLUSH_CONCENTRATE_STRAWS_TIME_MS ( 0.5F * 60 * MS_PER_SECOND ) ///< Flush concentrate straws wait time in milliseconds. todo was 3 minutes #define ACID_PUMP_SPEED_ML_PER_MIN -30.0F ///< Acid pump speed in mL/min. + // The bicarb pump is 2% faster than the acid pump to create a flow from acid to bicarb line during flush #define BICARB_PUMP_SPEED_ML_PER_MIN 30.6F ///< Bicarb pump speed in mL/min. @@ -306,6 +307,7 @@ // Close VPi to prevent wasting water setValveState( VPI, VALVE_STATE_CLOSED ); + // Set the actuators to drain R1 setValveState( VRD1, VALVE_STATE_OPEN ); Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r66cc826068b54bc436cde0fae70a05ba6c1ac974 -r23fd3843b6e50ff90b4db987be553c823bfd6597 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 66cc826068b54bc436cde0fae70a05ba6c1ac974) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 23fd3843b6e50ff90b4db987be553c823bfd6597) @@ -1122,11 +1122,11 @@ break; case MSG_ID_FILTER_FLUSH_TIME_PERIOD_OVERRIDE: - handleFilterFlushTimePeriodOverride( message ); + handleFilterFlushTimePeriodOverride(message); break; - case MSG_ID_DG_FANS_RPM_OVERRIDE: - handleFansRPMOverride( message ); + case MSG_ID_DG_BLOCK_MESSAGE_TRANSMISSION: + handleTestBlockMessagesRequest( message ); break; case MSG_ID_DG_STOP_RTC_CLOCK: @@ -1137,10 +1137,6 @@ handleSetDrainPumpMeasuredRPMOverrideRequest( message ); break; - case MSG_ID_DG_BLOCK_MESSAGE_TRANSMISSION: - handleTestBlockMessagesRequest( message ); - break; - case MSG_ID_DG_SUPER_CLEAR_ALARMS_CMD: handleTestSuperClearAlarmsRequest( message ); break; @@ -1153,6 +1149,10 @@ handleTestFansRPMAlarmStartTimeOffsetRequest( message ); break; + case MSG_ID_DG_FANS_RPM_OVERRIDE: + handleFansRPMOverride( message ); + break; + case MSG_ID_DG_USED_ACID_VOLUME_ML_OVERRIDE: handleTestUsedAcidVolumeMLOverrideRequest( message ); break; Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r66cc826068b54bc436cde0fae70a05ba6c1ac974 -r23fd3843b6e50ff90b4db987be553c823bfd6597 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 66cc826068b54bc436cde0fae70a05ba6c1ac974) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 23fd3843b6e50ff90b4db987be553c823bfd6597) @@ -23,7 +23,6 @@ #include "Compatible.h" #include "ConcentratePumps.h" #include "ConductivitySensors.h" -#include "Fans.h" #include "FPGA.h" #include "Heaters.h" #include "ModeFill.h" @@ -365,7 +364,6 @@ return result; } - // *********************************************************************** // **************** Message Handling Helper Functions ******************** // *********************************************************************** @@ -3050,37 +3048,6 @@ } /*********************************************************************//** - * @brief - * The handleFansRPMOverride function handles a request to override a fans RPM value. - * @details Inputs: none - * @details Outputs: message handled - * @param message a pointer to the message to handle - * @return none - *************************************************************************/ -void handleFansRPMOverride( MESSAGE_T *message ) -{ - TEST_OVERRIDE_ARRAY_PAYLOAD_T payload; - BOOL result = FALSE; - - // verify payload length - if ( sizeof(TEST_OVERRIDE_ARRAY_PAYLOAD_T) == message->hdr.payloadLen ) - { - memcpy( &payload, message->payload, sizeof(TEST_OVERRIDE_ARRAY_PAYLOAD_T) ); - if ( FALSE == payload.reset ) - { - result = testSetFanRPMOverride( payload.index, payload.state.f32 ); - } - else - { - result = testResetFanRPMOverride( payload.index ); - } - } - - // respond to request - sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); -} - -/*********************************************************************//** * @brief * The handleStopDGRTCClock function handles a request to stop the RTC clock. * @details Inputs: none @@ -3254,10 +3221,41 @@ /*********************************************************************//** * @brief - * The handleTestFansRPMAlarmStartTimeOffsetRequest function handles a - * request to set the fans RPM alarm start time offset. + * The handleFansRPMOverride function handles a request to override a fans RPM value. * @details Inputs: none * @details Outputs: message handled + * @param message a pointer to the message to handle + * @return none + *************************************************************************/ +void handleFansRPMOverride( MESSAGE_T *message ) +{ + TEST_OVERRIDE_ARRAY_PAYLOAD_T payload; + BOOL result = FALSE; + + // verify payload length + if ( sizeof(TEST_OVERRIDE_ARRAY_PAYLOAD_T) == message->hdr.payloadLen ) + { + memcpy( &payload, message->payload, sizeof(TEST_OVERRIDE_ARRAY_PAYLOAD_T) ); + if ( FALSE == payload.reset ) + { + result = testSetFanRPMOverride( payload.index, payload.state.f32 ); + } + else + { + result = testResetFanRPMOverride( payload.index ); + } + } + + // respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} + +/*********************************************************************//** + * @brief + * The handleTestFansRPMAlarmStartTimeOverrideRequest function handles a + * request to override the fan RPM alarm start time. + * @details Inputs: none + * @details Outputs: message handled * @param message : a pointer to the message to handle * @return none *************************************************************************/ @@ -3280,7 +3278,6 @@ } /*********************************************************************//** - * @brief * The handleTestUsedAcidVolumeMLOverrideRequest function handles a * request to override the acid volume. * @details Inputs: none Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r66cc826068b54bc436cde0fae70a05ba6c1ac974 -r23fd3843b6e50ff90b4db987be553c823bfd6597 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 66cc826068b54bc436cde0fae70a05ba6c1ac974) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 23fd3843b6e50ff90b4db987be553c823bfd6597) @@ -356,6 +356,12 @@ // MSG_ID_DG_DRAIN_PUMP_MEASURED_RPM_OVERRIDE void handleSetDrainPumpMeasuredRPMOverrideRequest( MESSAGE_T *message ); +// MSG_ID_DG_ALARM_INFO_SEND_INTERVAL_OVERRIDE +void handleTestAlarmInfoSendIntervalOverrideRequest( MESSAGE_T *message ); + +// MSG_ID_DG_SUPER_CLEAR_ALARMS_CMD +void handleTestSuperClearAlarmsRequest( MESSAGE_T *message ); + // MSG_ID_DG_SET_FANS_RPM_ALARM_START_TIME_OFFSET void handleTestFansRPMAlarmStartTimeOffsetRequest( MESSAGE_T *message ); @@ -377,6 +383,12 @@ // MSG_ID_DG_HD_COMMUNICATION_STATUS void handleTestHDCommunicationStatusOverrideRequest(MESSAGE_T *message); +// MSG_ID_DG_USED_ACID_VOLUME_ML_OVERRIDE +void handleTestUsedAcidVolumeMLOverrideRequest(MESSAGE_T *message); + +// MSG_ID_DG_USED_BICARB_VOLUME_ML_OVERRIDE +void handleTestUsedBicarbVolumeMLOverrideRequest(MESSAGE_T *message); + /**@}*/ #endif