Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r3461c140ba07e74863dee1d4c51d0119076fecf8 -rc774db57bc06b2dac2bf9aa268b8eab2294046d9 --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 3461c140ba07e74863dee1d4c51d0119076fecf8) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision c774db57bc06b2dac2bf9aa268b8eab2294046d9) @@ -162,8 +162,8 @@ F32 const cp1Error = fabs( getMeasuredPumpSpeed( CONCENTRATEPUMPS_CP1 ) - concentratePumps[ CONCENTRATEPUMPS_CP1 ].currentPumpSpeed ) / concentratePumps[ CONCENTRATEPUMPS_CP1 ].currentPumpSpeed; F32 const cp2Error = fabs( getMeasuredPumpSpeed( CONCENTRATEPUMPS_CP2 ) - concentratePumps[ CONCENTRATEPUMPS_CP2 ].currentPumpSpeed ) / concentratePumps[ CONCENTRATEPUMPS_CP2 ].currentPumpSpeed; - checkPersistentAlarm( PERSISTENT_ALARM_CP1_SPEED_CONTROL_ERROR, cp1Error > CONCENTRATE_PUMP_ERROR_TOLERANCE, cp1Error ); - checkPersistentAlarm( PERSISTENT_ALARM_CP2_SPEED_CONTROL_ERROR, cp2Error > CONCENTRATE_PUMP_ERROR_TOLERANCE, cp2Error ); + checkPersistentAlarm( PERSISTENT_ALARM_CP1_SPEED_CONTROL_ERROR, cp1Error > CONCENTRATE_PUMP_ERROR_TOLERANCE, cp1Error, CONCENTRATE_PUMP_ERROR_TOLERANCE ); + checkPersistentAlarm( PERSISTENT_ALARM_CP2_SPEED_CONTROL_ERROR, cp2Error > CONCENTRATE_PUMP_ERROR_TOLERANCE, cp2Error, CONCENTRATE_PUMP_ERROR_TOLERANCE ); concentratePumpMonitorTimerCounter = 0U; broadcastConcentratePumpData( &data ); Index: firmware/App/Controllers/ConductivitySensors.c =================================================================== diff -u -r273f797e1b0f70a9d5720d1ffff29d26ff5144af -rc774db57bc06b2dac2bf9aa268b8eab2294046d9 --- firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 273f797e1b0f70a9d5720d1ffff29d26ff5144af) +++ firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision c774db57bc06b2dac2bf9aa268b8eab2294046d9) @@ -199,8 +199,8 @@ BOOL const isCondTooHigh = ( conductivity > COND_SENSOR_CPI_CPO_MAX_VALUE ); BOOL const isCondTooLow = ( conductivity < COND_SENSOR_CPI_CPO_MIN_VALUE ); - checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_HIGH_CONDUCTIVITY, isCondTooHigh, conductivity ); - checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_LOW_CONDUCTIVITY, isCondTooLow, conductivity ); + checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_HIGH_CONDUCTIVITY, isCondTooHigh, conductivity, COND_SENSOR_CPI_CPO_MAX_VALUE ); + checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_LOW_CONDUCTIVITY, isCondTooLow, conductivity, COND_SENSOR_CPI_CPO_MIN_VALUE ); } /*********************************************************************//** @@ -218,7 +218,7 @@ F32 const cpo = getConductivityValue( CONDUCTIVITYSENSORS_CPO_SENSOR ); BOOL const isRORejectionRatioOutOfRange = ( roRejectionRatio > MAX_RO_REJECTION_RATIO_ALLOW ) || ( cpo >= MAX_CPO_CONDUCTIVITY_ALLOW ); - checkPersistentAlarm( PERSISTENT_ALARM_RO_REJECTION_RATIO_OUT_OF_RANGE, isRORejectionRatioOutOfRange, roRejectionRatio ); + checkPersistentAlarm( PERSISTENT_ALARM_RO_REJECTION_RATIO_OUT_OF_RANGE, isRORejectionRatioOutOfRange, roRejectionRatio, MAX_RO_REJECTION_RATIO_ALLOW ); #endif } @@ -238,8 +238,8 @@ BOOL const isPostAcidConductivityOutOfRange = ( postAcidConductivity <= CONCENTRATE_POST_ACID_MIN_CONDUCTIVITY ) || ( postAcidConductivity >= CONCENTRATE_POST_ACID_MAX_CONDUCTIVITY ); BOOL const isPostBicarbConductivityOutOfRange = ( postBicarbonateConductivity <= CONCENTRATE_POST_BICARB_MIN_CONDUCTIVITY ) || ( postBicarbonateConductivity >= CONCENTRATE_POST_BICARB_MAX_CONDUCTIVITY ); - checkPersistentAlarm( PERSISTENT_ALARM_POST_ACID_CONDUCTIVITY_OUT_OF_RANGE, isPostAcidConductivityOutOfRange, postAcidConductivity ); - checkPersistentAlarm( PERSISTENT_ALARM_POST_BICARB_CONDUCTIVITY_OUT_OF_RANGE, isPostBicarbConductivityOutOfRange, postBicarbonateConductivity ); + checkPersistentAlarm( PERSISTENT_ALARM_POST_ACID_CONDUCTIVITY_OUT_OF_RANGE, isPostAcidConductivityOutOfRange, postAcidConductivity, CONCENTRATE_POST_ACID_MIN_CONDUCTIVITY ); + checkPersistentAlarm( PERSISTENT_ALARM_POST_BICARB_CONDUCTIVITY_OUT_OF_RANGE, isPostBicarbConductivityOutOfRange, postBicarbonateConductivity, CONCENTRATE_POST_BICARB_MIN_CONDUCTIVITY ); } /*********************************************************************//** Index: firmware/App/Controllers/Pressures.c =================================================================== diff -u -r28a4756da770f48c81ab421135c2012550705c74 -rc774db57bc06b2dac2bf9aa268b8eab2294046d9 --- firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 28a4756da770f48c81ab421135c2012550705c74) +++ firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision c774db57bc06b2dac2bf9aa268b8eab2294046d9) @@ -247,7 +247,7 @@ F32 const pressure = getMeasuredDGPressure( PRESSURE_SENSOR_RO_PUMP_INLET ); BOOL const isPressureTooLow = ( pressure < MIN_INLET_WATER_PRESSURE ); - checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_LOW_PRESSURE, isPressureTooLow, pressure ); + checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_LOW_PRESSURE, isPressureTooLow, pressure, MIN_INLET_WATER_PRESSURE ); } /*********************************************************************//** @@ -263,7 +263,7 @@ F32 const pressure = getMeasuredDGPressure( PRESSURE_SENSOR_RO_PUMP_INLET ); BOOL const isPressureTooLow = ( pressure < MIN_INLET_WATER_PRESSURE ); - checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_PRESSURE_FAULT, isPressureTooLow, pressure ); + checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_PRESSURE_FAULT, isPressureTooLow, pressure, MIN_INLET_WATER_PRESSURE ); } /*********************************************************************//** Index: firmware/App/Controllers/TemperatureSensors.c =================================================================== diff -u -r41c7186ac17200977b632102c9c6e3a07b3eb211 -rc774db57bc06b2dac2bf9aa268b8eab2294046d9 --- firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 41c7186ac17200977b632102c9c6e3a07b3eb211) +++ firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision c774db57bc06b2dac2bf9aa268b8eab2294046d9) @@ -320,8 +320,8 @@ BOOL const isWaterTempTooHigh = temperature > MAX_WATER_INPUT_TEMPERATURE; BOOL const isWaterTempTooLow = temperature < MIN_WATER_INPUT_TEMPERATURE; - checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_HIGH_TEMPERATURE, isWaterTempTooHigh, temperature ); - checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_LOW_TEMPERATURE, isWaterTempTooLow, temperature ); + checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_HIGH_TEMPERATURE, isWaterTempTooHigh, temperature, MAX_WATER_INPUT_TEMPERATURE ); + checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_LOW_TEMPERATURE, isWaterTempTooLow, temperature, MIN_WATER_INPUT_TEMPERATURE ); } /*********************************************************************//** Index: firmware/App/DGCommon.h =================================================================== diff -u -r2059f906368ba0bf0ac280b80fecee61aba1846b -rc774db57bc06b2dac2bf9aa268b8eab2294046d9 --- firmware/App/DGCommon.h (.../DGCommon.h) (revision 2059f906368ba0bf0ac280b80fecee61aba1846b) +++ firmware/App/DGCommon.h (.../DGCommon.h) (revision c774db57bc06b2dac2bf9aa268b8eab2294046d9) @@ -43,7 +43,7 @@ #define ALARMS_DEBUG 1 // #define HEATERS_DEBUG 1 // #define PRESSURES_DEBUG 1 -// #define DISABLE_DIALYSATE_CHECK 1 + #define DISABLE_DIALYSATE_CHECK 1 #include #include #endif Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -r3461c140ba07e74863dee1d4c51d0119076fecf8 -rc774db57bc06b2dac2bf9aa268b8eab2294046d9 --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 3461c140ba07e74863dee1d4c51d0119076fecf8) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision c774db57bc06b2dac2bf9aa268b8eab2294046d9) @@ -268,7 +268,7 @@ setConcentratePumpTargetSpeed( CONCENTRATEPUMPS_CP2, bicarbCP2PumpFlowRate ); BOOL const isROPumpFlowRateOutOfRange = ( measuredROFlowRate <= FILL_MIN_RO_FLOW_RATE ) || ( measuredROFlowRate >= FILL_MAX_RO_FLOW_RATE ); - checkPersistentAlarm( PERSISTENT_ALARM_RO_PUMP_FLOW_RATE_OUT_OF_RANGE, isROPumpFlowRateOutOfRange, measuredROFlowRate ); + checkPersistentAlarm( PERSISTENT_ALARM_RO_PUMP_FLOW_RATE_OUT_OF_RANGE, isROPumpFlowRateOutOfRange, measuredROFlowRate, FILL_MIN_RO_FLOW_RATE ); } /**@}*/ Index: firmware/App/Modes/ModeFill.h =================================================================== diff -u -r80028d3b1eef322950c1a5b74c282df2ba989ff5 -rc774db57bc06b2dac2bf9aa268b8eab2294046d9 --- firmware/App/Modes/ModeFill.h (.../ModeFill.h) (revision 80028d3b1eef322950c1a5b74c282df2ba989ff5) +++ firmware/App/Modes/ModeFill.h (.../ModeFill.h) (revision c774db57bc06b2dac2bf9aa268b8eab2294046d9) @@ -35,7 +35,6 @@ void initFillMode( void ); // initialize this module void transitionToFillMode( void ); // prepares for transition to fill mode -void exitFillMode( void ); // prepares to exit fill mode U32 execFillMode( void ); // execute the fill mode state machine (call from OperationModes) /**@}*/ Index: firmware/App/Services/MessagePayloads.h =================================================================== diff -u -r7cc6fbb41e6b460fedff71581f6205ef36d5deb6 -rc774db57bc06b2dac2bf9aa268b8eab2294046d9 --- firmware/App/Services/MessagePayloads.h (.../MessagePayloads.h) (revision 7cc6fbb41e6b460fedff71581f6205ef36d5deb6) +++ firmware/App/Services/MessagePayloads.h (.../MessagePayloads.h) (revision c774db57bc06b2dac2bf9aa268b8eab2294046d9) @@ -114,14 +114,6 @@ U32 trimmerHeaterDC; ///< Trimmer heater DC } HEATERS_DATA_T; -/// Accelerometer calibration data struct. -typedef struct -{ - F32 xOffset; ///< Accelerometer calibration x-offset - F32 yOffset; ///< Accelerometer calibration y-offset - F32 zOffset; ///< Accelerometer calibration z-offset -} ACCEL_CAL_PAYLOAD_T; - #pragma pack(pop) /**@}*/ Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r498aa2804b2babde370f74f0cf9a333655fc0410 -rc774db57bc06b2dac2bf9aa268b8eab2294046d9 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 498aa2804b2babde370f74f0cf9a333655fc0410) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision c774db57bc06b2dac2bf9aa268b8eab2294046d9) @@ -996,6 +996,10 @@ { case MSG_ID_POWER_OFF_WARNING: handlePowerOffWarning( message ); + break; + + case MSG_ID_ALARM_CLEARED: + handleAlarmClear( message ); break; case MSG_ID_SET_DG_DIALYSATE_TEMP_TARGETS: @@ -1076,10 +1080,6 @@ handleTestPressureDataBroadcastIntervalOverrideRequest( message ); break; - case MSG_ID_RO_PUMP_SET_PT_OVERRIDE: - handleTestROPumpSetPointOverrideRequest( message ); - break; - case MSG_ID_RO_MEASURED_FLOW_OVERRIDE: handleTestROMeasuredFlowOverrideRequest( message ); break; Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -ra6bf8a0785fba2986292aeff04e1aa944ff07195 -rc774db57bc06b2dac2bf9aa268b8eab2294046d9 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision a6bf8a0785fba2986292aeff04e1aa944ff07195) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision c774db57bc06b2dac2bf9aa268b8eab2294046d9) @@ -721,6 +721,25 @@ { signalPowerOffWarning(); } +} + +/*********************************************************************//** + * @brief + * The handleAlarmClear function handles a clear alarm message from the HD. + * @details Inputs: none + * @details Outputs: message handled + * @param message a pointer to the message to handle + * @return none + *************************************************************************/ +void handleAlarmClear( MESSAGE_T *message ) +{ + if ( message->hdr.payloadLen == sizeof( U32 ) ) + { + U32 alarmId; + + memcpy(&alarmId, message->payload, sizeof( U32 ) ); + clearAlarm( (ALARM_ID_T)alarmId ); + } } /*********************************************************************//** Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r498aa2804b2babde370f74f0cf9a333655fc0410 -rc774db57bc06b2dac2bf9aa268b8eab2294046d9 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 498aa2804b2babde370f74f0cf9a333655fc0410) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision c774db57bc06b2dac2bf9aa268b8eab2294046d9) @@ -82,7 +82,10 @@ BOOL broadcastConductivityData( void * conductivityDataPtr ); // MSG_ID_POWER_OFF_WARNING -void handlePowerOffWarning( MESSAGE_T *message ); +void handlePowerOffWarning( MESSAGE_T *message ); + +// MSG_ID_ALARM_CLEARED +void handleAlarmClear( MESSAGE_T *message ); // MSG_ID_SET_DG_DIALYSATE_TEMP_TARGETS void handleSetDialysateTemperatureCmd( MESSAGE_T *message );