Index: firmware/App/Controllers/DGInterface.c =================================================================== diff -u -r19f13e67288117e7f81c1245a75cc6b5f8aaf899 -r8036381b5c41ab87146c929eeeb9ba073efd4541 --- firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 19f13e67288117e7f81c1245a75cc6b5f8aaf899) +++ firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 8036381b5c41ab87146c929eeeb9ba073efd4541) @@ -50,7 +50,9 @@ #define DIALYSATE_TEMP_LOW_SAFETY_LIMIT_C 42.0F ///< Dialysate low safety temperature limit in C. #define DIALYSATE_TEMP_LOW_SAFETY_TIMEOUT_MS ( 10 * MS_PER_SECOND ) ///< Dialysate temperature low safety timeout in milliseconds. #define DG_DATA_FRESHNESS_TIMEOUT_MS ( 3 * MS_PER_SECOND ) ///< DG data freshness timeout (in ms). +#define DG_TRIMMER_HTR_CHECK_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL + 2 ) ///< DG trimmer heater check interval in general task execution time counts. + // ********** private data ********** // DG status @@ -66,6 +68,8 @@ static F32 dgHeatDisinfectTemp; ///< Heat disinfect temperature reported by the DG. static F32 dgTrimmerTempSet; ///< Trimmer heater target temperature commanded. +static U32 dgTrimmerTempCheckTimerCtr; ///< Trimmer heater temp check interval timer counter. + /// Measured weight from load cells. static OVERRIDE_F32_T loadCellWeightInGrams[ NUM_OF_LOAD_CELLS ]; @@ -124,7 +128,8 @@ dgStarted = FALSE; dgTrimmerHeaterOn = FALSE; - dgTrimmerTempSet = 0.0F; + dgTrimmerTempSet = 0.0F; + dgTrimmerTempCheckTimerCtr = 0; dgActiveReservoirSet = DG_RESERVOIR_2; dgActiveReservoir = DG_RESERVOIR_2; dgReservoirFillVolumeTargetSet = 0; @@ -244,7 +249,11 @@ checkDGRestart(); // Check the status of the trimmer heater - checkDGTrimmerHeaterStatus(); + if ( ++dgTrimmerTempCheckTimerCtr >= DG_TRIMMER_HTR_CHECK_INTERVAL ) + { + dgTrimmerTempCheckTimerCtr = 0; + checkDGTrimmerHeaterStatus(); + } } } @@ -474,6 +483,19 @@ /*********************************************************************//** * @brief + * The getTrimmerHeaterCommandedOn function gets the latest on/off commanded + * status of the trimmer heater. + * @details Inputs: dgTrimmerHeaterOn + * @details Outputs: none + * @return dgTrimmerHeaterOn + *************************************************************************/ +BOOL getTrimmerHeaterCommandedOn( void ) +{ + return dgTrimmerHeaterOn; +} + +/*********************************************************************//** + * @brief * The getDGDisinfectsStates function returns the DG disinfects readings. * @details Inputs: none * @details Outputs: none