Index: firmware/App/Modes/ModeDrain.c =================================================================== diff -u -rb8f298547eb578000b3ff3cf55732fda7a689ce0 -r67ec490d97e3c26cd2f8d8ec9a8547f0f176864e --- firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision b8f298547eb578000b3ff3cf55732fda7a689ce0) +++ firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision 67ec490d97e3c26cd2f8d8ec9a8547f0f176864e) @@ -55,6 +55,21 @@ #define RINSE_CONCENTRATE_LINES_WAIT ( 25 * MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Time period to wait for concentrate lines to rinse. #define RINSE_SPEED ( ( CONCENTRATE_PUMP_MAX_SPEED - 3.0F ) * -1.0F ) ///< Reserver the concentrate speed to rinse out concentrate lines. + +#define CONCENTRATE_BOTTLE_PRIMING_VOL_ML 73.0F ///< Concentrate bottle priming volume in mL. +#define CONCENTRATE_BOTTLE_RESERVOIOR_VOL_ML 1500.0F ///< Concentrate bottle reservoir volume in mL +#define CONCENTRATE_BOTTLE_RESERVOIOR_FILLS 3 ///< Concentrate bottle reservoir vlls. +#define BICARB_PERCENT_FILL 0.03514F ///< Bicarb volume percentage of reservoir volume. +#define ACID_PERCENT_FILL 0.2222F ///< Acid volume percentage of reservoir volume. + +///< Concentrate bottle acid low volume in mL. +static const F32 CONCENTRATE_BOTTLE_ACID_LOW_VOLUME_ML = ( CONCENTRATE_BOTTLE_PRIMING_VOL_ML + + ( CONCENTRATE_BOTTLE_RESERVOIOR_VOL_ML * CONCENTRATE_BOTTLE_RESERVOIOR_FILLS * ACID_PERCENT_FILL) ); + +///< Concentrate bottle bicarb low volume in mL. +static const F32 CONCENTRATE_BOTTLE_BICARB_LOW_VOLUME_ML = ( CONCENTRATE_BOTTLE_PRIMING_VOL_ML + + ( CONCENTRATE_BOTTLE_RESERVOIOR_VOL_ML * CONCENTRATE_BOTTLE_RESERVOIOR_FILLS * BICARB_PERCENT_FILL) ); + #define CONCENTRATION_BOTTLE_LOW_VOLUME_ML 100.0F ///< Concentration bottle low volume in mL. // ********** private data ********** @@ -261,14 +276,14 @@ #endif { // Detect empty bottles using integrated volumes - if ( ( acidBottleVolML - getChemicalUsedVolumeML( ACID ) ) <= CONCENTRATION_BOTTLE_LOW_VOLUME_ML ) // || // SRSDG 437 + if ( ( acidBottleVolML - getChemicalUsedVolumeML( ACID ) ) <= CONCENTRATE_BOTTLE_ACID_LOW_VOLUME_ML ) // SRSDG 836 { resetChemicalUsedVolumeML( ACID ); setThisFisrtFillFlag( TRUE ); // indicates bottles need prime activateAlarmNoData( ALARM_ID_DG_ACID_BOTTLE_LOW_VOLUME ); } - if ( ( bicarbBottleVolML - getChemicalUsedVolumeML( BICARB ) ) <= CONCENTRATION_BOTTLE_LOW_VOLUME_ML ) // || // SRSDG 438 + if ( ( bicarbBottleVolML - getChemicalUsedVolumeML( BICARB ) ) <= CONCENTRATE_BOTTLE_BICARB_LOW_VOLUME_ML ) // SRSDG 837 { resetChemicalUsedVolumeML( BICARB ); setThisFisrtFillFlag( TRUE );