Index: firmware/App/Controllers/DGInterface.c =================================================================== diff -u -r8a0735916a4006faaf0651d685131916517c4f33 -r5af49574b5f8e99aa9ea451033213dcd765ea837 --- firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 8a0735916a4006faaf0651d685131916517c4f33) +++ firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 5af49574b5f8e99aa9ea451033213dcd765ea837) @@ -91,6 +91,7 @@ // DG Dialysate flow rate static F32 dgDialysateFlowRateMlMin = 0.0; ///< Latest dialysate flow rate reported by the DG. +static BOOL dgDialysateFlowDataFreshFlag = FALSE; ///< Flag to signal the execDialInFlowMonitor() to process fresh flow rate data // Reservoir data static DG_RESERVOIR_ID_T dgActiveReservoir = DG_RESERVOIR_2; ///< Latest active reservoir reported by the DG. @@ -127,7 +128,7 @@ dgTrimmerTempSet = 0.0; dgActiveReservoirSet = DG_RESERVOIR_2; dgReservoirFillVolumeTargetSet = 0; - dgReservoirDrainVolumeTargetSet = 0; + dgReservoirDrainVolumeTargetSet = 0; // initialize load cell weights for ( i = 0; i < NUM_OF_LOAD_CELLS; i++ ) @@ -430,6 +431,19 @@ return result; } + +/*********************************************************************//** + * @brief + * The getDialysateFlowDataFreshFlag function returns a flag to indicate + * if the dialysate flow rate data reported by the DG is fresh or stale data. + * @details Inputs: dgDialysateFlowDataFreshFlag + * @details Outputs: none + * @return T/F flag to indicate fresh/stale status of dialysate flow data. + *************************************************************************/ +BOOL getDialysateFlowDataFreshFlag( void ) +{ + return dgDialysateFlowDataFreshFlag; +} /*********************************************************************//** * @brief @@ -605,18 +619,32 @@ /*********************************************************************//** * @brief - * The setDialysateFlowData function sets the latest dialysate flow data - * reported by the DG. + * The setDialysateFlowData function sets the latest dialysate flow rate + * and its freshness status. The dialysate flow data is reported by the DG. * @details Inputs: none * @details Outputs: dgDialysateFlowRateMlMin - * @param flowRate latest dialysate flow rate (LPM) reported by DG + * @param flowRate latest dialysate flow rate (mL/min) reported by DG * @return none *************************************************************************/ void setDialysateFlowData( F32 flowRate ) { dgDialysateFlowRateMlMin = flowRate; - filterDialInFlowReadings( flowRate * (F32)ML_PER_LITER ); + setDialysateFlowDataFreshFlag( TRUE ); // sets freshness status } + +/*********************************************************************//** + * @brief + * The setDialysateFlowDataFreshFlag function sets the dialysate flow + * data freshness flag. + * @details Inputs: none + * @details Outputs: dgDialysateFlowDataFreshFlag + * @param flowRateFreshFlag to set + * @return none + *************************************************************************/ +void setDialysateFlowDataFreshFlag( BOOL flowRateFreshFlag ) +{ + dgDialysateFlowDataFreshFlag = flowRateFreshFlag; +} /*********************************************************************//** * @brief