Index: firmware/App/Modes/ModeGenDialysate.c =================================================================== diff -u -r3b6bf2cb6d15da8cb273cff109d2c4b1ee99d546 -r57dd20557f066bf5d790ce25dd11c97bb93e3cde --- firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision 3b6bf2cb6d15da8cb273cff109d2c4b1ee99d546) +++ firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision 57dd20557f066bf5d790ce25dd11c97bb93e3cde) @@ -62,6 +62,7 @@ static U32 genDialysateDataPublicationTimerCounter; ///< Used to schedule generate dialysate data publication to CAN bus. static OVERRIDE_U32_T genDialysateDataPublishInterval; ///< Generate dialysate mode data publish interval. static F32 lastDialTargetTemperatureSet; ///< last dialysate target temperature set for heater control +static BOOL isTreatementParamUpdated; ///< To indicate change in treatment parameters // ********** private function prototypes ********** @@ -107,6 +108,7 @@ genDialysateDataPublishInterval.override = OVERRIDE_RESET; genDialysateDataPublicationTimerCounter = 0; lastDialTargetTemperatureSet = 0.0F; + isTreatementParamUpdated = FALSE; //Initialize balancing chamber module initBalanceChamber(); @@ -287,11 +289,20 @@ } } + // Manage water inlet temperature if ( genDialysateState > DD_GEND_HYD_CHAMBER_WATER_INLET_CHECK_STATE ) { hydChamberWaterInletControl(); } + // Update any dynamic treatment parameter changes + if ( TRUE == isTreatementParamUpdated ) + { + updateTreatementSettings(); + //reset the flag + isTreatementParamUpdated = FALSE; + } + // execute current gen dialysate state switch ( genDialysateState ) { @@ -588,6 +599,37 @@ /*********************************************************************//** * @brief + * The setTreatementParamUpdate function sets the flag to indicate one or more + * treatement parameters updated. + * gen dialysate mode. + * @details \b Inputs: none + * @details \b Outputs: isTreatementParamUpdated + * @return none + *************************************************************************/ +void setTreatementParamUpdate( void ) +{ + isTreatementParamUpdated = TRUE; +} + +/*********************************************************************//** + * @brief + * The updateTreatementSettings function updates the switching rate post the + * treatement parameters updated during treatement. + * @details \b Inputs: none + * @details \b Outputs: balChamberSwitchingPeriod. + * @return none + *************************************************************************/ +void updateTreatementSettings( void ) +{ + // Update the Balancing chamber switching rate based on dialysis rate + updateBalChamberSwitchingPeriod(); + + //TODO: update others parameters setting as needed. +} + + +/*********************************************************************//** + * @brief * The getDialGoodToDeliverStatus function gets the dialysate good to deliver * status. * @details \b Inputs: isDialysateGoodtoDeliver