Index: firmware/App/Controllers/BalancingChamber.c =================================================================== diff -u -rf8a9855f80d7f8f10a4e2468d18ee825ef8a5e72 -re6de057461dd170e037e94f55d8e4b1c5a4b6db5 --- firmware/App/Controllers/BalancingChamber.c (.../BalancingChamber.c) (revision f8a9855f80d7f8f10a4e2468d18ee825ef8a5e72) +++ firmware/App/Controllers/BalancingChamber.c (.../BalancingChamber.c) (revision e6de057461dd170e037e94f55d8e4b1c5a4b6db5) @@ -59,7 +59,7 @@ #define SPENT_DIFF_COUNT_ZERO 0 ///< Zero count difference for spent side fill comparing target count #define D48_SPEED_ADJUST_FACTOR 0.5F ///< D48 speed adjustment factor ( 50% of speed adjustment = 0.5) #define D48_SPEED_RANGE_LIMIT 0.25F ///< D48 speed adjustment range check limit ( D48 speed can vary +/-25% of initial calculated speed) -#define BICARB_CHAMBER_PERIODIC_FILL_TIME ( 2 * SEC_PER_MIN * ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ) ///< Periodic bicarb chamber fill request 60 sec x 20 = 1200 +#define BICARB_CHAMBER_PERIODIC_FILL_TIME ( 1 * SEC_PER_MIN * ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ) ///< Periodic bicarb chamber fill request 60 sec x 20 = 1200 #define BAL_CHAMBER_FILL_TIMEOUT_FACTOR 1.5 ///< Balancing Chamber fill timeout factor (150% of observed fill count) /// Payload record structure for balancing chamber switch only request Index: firmware/App/Controllers/DryBiCart.c =================================================================== diff -u -rf8a9855f80d7f8f10a4e2468d18ee825ef8a5e72 -re6de057461dd170e037e94f55d8e4b1c5a4b6db5 --- firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision f8a9855f80d7f8f10a4e2468d18ee825ef8a5e72) +++ firmware/App/Controllers/DryBiCart.c (.../DryBiCart.c) (revision e6de057461dd170e037e94f55d8e4b1c5a4b6db5) @@ -86,10 +86,10 @@ #define MIN_BICARB_VOLUME_MLPM 0.868686869 ///< Minimum target bicarb in mL/min. #define MAX_BICARB_VOLUME_MLPM 1.8 ///< Maximum target bicarb volume in mL/min. -#define ACID_VOL_CONTROL_P_COEFFICIENT 0.00000997 ///< Propotional gain (kp) -#define ACID_VOL_CONTROL_I_COEFFICIENT 0.00003988 ///< Integral gain. (ki) -#define MIN_ACID_VOLUME_MLPM 0.653333333 ///< Minimum target acid volume in mL/min. -#define MAX_ACID_VOLUME_MLPM 0.70 ///< Maximum target acid volume in mL/min. +#define ACID_VOL_CONTROL_P_COEFFICIENT (0.00000997/2) ///< Propotional gain (kp) +#define ACID_VOL_CONTROL_I_COEFFICIENT (0.00003988/2) ///< Integral gain. (ki) +#define MIN_ACID_VOLUME_MLPM 0.3 ///< Minimum target acid volume in mL/min. +#define MAX_ACID_VOLUME_MLPM 1.0 ///< Maximum target acid volume in mL/min. #define STD_BICARB_DOSING 1.146666667F ///< Standard bicarb dosing volume @@ -1009,10 +1009,11 @@ *************************************************************************/ static DIALYSATE_MIXING_STATE_T handleDialysateOpenLoopState( DIALYSATE_MIXING_ID_T mixId ) { - DIALYSATE_MIXING_STATE_T result = DIALYSATE_MIXING_OPEN_LOOP_STATE; + DIALYSATE_MIXING_STATE_T result; if ( BICARB_MIX_ID == mixId ) { + result = DIALYSATE_MIXING_OPEN_LOOP_STATE; #ifdef __TEENSY_CONDUCTIVITY_DRIVER__ F32 measuredBicarbConductivity = getFilteredConductivity( D17_COND ); #else @@ -1026,6 +1027,7 @@ } else if ( ACID_MIX_ID == mixId ) { + result = DIALYSATE_MIXING_OPEN_LOOP_STATE; #ifdef __TEENSY_CONDUCTIVITY_DRIVER__ F32 measuredAcidBicarbMixConductivity = getFilteredConductivity( D27_COND ); #else Index: firmware/App/Monitors/Conductivity.c =================================================================== diff -u -rf8a9855f80d7f8f10a4e2468d18ee825ef8a5e72 -re6de057461dd170e037e94f55d8e4b1c5a4b6db5 --- firmware/App/Monitors/Conductivity.c (.../Conductivity.c) (revision f8a9855f80d7f8f10a4e2468d18ee825ef8a5e72) +++ firmware/App/Monitors/Conductivity.c (.../Conductivity.c) (revision e6de057461dd170e037e94f55d8e4b1c5a4b6db5) @@ -36,7 +36,7 @@ #define COND_SENSOR_UPDATE_INTERVAL ( 700 / TASK_PRIORITY_INTERVAL ) ///< Time in task intervals for new sensor data #define DATA_PUBLISH_COUNTER_START_COUNT 40 ///< Data publish counter start count. #define CONDUCTIVITY_SAMPLE_FILTER_MS ( 30 ) ///< Filter conductivity data for given time -#define CONDUCTIVITY_TEMP_SAMPLE_FILTER_MS ( 30 ) ///< Filter conductivity temperature data for given time +#define CONDUCTIVITY_TEMP_SAMPLE_FILTER_MS ( 30 ) ///< Filter conductivity temperature data for given time #define SIZE_OF_COND_ROLLING_AVG ( CONDUCTIVITY_SAMPLE_FILTER_MS / TASK_PRIORITY_INTERVAL ) ///< Filtered conductivity moving average sample count. #define SIZE_OF_COND_TEMP_ROLLING_AVG ( CONDUCTIVITY_TEMP_SAMPLE_FILTER_MS / TASK_PRIORITY_INTERVAL ) ///< Filtered conductivity temprature moving average sample count. #define RO_RR_MOVING_AVG_NUM_OF_SAMPLES 30 ///< RO rejection ratio moving average number of samples. @@ -125,8 +125,9 @@ roRRAvg.override = OVERRIDE_RESET; roRRSampleIntervalCounter = 0; condtempDataCollectionTimeInterval= COND_SENSOR_UPDATE_INTERVAL; - //condDataCollectionTimeInterval = COND_SENSOR_UPDATE_INTERVAL; condtempSampleIntervalCounter = 0; + condDataCollectionTimeInterval = COND_SENSOR_UPDATE_INTERVAL; + condSampleIntervalCounter = 0; memset( &roRRSamples, 0, sizeof( roRRSamples ) ); @@ -488,10 +489,8 @@ data.d17Cond = getFilteredConductivity( D17_COND ); data.d27Cond = getFilteredConductivity( D27_COND ); data.d29Cond = getConductivity( D17_COND ); - data.d43Cond = getConductivity( D27_COND ); - // data.d29Cond = getFilteredConductivity( D29_COND ); - // data.d43Cond = getFilteredConductivity( D43_COND ); - data.d74Cond = getFilteredConductivity( D74_COND ); + data.d43Cond = getFilteredConductivity( D43_COND ); + data.d74Cond = getConductivity( D27_COND ); ddConductivityPublishTimerCounter = 0; broadcastData( MSG_ID_DD_CONDUCTIVITY_DATA, COMM_BUFFER_OUT_CAN_DD_BROADCAST, (U08*)&data, sizeof( DD_CONDUCTIVITY_DATA_T ) ); @@ -502,7 +501,7 @@ { FP_CONDUCTIVITY_DATA_T data; - data.p9Conductivity = getFilteredConductivity( P9_COND ); + data.p9Conductivity = getConductivity( D43_COND ); data.p18Conductivity = getFilteredConductivity( P18_COND ); fpConductivityPublishTimerCounter = 0;