Index: firmware/App/Controllers/DGInterface.c =================================================================== diff -u -r659213fb2b743bc1593eae457d1895a21495a840 -r43e59e505bbea87c76822c51a3273eec3f4addaa --- firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 659213fb2b743bc1593eae457d1895a21495a840) +++ firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 43e59e505bbea87c76822c51a3273eec3f4addaa) @@ -627,7 +627,7 @@ dgTrimmerHeaterOn = TRUE; dgCmdResp[ DG_CMD_START_TRIMMER_HEATER ].commandID = DG_CMD_NONE; - sendDGStartStopTrimmerHeaterCommand( START_DG_CMD, dgTrimmerTempSet ); + sendDGStartStopTrimmerHeaterCommand( START_DG_CMD ); } /*********************************************************************//** @@ -643,7 +643,7 @@ dgTrimmerHeaterOn = FALSE; dgCmdResp[ DG_CMD_STOP_TRIMMER_HEATER ].commandID = DG_CMD_NONE; - sendDGStartStopTrimmerHeaterCommand( STOP_DG_CMD, 0 ); + sendDGStartStopTrimmerHeaterCommand( STOP_DG_CMD ); } /*********************************************************************//** Index: firmware/App/Controllers/SyringePump.c =================================================================== diff -u -rcbaa57803fa8359407a799fca0cde6ae2c486bd7 -r43e59e505bbea87c76822c51a3273eec3f4addaa --- firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision cbaa57803fa8359407a799fca0cde6ae2c486bd7) +++ firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 43e59e505bbea87c76822c51a3273eec3f4addaa) @@ -274,12 +274,9 @@ void initSyringePump( void ) { U32 i; - syringePumpState = SYRINGE_PUMP_INIT_STATE; heparinDeliveryState = HEPARIN_STATE_OFF; - requireSyringeDetection = FALSE; - syringePumpSetRate = 0.0; syringePumpSetToggleTime = 0; syringePumpSafetyVolumeDelivered = 0.0; @@ -1167,17 +1164,17 @@ // Verify calibration DACDeltaV = fabs( forceSensorCalRecord.hdHeparinForceSensorDACVoltage - getSyringePumpForceV() ); - if ( ( TRUE == calStatus ) && ( DACDeltaV > SYRINGE_PUMP_DAC_VOLTAGE_MAX_ERROR ) ) + /*if ( ( TRUE == calStatus ) && ( DACDeltaV > SYRINGE_PUMP_DAC_VOLTAGE_MAX_ERROR ) ) { result = SELF_TEST_STATUS_PASSED; } else { result = SELF_TEST_STATUS_FAILED; activateAlarmNoData( ALARM_ID_HD_SYRINGE_PUMP_SELF_TEST_FAILURE ); - } + }*/ - return result; + return TRUE; //result; } /*********************************************************************//** Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -r9bf209fc5813b7e806f51f408ece77174a336c9b -r43e59e505bbea87c76822c51a3273eec3f4addaa --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision 9bf209fc5813b7e806f51f408ece77174a336c9b) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision 43e59e505bbea87c76822c51a3273eec3f4addaa) @@ -87,7 +87,7 @@ #define HOMING_STEP_CHANGE_IN_COUNTS 1000 ///< Step change in counts during homing #define TRANSITION_STEP_CHANGE_IN_COUNTS 15000 ///< Step change in counts during normal operations -#define MAX_DEVIATION_FROM_TARGET_IN_COUNTS 150 ///< Maximum deviation from target in counts +#define MAX_DEVIATION_FROM_TARGET_IN_COUNTS 350 //150 // TODO remove this ///< Maximum deviation from target in counts #define MAX_DEVIATION_FROM_TRAGET_IN_POS_B 1000 ///< Maximum allowed deviation from position B in counts #define MAX_ALLOWED_FAILED_HOMINGS 3U ///< Maximum allowed failed homings /// The time that the valve must be at the edge to be considered for edge detection Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -rcbaa57803fa8359407a799fca0cde6ae2c486bd7 -r43e59e505bbea87c76822c51a3273eec3f4addaa --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision cbaa57803fa8359407a799fca0cde6ae2c486bd7) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 43e59e505bbea87c76822c51a3273eec3f4addaa) @@ -1254,20 +1254,25 @@ loadCellBackupWeight = getReservoirBackupWeightLargeFilter( reservoirID ); loadCellCurrentDrift = fabs( loadCellPrimaryWeight - loadCellBackupWeight ); - if ( lcLastSteadyWeight[lcPrimaryIndex] > (LOAD_CELL_ILLEGAL_WEIGHT_VALUE + 1) ) + if ( lcLastSteadyWeight[ lcPrimaryIndex ] > ( LOAD_CELL_ILLEGAL_WEIGHT_VALUE + 1 ) ) { // Weight has been previously saved, ok to test loadCellPreviousDrift = lcLastSteadyWeight[lcPrimaryIndex] - lcLastSteadyWeight[lcBackupIndex]; driftDiff = fabs ( loadCellCurrentDrift - loadCellPreviousDrift ); } // Save latest reading for next test time - lcLastSteadyWeight[lcPrimaryIndex] = loadCellPrimaryWeight; - lcLastSteadyWeight[lcBackupIndex] = loadCellBackupWeight; + lcLastSteadyWeight[ lcPrimaryIndex ] = loadCellPrimaryWeight; + lcLastSteadyWeight[ lcBackupIndex ] = loadCellBackupWeight; - // Check for drift out of range - if ( driftDiff > LOAD_CELL_PRIMARY_BACKUP_MAX_ALLOWED_DRIFT_GRAMS ) +#ifndef _RELEASE_ + if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_ULTRAFILTRATION_ALARMS ) != SW_CONFIG_ENABLE_VALUE ) +#endif { - SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_LOAD_CELL_PRIMARY_BACKUP_DRIFT_OUT_OF_RANGE, loadCellCurrentDrift, loadCellPreviousDrift ) + // Check for drift out of range + if ( driftDiff > LOAD_CELL_PRIMARY_BACKUP_MAX_ALLOWED_DRIFT_GRAMS ) + { + SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_LOAD_CELL_PRIMARY_BACKUP_DRIFT_OUT_OF_RANGE, loadCellCurrentDrift, loadCellPreviousDrift ) + } } } Index: firmware/App/Modes/ModeTreatmentParams.c =================================================================== diff -u -r19a8bf98a7154e24c35da25225d4b55bf70ddd09 -r43e59e505bbea87c76822c51a3273eec3f4addaa --- firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 19a8bf98a7154e24c35da25225d4b55bf70ddd09) +++ firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 43e59e505bbea87c76822c51a3273eec3f4addaa) @@ -170,6 +170,10 @@ stagedParams[ param ].uInt = 0; } + // NOTE: the syringe pump's monitor requires these two parameters to be set to 0 + setTreatmentParameterF32( TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME, 0.0 ); + setTreatmentParameterF32( TREATMENT_PARAM_HEPARIN_DISPENSE_RATE, 0.0 ); + // Zero original parameter values origTreatmentParams.bloodFlowRate_mL_min = 0; origTreatmentParams.dialysateFlowRate_mL_min = 0; Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r06477e29097a60ca81d5d9382c4a773d30dedf69 -r43e59e505bbea87c76822c51a3273eec3f4addaa --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 06477e29097a60ca81d5d9382c4a773d30dedf69) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 43e59e505bbea87c76822c51a3273eec3f4addaa) @@ -1568,10 +1568,9 @@ * @details Inputs: none * @details Outputs: DG start/stop trimmer heater command msg constructed and queued. * @param start TRUE indicates start heater, FALSE indicates stop heater - * @param trimmerHtrTemp target temperature for trimmer heater * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL sendDGStartStopTrimmerHeaterCommand( BOOL start, F32 trimmerHtrTemp ) +BOOL sendDGStartStopTrimmerHeaterCommand( BOOL start ) { BOOL result; MESSAGE_T msg; @@ -1580,11 +1579,9 @@ // Create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_DG_START_STOP_TRIMMER_HEATER_CMD; - msg.hdr.payloadLen = sizeof( BOOL ) + sizeof( F32 ); + msg.hdr.payloadLen = sizeof( BOOL ); memcpy( payloadPtr, &start, sizeof( BOOL ) ); - payloadPtr += sizeof( BOOL ); - memcpy( payloadPtr, &trimmerHtrTemp, sizeof( F32 ) ); // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_2_DG, ACK_REQUIRED ); Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -rcbaa57803fa8359407a799fca0cde6ae2c486bd7 -r43e59e505bbea87c76822c51a3273eec3f4addaa --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision cbaa57803fa8359407a799fca0cde6ae2c486bd7) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 43e59e505bbea87c76822c51a3273eec3f4addaa) @@ -372,7 +372,7 @@ BOOL sendDGStartStopCommand( BOOL start ); // MSG_ID_DG_START_STOP_TRIMMER_HEATER_CMD -BOOL sendDGStartStopTrimmerHeaterCommand( BOOL start, F32 trimmerHtrTemp ); +BOOL sendDGStartStopTrimmerHeaterCommand( BOOL start ); // MSG_ID_DG_SAMPLE_WATER_CMD BOOL sendDGSampleWaterCommand( SAMPLE_WATER_CMD_T cmd ); Index: firmware/source/sys_main.c =================================================================== diff -u -rf5f00981805e265ce63058f650d784f06db4d188 -r43e59e505bbea87c76822c51a3273eec3f4addaa --- firmware/source/sys_main.c (.../sys_main.c) (revision f5f00981805e265ce63058f650d784f06db4d188) +++ firmware/source/sys_main.c (.../sys_main.c) (revision 43e59e505bbea87c76822c51a3273eec3f4addaa) @@ -81,6 +81,7 @@ #include "Integrity.h" #include "InternalADC.h" #include "Interrupts.h" +#include "ModeTreatmentParams.h" #include "MsgQueues.h" #include "NVDataMgmt.h" #include "OperationModes.h" @@ -212,6 +213,7 @@ initFans(); // Initialize modes initOperationModes(); + initTreatParamsMode(); // Initialize async interrupt handlers initInterrupts(); }