Index: firmware/App/Controllers/DryBiCart.h =================================================================== diff -u -rd210786d6c7d75bb0b4d9e18efc40a01d85123fe -rb26c5dd805f0c95856456fd16c8fc9c56659f76e --- firmware/App/Controllers/DryBiCart.h (.../DryBiCart.h) (revision d210786d6c7d75bb0b4d9e18efc40a01d85123fe) +++ firmware/App/Controllers/DryBiCart.h (.../DryBiCart.h) (revision b26c5dd805f0c95856456fd16c8fc9c56659f76e) @@ -18,6 +18,7 @@ #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