Index: firmware/App/Controllers/DGInterface.c =================================================================== diff -u -r8ed262e62891c1b84d14e42f13befe826ff65670 -r78e44d106a46d3ba649f5b71ad89a8cdaf557d52 --- firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 8ed262e62891c1b84d14e42f13befe826ff65670) +++ firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 78e44d106a46d3ba649f5b71ad89a8cdaf557d52) @@ -7,8 +7,8 @@ * * @file DGInterface.c * -* @author (last) Dara Navaei -* @date (last) 16-Mar-2023 +* @author (last) Sean Nash +* @date (last) 28-Mar-2023 * * @author (original) Sean * @date (original) 08-Apr-2020 @@ -55,6 +55,7 @@ #define DIALYSATE_TEMP_CLEAR_TIMEOUT_MS ( 30 * MS_PER_SECOND ) ///< Dialysate temperature clear persistence timeout. #define DG_DATA_FRESHNESS_TIMEOUT_MS ( 3 * MS_PER_SECOND ) ///< DG data freshness timeout (in ms). + // ********** private data ********** // DG status @@ -70,6 +71,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 ]; @@ -128,7 +131,8 @@ dgStarted = FALSE; dgTrimmerHeaterOn = FALSE; - dgTrimmerTempSet = 0.0F; + dgTrimmerTempSet = 0.0F; + dgTrimmerTempCheckTimerCtr = 0; dgActiveReservoirSet = DG_RESERVOIR_2; dgActiveReservoir = DG_RESERVOIR_2; dgReservoirFillVolumeTargetSet = 0; @@ -249,7 +253,11 @@ checkDGRestart(); // Check the status of the trimmer heater - checkDGTrimmerHeaterStatus(); + if ( ++dgTrimmerTempCheckTimerCtr >= DG_TRIMMER_HTR_CHECK_INTERVAL ) + { + dgTrimmerTempCheckTimerCtr = 0; + checkDGTrimmerHeaterStatus(); + } } } @@ -479,6 +487,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 @@ -1112,7 +1133,7 @@ switch ( dgCmdRespPtr->rejectCode ) { case DG_CMD_REQUEST_REJECT_REASON_INVALID_PARAMETER: - activateAlarmNoData( ALARM_ID_DG_COMMAND_INVALID_PARAMETER_FAULT ); + SET_ALARM_WITH_1_U32_DATA( ALARM_ID_DG_COMMAND_INVALID_PARAMETER_FAULT, dgCmdRespPtr->commandID ); break; case DG_CMD_REQUEST_REJECT_REASON_NONE: