Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -rb0274b90a67182102131303e33ca333fd9c92ad9 -ra03a5119712cea509ec345bd4f650ffcdb9a9438 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision b0274b90a67182102131303e33ca333fd9c92ad9) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision a03a5119712cea509ec345bd4f650ffcdb9a9438) @@ -112,7 +112,7 @@ #define D5_HEAT_OUT_LOWQD_TX_P_COEFFICIENT 0.5F ///< P Term for AC primary heater outer loop - low Qd(<200) control during treatment mode. #define D5_HEAT_OUT_LOWQD_TX_I_COEFFICIENT 0.25F ///< I Term for AC primary heater outer loop - low Qd(<200) control during treatment mode. #define D5_HEAT_HIGH_DIAL_FLOW_RATE 200.0F ///< Decide Primary heater outer loop - PI control based on the dialysate flow rate -#define D5_HEAT_TARGET_ESTIMATE_MAX 48.0F ///< Heat loss estimation maximum target temperature for D5 control +#define D5_HEAT_TARGET_ESTIMATE_MAX 46.0F ///< Heat loss estimation maximum target temperature for D5 control #define D5_HEAT_OUT_MIN_DELTA_TEMP 0.0F ///< Minimum Delta temperature that can be adjusted for D5 control #define D5_HEAT_OUT_MAX_DELTA_TEMP 50.0 ///< Maximum Delta temperature that can be adjusted for D5 control @@ -1496,25 +1496,11 @@ data.d5_HeaterDC = getHeaterControl( D5_HEAT ) * HEATERS_DUTY_CYCLE_CONVERSION_FACTOR; data.d45_HeaterDC = getHeaterControl( D45_HEAT ) * HEATERS_DUTY_CYCLE_CONVERSION_FACTOR; data.d5_HeaterTargetTemp = getHeaterTargetTemperature( D5_HEAT ); -#if 1 - //TODO : remove this code, for debug only - data.d45_HeaterTargetTemp = prevDialyzerTemperature; -#else data.d45_HeaterTargetTemp = getHeaterTargetTemperature( D45_HEAT ); -#endif data.d5_HeaterState = heatersStatus[ D5_HEAT ].state; -#if 1 - //TODO : remove this code, for debug only - data.d45_HeaterState = (U32)isTempRiseDeteced; -#else data.d45_HeaterState = heatersStatus[ D45_HEAT ].state; -#endif data.d5_feedforward = d5FeedForward * HEATERS_DUTY_CYCLE_CONVERSION_FACTOR; -#if 1 - data.d5_PWMPeriod = (F32)isOffsetRemovedForLowQds; -#else data.d5_PWMPeriod = getHeaterPWMPeriod( D5_HEAT ); -#endif data.d5_adjsutedTargetTemp = adjustedPrimaryTargetTemp; data.d5_targetTempFromTD = getTDTargetDialysateTemperature(); #ifdef __HEATERS_DEBUG__ Index: firmware/App/Monitors/Conductivity.c =================================================================== diff -u -rc90f3d61bde2a2b47d1048635be4dadf282e2195 -ra03a5119712cea509ec345bd4f650ffcdb9a9438 --- firmware/App/Monitors/Conductivity.c (.../Conductivity.c) (revision c90f3d61bde2a2b47d1048635be4dadf282e2195) +++ firmware/App/Monitors/Conductivity.c (.../Conductivity.c) (revision a03a5119712cea509ec345bd4f650ffcdb9a9438) @@ -283,6 +283,7 @@ // Apply sample to filter if we know it's fresh, v2/v3 only. V1's will always update filter regardless of freshness. if ( TRUE == freshData ) { + freshData = FALSE; // TODO - calibrate if ( filteredConductivityReadings[ sensor ].conductivityReadingsCount >= SIZE_OF_COND_ROLLING_AVG ) { @@ -293,7 +294,6 @@ filteredConductivityReadings[ sensor ].conductivityReadingsIdx = INC_WRAP( filteredConductivityReadings[ sensor ].conductivityReadingsIdx, 0, SIZE_OF_COND_ROLLING_AVG - 1 ); filteredConductivityReadings[ sensor ].conductivityReadingsCount = INC_CAP( filteredConductivityReadings[ sensor ].conductivityReadingsCount, SIZE_OF_COND_ROLLING_AVG ); filteredcurrentConductivityReadings[ sensor ].data = filteredConductivityReadings[ sensor ].conductivityReadingsTotal / (F32)filteredConductivityReadings[ sensor ].conductivityReadingsCount; - freshData = FALSE; } } } @@ -371,6 +371,7 @@ // Apply sample to filter if we know it's fresh, v2/v3 only. V1's will always update filter regardless of freshness. if ( TRUE == freshData ) { + freshData = FALSE; // TODO - calibrate if ( filteredConductivityTemperatureReadings[sensor].conductivityTempReadingsCount >= SIZE_OF_COND_TEMP_ROLLING_AVG ) { @@ -381,7 +382,6 @@ filteredConductivityTemperatureReadings[sensor].conductivityTempReadingsIdx = INC_WRAP( filteredConductivityTemperatureReadings[sensor].conductivityTempReadingsIdx, 0, SIZE_OF_COND_TEMP_ROLLING_AVG - 1 ); filteredConductivityTemperatureReadings[sensor].conductivityTempReadingsCount = INC_CAP( filteredConductivityTemperatureReadings[sensor].conductivityTempReadingsCount, SIZE_OF_COND_TEMP_ROLLING_AVG ); filteredcurrentTemperatureReadings[sensor].data = filteredConductivityTemperatureReadings[sensor].conductivityTempReadingsTotal / (F32)filteredConductivityTemperatureReadings[sensor].conductivityTempReadingsCount; - freshData = FALSE; } } } Index: firmware/App/Monitors/Temperature.c =================================================================== diff -u -r5c1ef41e65eebd8d740f71394cdbcc7e0f79a499 -ra03a5119712cea509ec345bd4f650ffcdb9a9438 --- firmware/App/Monitors/Temperature.c (.../Temperature.c) (revision 5c1ef41e65eebd8d740f71394cdbcc7e0f79a499) +++ firmware/App/Monitors/Temperature.c (.../Temperature.c) (revision a03a5119712cea509ec345bd4f650ffcdb9a9438) @@ -514,13 +514,9 @@ data.d30AvgTemp = dialTempMovingAvgData[ DIAL_TEMP_D30 ].dialTempAvgC; data.d78AvgTemp = getFilteredTemperatureValue( D78_TEMP ); + data.d1AvgTemp = getFilteredTemperatureValue( D1_TEMP ); -#ifdef __USE_D1_TEMP_ - data.d9PresTemp = getFilteredTemperatureValue( D1_TEMP ); -#else data.d9PresTemp = getFilteredPressureSensorTemperature( D9_PRES ); -#endif - data.d66PresTemp = getFilteredPressureSensorTemperature( D66_PRES ); data.d51PresTemp = getFilteredPressureSensorTemperature( D51_PRES ); data.d18PresTemp = getFilteredPressureSensorTemperature( D18_PRES ); Index: firmware/App/Monitors/Temperature.h =================================================================== diff -u -r94789b2f2324d5901685b6ff7b6224d4af3a0276 -ra03a5119712cea509ec345bd4f650ffcdb9a9438 --- firmware/App/Monitors/Temperature.h (.../Temperature.h) (revision 94789b2f2324d5901685b6ff7b6224d4af3a0276) +++ firmware/App/Monitors/Temperature.h (.../Temperature.h) (revision a03a5119712cea509ec345bd4f650ffcdb9a9438) @@ -51,6 +51,7 @@ F32 d28AvgTemp; ///< D28 moving average temperature value F32 d30AvgTemp; ///< D30 moving average temperature value F32 d78AvgTemp; ///< D78 moving average temperature value + F32 d1AvgTemp; ///< D1 moving average temperature value F32 d9PresTemp; ///< Hydraulics outlet pressure temperature F32 d66PresTemp; ///< Bicarb bag temperature F32 d51PresTemp; ///< Spent Dialysate temperature