Index: firmware/App/Controllers/DryBiCart.c =================================================================== diff -u -r581f75133863205963703e6e6970ac66ee5228c1 -ree311636fcfb7db1913edef2d9fea22153465a87 --- firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision 581f75133863205963703e6e6970ac66ee5228c1) +++ firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision ee311636fcfb7db1913edef2d9fea22153465a87) @@ -24,6 +24,7 @@ #include "DryBiCart.h" #include "Level.h" #include "Messaging.h" +#include "MessageSupport.h" #include "ModeGenDialysate.h" #include "OperationModes.h" #include "PIControllers.h" @@ -219,6 +220,8 @@ static PI_CONTROLLER_SIGNALS_DATA bicarbControlSignals; ///< Bicarb closed loop control signal data static PI_CONTROLLER_SIGNALS_DATA acidControlSignals; ///< Acid closed loop control signal data +static DRY_BICART_OPERATION_T prevState; ///< Last dry bicart operation prior to current state. + // ********** private function prototypes ********** static void updateDrybicartOperation(void); @@ -399,6 +402,7 @@ dryBiCartDrainCondStableCount = 0; dryBiCartDrainTimePeriod = 0; dryBiCartPersistanceStartTime = 0; + prevState = DRY_BICART_IDLE; initializePIController( PI_CONTROLLER_ID_BICARB_VOL, 0.0F,\ getBicarbKpGainCoefficient(), getBicarbKiGainCoefficient(),\ @@ -515,6 +519,12 @@ break; } + if ( prevState != dryBicartStartRequest ) + { + SEND_EVENT_WITH_2_U32_DATA( DD_EVENT_DRY_BICART_STATE_CHANGE, prevState, dryBicartStartRequest ); + prevState = dryBicartStartRequest; + } + // Publish dry bicart data publishDryBicartData(); }