Index: firmware/App/Controllers/DryBiCart.c =================================================================== diff -u -r1a908fe3e365f90a61713566d0ab2ed94d31525d -r4c91b459486b4150d09b2f1a13b763ef3d430b2f --- firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision 1a908fe3e365f90a61713566d0ab2ed94d31525d) +++ firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision 4c91b459486b4150d09b2f1a13b763ef3d430b2f) @@ -118,6 +118,10 @@ #define BICARB_DEADBAND_CONTROL 50.0F ///< Dry Bicarb dead band control #define ACID_DEADBAND_CONTROL 100.0F ///< Acid dead band control +#define STD_MIX_BC_VOLUME 30.0F ///< Standard balancing chamber volume +#define TARGET_ADJ_BICARB_SETTING 137.0F ///< User defined Bicarb setting +#define TARGET_ADJ_NA_SETTINGS 32.0F ///< User defined Na setting + /// Payload record structure for dry bicart fill request typedef struct { @@ -214,8 +218,13 @@ static OVERRIDE_F32_T dryBiCartDialysateTargetConductivity; ///< Acid bicarb mix conductivity static OVERRIDE_F32_T dryBiCartDialysateDeltaConductivity; ///< Acid bicarb delta conductivity -static OVERRIDE_U32_T dryBiCartMixControlInterval; ///< Mix control interval +static OVERRIDE_F32_T dryBiCartStdMixingBCVolume; ///< Acid bicarb mix conductivity +static OVERRIDE_F32_T dryBiCartTargetAdjNaSettings; ///< Acid bicarb delta conductivity +static OVERRIDE_F32_T dryBiCartTargetAdjBicarbSettings; ///< Acid bicarb delta conductivity +static OVERRIDE_U32_T dryBiCartBicarbMixControlInterval; ///< Mix control interval +static OVERRIDE_U32_T dryBiCartAcidMixControlInterval; ///< Mix control interval + static PI_CONTROLLER_SIGNALS_DATA bicarbControlSignals; ///< Bicarb closed loop control signal data static PI_CONTROLLER_SIGNALS_DATA acidControlSignals; ///< Acid closed loop control signal data @@ -381,11 +390,31 @@ dryBiCartLowerCartPressure.ovInitData = 0.0F; dryBiCartLowerCartPressure.override = OVERRIDE_RESET; - dryBiCartMixControlInterval.data = BICARB_MIX_CONTROL_INTERVAL; - dryBiCartMixControlInterval.ovData = BICARB_MIX_CONTROL_INTERVAL; - dryBiCartMixControlInterval.ovInitData = 0; - dryBiCartMixControlInterval.override = OVERRIDE_RESET; + dryBiCartStdMixingBCVolume.data = STD_MIX_BC_VOLUME; + dryBiCartStdMixingBCVolume.ovData = STD_MIX_BC_VOLUME; + dryBiCartStdMixingBCVolume.ovInitData = 0.0F; + dryBiCartStdMixingBCVolume.override = OVERRIDE_RESET; + dryBiCartTargetAdjNaSettings.data = TARGET_ADJ_NA_SETTINGS; + dryBiCartTargetAdjNaSettings.ovData = TARGET_ADJ_NA_SETTINGS; + dryBiCartTargetAdjNaSettings.ovInitData = 0.0F; + dryBiCartTargetAdjNaSettings.override = OVERRIDE_RESET; + + dryBiCartTargetAdjBicarbSettings.data = TARGET_ADJ_BICARB_SETTING; + dryBiCartTargetAdjBicarbSettings.ovData = TARGET_ADJ_BICARB_SETTING; + dryBiCartTargetAdjBicarbSettings.ovInitData = 0.0F; + dryBiCartTargetAdjBicarbSettings.override = OVERRIDE_RESET; + + dryBiCartBicarbMixControlInterval.data = BICARB_MIX_CONTROL_INTERVAL; + dryBiCartBicarbMixControlInterval.ovData = BICARB_MIX_CONTROL_INTERVAL; + dryBiCartBicarbMixControlInterval.ovInitData = 0; + dryBiCartBicarbMixControlInterval.override = OVERRIDE_RESET; + + dryBiCartAcidMixControlInterval.data = ACID_MIX_CONTROL_INTERVAL; + dryBiCartAcidMixControlInterval.ovData = ACID_MIX_CONTROL_INTERVAL; + dryBiCartAcidMixControlInterval.ovInitData = 0; + dryBiCartAcidMixControlInterval.override = OVERRIDE_RESET; + dryBiCartPressureDecayStartTimeFlag = FALSE; dryBiCartFillStartTime = 0; lastFillDurationInMS = 0; @@ -2292,19 +2321,86 @@ /*********************************************************************//** * @brief - * The testDryBiCartMixControlIntervalOverride function sets the override value - * of mix control interval - * @details Inputs: dryBiCartMixControlInterval - * @details Outputs: dryBiCartMixControlInterval + * The testDryBiCartBicarbMixControlIntervalOverride function sets the override value + * of bicarb mix control interval + * @details Inputs: dryBiCartBicarbMixControlInterval + * @details Outputs: dryBiCartBicarbMixControlInterval * @param message Override message from Dialin which includes the override * value to override the bicart lower pressure. * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testDryBiCartMixControlIntervalOverride( MESSAGE_T *message ) +BOOL testDryBiCartBicarbMixControlIntervalOverride( MESSAGE_T *message ) { - BOOL result = u32Override( message, &dryBiCartMixControlInterval, 0, BICARB_MIX_CONTROL_INTERVAL ); + BOOL result = u32Override( message, &dryBiCartBicarbMixControlInterval, 0, BICARB_MIX_CONTROL_INTERVAL ); return result; } +/*********************************************************************//** + * @brief + * The testDryBiCartAcidMixControlIntervalOverride function sets the override value + * of acid mix control interval + * @details Inputs: dryBiCartAcidMixControlInterval + * @details Outputs: dryBiCartAcidMixControlInterval + * @param message Override message from Dialin which includes the override + * value to override the bicart lower pressure. + * @return TRUE if override successful, FALSE if not + *************************************************************************/ +BOOL testDryBiCartAcidMixControlIntervalOverride( MESSAGE_T *message ) +{ + BOOL result = u32Override( message, &dryBiCartAcidMixControlInterval, 0, BICARB_MIX_CONTROL_INTERVAL ); + + return result; +} + +/*********************************************************************//** + * @brief + * The testDryBiCartStdMixingBCVolumeOverride function sets the override value + * of acid mix control interval + * @details Inputs: dryBiCartStdMixingBCVolume + * @details Outputs: dryBiCartStdMixingBCVolume + * @param message Override message from Dialin which includes the override + * value to override the bicart lower pressure. + * @return TRUE if override successful, FALSE if not + *************************************************************************/ +BOOL testDryBiCartStdMixingBCVolumeOverride( MESSAGE_T *message ) +{ + BOOL result = f32Override( message, &dryBiCartStdMixingBCVolume ); + + return result; +} + +/*********************************************************************//** + * @brief + * The testDryBiCartTargetAdjNASettingOverride function sets the override value + * of acid mix control interval + * @details Inputs: dryBiCartTargetAdjNaSettings + * @details Outputs: dryBiCartTargetAdjNaSettings + * @param message Override message from Dialin which includes the override + * value to override the bicart lower pressure. + * @return TRUE if override successful, FALSE if not + *************************************************************************/ +BOOL testDryBiCartTargetAdjNASettingOverride( MESSAGE_T *message ) +{ + BOOL result = f32Override( message, &dryBiCartTargetAdjNaSettings ); + + return result; +} + +/*********************************************************************//** + * @brief + * The testDryBiCartAcidMixControlIntervalOverride function sets the override value + * of acid mix control interval + * @details Inputs: dryBiCartTargetAdjBicarbSettings + * @details Outputs: dryBiCartTargetAdjBicarbSettings + * @param message Override message from Dialin which includes the override + * value to override the bicart lower pressure. + * @return TRUE if override successful, FALSE if not + *************************************************************************/ +BOOL testDryBiCartTargetAdjBicarbSettingOverride( MESSAGE_T *message ) +{ + BOOL result = f32Override( message, &dryBiCartTargetAdjBicarbSettings ); + + return result; +} /**@}*/ Index: firmware/App/Controllers/DryBiCart.h =================================================================== diff -u -r2d295ca85f19e95da42476a57ca6b4496baf980a -r4c91b459486b4150d09b2f1a13b763ef3d430b2f --- firmware/App/Controllers/DryBiCart.h (.../DryBiCart.h) (revision 2d295ca85f19e95da42476a57ca6b4496baf980a) +++ firmware/App/Controllers/DryBiCart.h (.../DryBiCart.h) (revision 4c91b459486b4150d09b2f1a13b763ef3d430b2f) @@ -112,7 +112,13 @@ BOOL testDryBiCartUpperCartPressureOverride( MESSAGE_T *message ); BOOL testDryBiCartLowerCartPressureOverride( MESSAGE_T *message ); -BOOL testDryBiCartMixControlIntervalOverride( MESSAGE_T *message ); +BOOL testDryBiCartBicarbMixControlIntervalOverride( MESSAGE_T *message ); +BOOL testDryBiCartAcidMixControlIntervalOverride( MESSAGE_T *message ); + +BOOL testDryBiCartStdMixingBCVolumeOverride( MESSAGE_T *message ); +BOOL testDryBiCartTargetAdjNASettingOverride( MESSAGE_T *message ); +BOOL testDryBiCartTargetAdjBicarbSettingOverride( MESSAGE_T *message ); + /**@}*/ #endif