Index: firmware/App/Controllers/DryBiCart.h =================================================================== diff -u -rbdee7caad13de484d50de4089497725c44a43c74 -rfd897db8177752330ad08d877e0a13620513dbdc --- firmware/App/Controllers/DryBiCart.h (.../DryBiCart.h) (revision bdee7caad13de484d50de4089497725c44a43c74) +++ firmware/App/Controllers/DryBiCart.h (.../DryBiCart.h) (revision fd897db8177752330ad08d877e0a13620513dbdc) @@ -7,17 +7,18 @@ * * @file DryBiCart.h * -* @author (original) Sameer poyil -* @date (original) 10-Nov-2025 +* @author (last) Sameer Kalliadan Poyil +* @date (last) 14-Apr-2026 * -* @author (original) Sameer poyil -* @date (original) 10-Nov-2025 +* @author (original) Vinayakam Mani +* @date (original) 19-Nov-2025 * ***************************************************************************/ #ifndef __DRY_BICART_H__ #define __DRY_BICART_H__ +#include "PIControllers.h" #include "DDCommon.h" #include "DDDefs.h" @@ -32,6 +33,7 @@ // ********** public definitions ********** +#pragma pack(push, 1) /// dry bicart data structure typedef struct { @@ -47,8 +49,24 @@ U32 dryBiCartCurrentFillTime; ///< Dry bicart current fill duration in milli second U32 dryBiCartType; ///< Dry bicart type (small-0/large-1) U32 dryBiCartDrainTimePeriod; ///< Dry bicart drain time based on catridge type (small/large) + + // TODO: remove after closed loops stabilized + PI_CONTROLLER_SIGNALS_DATA dryBiCartBicarbDosingControl; ///< Dry bicart bicarb dosing closed loop control signals data + PI_CONTROLLER_SIGNALS_DATA dryBiCartAcidDosingControl; ///< Dry bicart acid dosing closed loop control signals data + + F32 dryBiCartAcidMixVolume; ///< Dry bicart acid dose volume + F32 dryBiCartBicarbMixVolume; ///< Dry bicart bicarb dose volume + + F32 dryBiCartBicarbDosingKPgain; ///< Dry bicart bicarb dosing control kp gain + F32 dryBiCartBicarbDosingKIgain; ///< Dry bicart bicarb dosing control ki gain + + F32 dryBiCartAcidDosingKPgain; ///< Dry bicart acid dosing control kp gain + F32 dryBiCartAcidDosingKIgain; ///< Dry bicart acid dosing control ki gain + } DRY_BICART_DATA_T; +#pragma pack(pop) + // ********** public function prototypes ********** void initDryBiCart( void ); @@ -61,6 +79,15 @@ BOOL setBicartFillRequested( void ); BOOL setBicartDrainRequested( void ); +F32 getDialysateTargetConductivity( void ); +F32 getDialysateDeltaConductivity( void ); + +F32 getBicarbTargetConductivity( void ); +F32 getBicarbDeltaConductivity( void ); + +F32 getBicarbMixVol( void ); +F32 getAcidMixVol( void ); + DRY_BICART_FILL_EXEC_STATE_T getCurrentDryBiCartFillExecState( void ); BOOL testDryBiCartDataPublishIntervalOverride( MESSAGE_T *message ); @@ -70,6 +97,24 @@ BOOL testDryBiCartDrainRequestOverride( MESSAGE_T *message ); BOOL testDryBiCartTypeOverride( MESSAGE_T *message ); +BOOL testDryBiCartAcidDoseVolumeOverride( MESSAGE_T *message ); +BOOL testDryBiCartBicarbDoseVolumeOverride( MESSAGE_T *message ); + +BOOL testDryBiCartBicarbMixVolControlKpGainOverride( MESSAGE_T *message ); +BOOL testDryBiCartBicarbMixVolControlKiGainOverride( MESSAGE_T *message ); + +BOOL testDryBiCartAcidMixVolControlKpGainOverride( MESSAGE_T *message ); +BOOL testDryBiCartAcidMixVolControlKiGainOverride( MESSAGE_T *message ); + +BOOL testDryBiCartTargetConductivityOverride( MESSAGE_T *message ); +BOOL testDryBiCartDeltaConductivityOverride( MESSAGE_T *message ); + +BOOL testDryBiCartAcidBicarbDeltaConductivityOverride( MESSAGE_T *message ); +BOOL testDryBiCartAcidBicarbTargetConductivityOverride( MESSAGE_T *message ); + +BOOL testDryBiCartUpperCartPressureOverride( MESSAGE_T *message ); +BOOL testDryBiCartLowerCartPressureOverride( MESSAGE_T *message ); + /**@}*/ #endif