Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r8defcfa32034c4068b733930c2e8b0989c55daba -reff31263255b3a3441caff2955b4910f9ccc3656 --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 8defcfa32034c4068b733930c2e8b0989c55daba) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision eff31263255b3a3441caff2955b4910f9ccc3656) @@ -55,7 +55,9 @@ #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 ( 50 / 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. #define NUMBER_OF_ACID_AND_BICARB_NV_DATA_TO_CHECK 1 ///< Number of acid and bicarb non-volatile data to check. Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -r8defcfa32034c4068b733930c2e8b0989c55daba -reff31263255b3a3441caff2955b4910f9ccc3656 --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 8defcfa32034c4068b733930c2e8b0989c55daba) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision eff31263255b3a3441caff2955b4910f9ccc3656) @@ -367,12 +367,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 -r8defcfa32034c4068b733930c2e8b0989c55daba -reff31263255b3a3441caff2955b4910f9ccc3656 --- firmware/App/DGCommon.h (.../DGCommon.h) (revision 8defcfa32034c4068b733930c2e8b0989c55daba) +++ firmware/App/DGCommon.h (.../DGCommon.h) (revision eff31263255b3a3441caff2955b4910f9ccc3656) @@ -25,7 +25,7 @@ #define DG_VERSION_MAJOR 0 #define DG_VERSION_MINOR 6 #define DG_VERSION_MICRO 0 -#define DG_VERSION_BUILD 18 +#define DG_VERSION_BUILD 104 // ********** build switches ********** @@ -34,7 +34,7 @@ // TODO: Removed debug build flags when release build is ready // #define BOARD_WITH_NO_HARDWARE 1 // #define TASK_TIMING_OUTPUT_ENABLED 1 // re-purposes drain pump enable pin for task timing -// #define DISABLE_HEATERS_AND_TEMPS 1 +// #define DISABLE_HEATERS_AND_TEMPS 1 // #define DISABLE_ACCELS 1 // #define SKIP_POST 1 #define SKIP_CAL_CHECK 1 @@ -59,6 +59,8 @@ #define DISABLE_DIALYSATE_CHECK 1 // Disabled for Tom // #define DISABLE_MIXING 1 //#define DISABLE_FLOW_CONTROL_TREATMENT 1 + //#define DISABLE_TRIMMER_HEATER 1 + #define DIALYSATE_FLOW_METER_ENABLED 1 #define DISABLE_ACK_ALARM 1 #include Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -r8defcfa32034c4068b733930c2e8b0989c55daba -reff31263255b3a3441caff2955b4910f9ccc3656 --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 8defcfa32034c4068b733930c2e8b0989c55daba) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision eff31263255b3a3441caff2955b4910f9ccc3656) @@ -48,7 +48,6 @@ #define DIALYSATE_FILL_TIME_OUT ( 5 * SEC_PER_MIN * MS_PER_SECOND ) ///< Time out period when reservoir is not filled with correct dialysate. #define EMPTY_BOTTLE_DETECT_PERSISTENT_PERIOD_MS ( 5 * MS_PER_SECOND ) ///< Persistent period for empty bottle detect. - #define CONCENTRATE_PUMP_PRIME_INTERVAL ( 3 * MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Persistent time interval for concentrate pumps prime. #define ACID_BICARB_CONCENTRATE_ADDITION_MULTIPLER 1.06 ///< Acid and bicarbonate concentrates make up around 6% to total volume. Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r8defcfa32034c4068b733930c2e8b0989c55daba -reff31263255b3a3441caff2955b4910f9ccc3656 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 8defcfa32034c4068b733930c2e8b0989c55daba) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision eff31263255b3a3441caff2955b4910f9ccc3656) @@ -1121,11 +1121,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: @@ -1136,10 +1136,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; @@ -1152,6 +1148,10 @@ handleTestFansRPMAlarmStartTimeOffsetOverrideRequest( message ); break; + case MSG_ID_DG_FANS_RPM_OVERRIDE: + handleFansRPMOverride( message ); + break; + case MSG_ID_DG_GET_SW_CONFIG_RECORD: handleGetDGSoftwareConfigRecord( message ); break; Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r8defcfa32034c4068b733930c2e8b0989c55daba -reff31263255b3a3441caff2955b4910f9ccc3656 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 8defcfa32034c4068b733930c2e8b0989c55daba) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision eff31263255b3a3441caff2955b4910f9ccc3656) @@ -22,7 +22,6 @@ #include "Accel.h" #include "ConcentratePumps.h" #include "ConductivitySensors.h" -#include "Fans.h" #include "FPGA.h" #include "Heaters.h" #include "ModeFlush.h" @@ -363,7 +362,6 @@ return result; } - // *********************************************************************** // **************** Message Handling Helper Functions ******************** // *********************************************************************** @@ -3047,37 +3045,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 @@ -3251,6 +3218,37 @@ /*********************************************************************//** * @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 handleTestFansRPMAlarmStartTimeOverrideRequest function handles a * request to override the fan RPM alarm start time. * @details Inputs: none Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r8defcfa32034c4068b733930c2e8b0989c55daba -reff31263255b3a3441caff2955b4910f9ccc3656 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 8defcfa32034c4068b733930c2e8b0989c55daba) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision eff31263255b3a3441caff2955b4910f9ccc3656) @@ -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_FAN_RPM_ALARM_START_TIME_OFFSET_OVERRIDE void handleTestFansRPMAlarmStartTimeOffsetOverrideRequest( MESSAGE_T *message );