Index: firmware/App/Controllers/DryBiCart.h =================================================================== diff -u -rd210786d6c7d75bb0b4d9e18efc40a01d85123fe -rd0a2037b16f76e661dc02296e039f099ce5d9ea8 --- firmware/App/Controllers/DryBiCart.h (.../DryBiCart.h) (revision d210786d6c7d75bb0b4d9e18efc40a01d85123fe) +++ firmware/App/Controllers/DryBiCart.h (.../DryBiCart.h) (revision d0a2037b16f76e661dc02296e039f099ce5d9ea8) @@ -20,6 +20,7 @@ #include "DDCommon.h" #include "DDDefs.h" +#include "PIControllers.h" /** * @defgroup DryBiCart DryBiCart @@ -32,6 +33,7 @@ // ********** public definitions ********** +#pragma pack(push, 1) /// dry bicart data structure typedef struct { @@ -47,7 +49,17 @@ 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 dryBiCartAcidDoseVolume; ///< Dry bicart acid dose volume + F32 dryBiCartBicarbDoseVolume; ///< 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 ********** @@ -61,6 +73,25 @@ BOOL setBicartFillRequested( void ); BOOL setBicartDrainRequested( void ); +F32 getAcidBicarbTargetConductivity( void ); +F32 getAcidBicarbDeltaConductivity( void ); + +F32 getBicarbTargetConductivity( void ); +F32 getBicarbDeltaConductivity( void ); + +//void setBicarb( F32 targetValue ); +//F32 getBicarb( void ); +void setBicarbDoseVol( F32 targetValue ); +F32 getBicarbDoseVol( void ); +F32 getAcidDoseVol( void ); +void setAcidDoseVol( F32 targetValue ); + +F32 getBicarbKpGainCoefficient( void ); +F32 getBicarbKiGainCoefficient( void ); + +F32 getAcidKpGainCoefficient( void ); +F32 getAcidKiGainCoefficient( void ); + DRY_BICART_FILL_EXEC_STATE_T getCurrentDryBiCartFillExecState( void ); BOOL testDryBiCartDataPublishIntervalOverride( MESSAGE_T *message ); @@ -70,6 +101,21 @@ BOOL testDryBiCartDrainRequestOverride( MESSAGE_T *message ); BOOL testDryBiCartTypeOverride( MESSAGE_T *message ); +BOOL testDryBiCartAcidDoseVolumeOverride( MESSAGE_T *message ); +BOOL testDryBiCartBicarbDoseVolumeOverride( MESSAGE_T *message ); + +BOOL testDryBiCartBicarbDoseVolControlKpGainOverride( MESSAGE_T *message ); +BOOL testDryBiCartBicarbDoseVolControlKiGainOverride( MESSAGE_T *message ); + +BOOL testDryBiCartAcidDoseVolControlKpGainOverride( MESSAGE_T *message ); +BOOL testDryBiCartAcidDoseVolControlKiGainOverride( MESSAGE_T *message ); + +BOOL testDryBiCartTargetConductivityOverride( MESSAGE_T *message ); +BOOL testDryBiCartDeltaConductivityOverride( MESSAGE_T *message ); + +BOOL testDryBiCartAcidBicarbDeltaConductivityOverride( MESSAGE_T *message ); +BOOL testDryBiCartAcidBicarbTargetConductivityOverride( MESSAGE_T *message ); + /**@}*/ #endif