Index: firmware/App/Controllers/DrainPump.c =================================================================== diff -u -r6bb7cd715299d16c131ab074fac0e62d8022f235 -r3b5080777e3dac1b5802ee18227f66a0b49deefa --- firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision 6bb7cd715299d16c131ab074fac0e62d8022f235) +++ firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision 3b5080777e3dac1b5802ee18227f66a0b49deefa) @@ -67,7 +67,7 @@ #define MAX_ALLOWED_TARGET_OUTLET_PRESSURE 15.0 ///< Maximum allowed outlet pressure for closed loop control. #define MAX_ALLOWED_OPEN_LOOP_RPM_OUT_OF_RANGE 100 ///< Maximum allowed RPM out of range from target RPM in open loop. -#define OPEN_LOOP_RPM_OUT_OF_RANGE_TIME_OUT ( 5 * MS_PER_SECOND ) ///< Open loop RPM out of range time out in ms. +#define OPEN_LOOP_RPM_OUT_OF_RANGE_TIME_OUT ( 10 * MS_PER_SECOND ) ///< Open loop RPM out of range time out in ms. #define DRAIN_PUMP_ENABLE_SPI3_PORT_MASK 0x00000020 ///< CS5 - Out put GPIO for pump enable. #define SET_DRAIN_PUMP_ENABLE() {mibspiREG3->PC3 |= DRAIN_PUMP_ENABLE_SPI3_PORT_MASK;} ///< Drain pump enable set macro. Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -r1aeab08c1baf6445514b81fe51fc60a3e536e782 -r3b5080777e3dac1b5802ee18227f66a0b49deefa --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 1aeab08c1baf6445514b81fe51fc60a3e536e782) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 3b5080777e3dac1b5802ee18227f66a0b49deefa) @@ -68,6 +68,8 @@ #define DELTA_TEMPERATURE_TIME_COSNTANT_C 8.6 ///< Delta temperature calculated from time constant. #define MAXIMUM_ALLOWED_TARGET_TEMPERATURE_DEVIATION_C 0.25 ///< Maximum allowed temperature deviation from target temperature in C. #define PRIMARY_HEATER_DUTY_CYCLE_PER_TEMPERATURE_C 0.03 ///< Primary heaters duty cycle per temperature in C. +#define RESERVOIR_TEMPERATURE_TIME_CONSTANT_C_PER_MIN 0.512 ///< Reservoir temperature time constant C/min. +#define ULTRAFILTER_TEMPERATURE_TIME_CONSTANT_C_PER_MIN 0.345 ///< Ultrafilter temperature time constant C/min. static const F32 WATER_SPECIFIC_HEAT_DIVIDED_BY_MINUTES = 4184 / SEC_PER_MIN; ///< Water specific heat in J/KgC / 60. static const F32 PRIMARY_HEATERS_MAXIMUM_POWER_WATTS = 475 + 237.5; ///< Primary heaters maximum power (main primary = 475W and small primary = 237.5W). Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -r1aeab08c1baf6445514b81fe51fc60a3e536e782 -r3b5080777e3dac1b5802ee18227f66a0b49deefa --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 1aeab08c1baf6445514b81fe51fc60a3e536e782) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 3b5080777e3dac1b5802ee18227f66a0b49deefa) @@ -323,8 +323,8 @@ { DG_FILL_MODE_STATE_T result = DG_FILL_MODE_STATE_BICARB_PUMP_CHECK; DG_BICARB_CONCENTRATES_RECORD_T bicarb = getBicarbConcentrateCalRecord(); - F32 const measuredROFlowRate_mL_min = getMeasuredROFlowRate() * ML_PER_LITER; - F32 bicarbPumpFlowRate_mL_min = measuredROFlowRate_mL_min * bicarb.bicarbConcentrate[ CAL_DATA_BICARB_CONCENTRATE_1 ].bicarbConcMixRatio + + F32 measuredROFlowRate_mL_min = getMeasuredROFlowRate() * ML_PER_LITER; + F32 bicarbPumpFlowRate_mL_min = measuredROFlowRate_mL_min * bicarb.bicarbConcentrate[ CAL_DATA_BICARB_CONCENTRATE_1 ].bicarbConcMixRatio + CONCENTRATE_PUMP_PRIME_EXTRA_SPEED_ML_MIN; #ifndef DISABLE_DIALYSATE_CHECK F32 const bicarbConductivity = getConductivityValue( CONDUCTIVITYSENSORS_CD2_SENSOR ); @@ -471,11 +471,11 @@ *************************************************************************/ static DG_FILL_MODE_STATE_T handleDeliverDialysateState( void ) { - F32 const measuredROFlowRate_mL_min = getMeasuredROFlowRate() * ML_PER_LITER; - F32 const acidConductivity = getConductivityValue( CONDUCTIVITYSENSORS_CD1_SENSOR ); - F32 const dialysateConductivity = getConductivityValue( CONDUCTIVITYSENSORS_CD2_SENSOR ); - BOOL const isAcidConductivityOutOfRange = ( acidConductivity <= MIN_ACID_CONCENTRATE_CONDUCTIVITY ) || ( acidConductivity >= MAX_ACID_CONCENTRATE_CONDUCTIVITY ); - BOOL const isDialysateConductivityOutOfRange = ( dialysateConductivity <= MIN_DIALYSATE_CONDUCTIVITY ) || ( dialysateConductivity >= MAX_DIALYSATE_CONDUCTIVITY ); + F32 measuredROFlowRate_mL_min = getMeasuredROFlowRate() * ML_PER_LITER; + F32 acidConductivity = getConductivityValue( CONDUCTIVITYSENSORS_CD1_SENSOR ); + F32 dialysateConductivity = getConductivityValue( CONDUCTIVITYSENSORS_CD2_SENSOR ); + BOOL isAcidConductivityOutOfRange = ( acidConductivity <= MIN_ACID_CONCENTRATE_CONDUCTIVITY ) || ( acidConductivity >= MAX_ACID_CONCENTRATE_CONDUCTIVITY ); + BOOL isDialysateConductivityOutOfRange = ( dialysateConductivity <= MIN_DIALYSATE_CONDUCTIVITY ) || ( dialysateConductivity >= MAX_DIALYSATE_CONDUCTIVITY ); DG_FILL_MODE_STATE_T result = DG_FILL_MODE_STATE_DELIVER_DIALYSATE; DG_RESERVOIR_ID_T inactiveReservoir = getInactiveReservoir(); Index: firmware/App/Modes/ModeFill.h =================================================================== diff -u -r94a190522ce398399c7b93c59f788d7666ec0060 -r3b5080777e3dac1b5802ee18227f66a0b49deefa --- firmware/App/Modes/ModeFill.h (.../ModeFill.h) (revision 94a190522ce398399c7b93c59f788d7666ec0060) +++ firmware/App/Modes/ModeFill.h (.../ModeFill.h) (revision 3b5080777e3dac1b5802ee18227f66a0b49deefa) @@ -34,7 +34,7 @@ // ********** public function prototypes ********** void initFillMode( void ); // initialize this module -U32 transitionToFillMode( void ); // prepares for transition to fill mode +U32 transitionToFillMode( void ); // prepares for transition to fill mode U32 execFillMode( void ); // execute the fill mode state machine (call from OperationModes) F32 getAvgFillFlowRate( void );