Index: firmware/.launches/HD.launch =================================================================== diff -u -r941afbaab7fc86f40fa49f9d110d481f65b44b68 -r8b3285681e02f365746d148315b32ea603f2d6e0 --- firmware/.launches/HD.launch (.../HD.launch) (revision 941afbaab7fc86f40fa49f9d110d481f65b44b68) +++ firmware/.launches/HD.launch (.../HD.launch) (revision 8b3285681e02f365746d148315b32ea603f2d6e0) @@ -6,6 +6,7 @@ + @@ -24,13 +25,16 @@ + + + Index: firmware/App/Common.h =================================================================== diff -u -rf8395d7271a1fbcb2e577ce48b9327b16d2b97e0 -r8b3285681e02f365746d148315b32ea603f2d6e0 --- firmware/App/Common.h (.../Common.h) (revision f8395d7271a1fbcb2e577ce48b9327b16d2b97e0) +++ firmware/App/Common.h (.../Common.h) (revision 8b3285681e02f365746d148315b32ea603f2d6e0) @@ -22,9 +22,9 @@ // ********** build switches ********** #ifndef _VECTORCAST_ -// #define RM46_EVAL_BOARD_TARGET 1 + #define RM46_EVAL_BOARD_TARGET 1 // #define SIMULATE_UI 1 - #define DEBUG_ENABLED 1 +//leo-cb #define DEBUG_ENABLED 1 #ifdef DEBUG_ENABLED #include Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -r5a8668a1a04cfa46b1a0aeece4f527ebbf26a106 -r8b3285681e02f365746d148315b32ea603f2d6e0 --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 5a8668a1a04cfa46b1a0aeece4f527ebbf26a106) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 8b3285681e02f365746d148315b32ea603f2d6e0) @@ -80,7 +80,7 @@ // ********** private data ********** -static DIALOUT_FLOW_STATE_T dialOutFlowState = DIALOUT_FLOW_STOP_STATE; // current state of dialOut flow state machine +volatile static DIALOUT_FLOW_STATE_T dialOutFlowState = DIALOUT_FLOW_STOP_STATE; // current state of dialOut flow state machine static U32 dialOutFlowDataPublicationTimerCounter = 5; // used to schedule dialIn flow data publication to CAN bus @@ -444,14 +444,15 @@ *************************************************************************/ static void publishDialOutFlowData( void ) { - S16 doFlowState = (S16) FLOAT_TO_INT_WITH_ROUND( dialOutFlowState ); + S16 doFlowState = (S16) dialOutFlowState; S16 doTotalTargetUFVolumeInMl = (S16) FLOAT_TO_INT_WITH_ROUND( totalTargetUFVolumeInMl ); S16 doTotalMeasuredUFVolumeInMl = (S16) FLOAT_TO_INT_WITH_ROUND( totalMeasuredUFVolumeInMl ); S16 doControlSignalPWM = (S16) FLOAT_TO_INT_WITH_ROUND( sentPWM * FRACTION_TO_PERCENT_FACTOR ); // publish dialIn flow data on interval if ( ++dialOutFlowDataPublicationTimerCounter > DIAL_OUT_FLOW_DATA_PUB_INTERVAL ) { + dialOutFlowState = dialOutFlowState == DIALOUT_FLOW_STOP_STATE ? DIALOUT_FLOW_RUN_UF_STATE : DIALOUT_FLOW_STOP_STATE; #ifdef DEBUG_ENABLED // TODO - temporary debug code - remove later char debugFlowStr[ 128 ]; Index: firmware/App/Tasks/TaskGeneral.c =================================================================== diff -u -r0b740ea23455f3122c9b21b2394244fd6488fa0a -r8b3285681e02f365746d148315b32ea603f2d6e0 --- firmware/App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision 0b740ea23455f3122c9b21b2394244fd6488fa0a) +++ firmware/App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision 8b3285681e02f365746d148315b32ea603f2d6e0) @@ -20,6 +20,7 @@ #include "AlarmLamp.h" #include "BloodFlow.h" #include "DialInFlow.h" +#include "DialOutFlow.h" #include "OperationModes.h" #include "SystemComm.h" #include "WatchdogMgmt.h" @@ -66,6 +67,9 @@ // control dialysate inlet pump execDialInFlowController(); + // control dialysate outlet pump + execDialOutFlowController(); + // manage alarm state execAlarmMgmt(); Index: firmware/App/Tasks/TaskPriority.c =================================================================== diff -u -r0b740ea23455f3122c9b21b2394244fd6488fa0a -r8b3285681e02f365746d148315b32ea603f2d6e0 --- firmware/App/Tasks/TaskPriority.c (.../TaskPriority.c) (revision 0b740ea23455f3122c9b21b2394244fd6488fa0a) +++ firmware/App/Tasks/TaskPriority.c (.../TaskPriority.c) (revision 8b3285681e02f365746d148315b32ea603f2d6e0) @@ -55,6 +55,9 @@ // monitor dialysate inlet pump and flow execDialInFlowMonitor(); + // monitor dialysate outlet pump and flow + execDialOutFlowMonitor(); + // 2nd pass for FPGA execFPGAOut(); Index: firmware/source/sys_main.c =================================================================== diff -u -r22f7bcd7e26dc6be337fdb6adbc9281e8f60dbbc -r8b3285681e02f365746d148315b32ea603f2d6e0 --- firmware/source/sys_main.c (.../sys_main.c) (revision 22f7bcd7e26dc6be337fdb6adbc9281e8f60dbbc) +++ firmware/source/sys_main.c (.../sys_main.c) (revision 8b3285681e02f365746d148315b32ea603f2d6e0) @@ -161,6 +161,7 @@ initInternalADC(); initBloodFlow(); initDialInFlow(); + initDialOutFlow(); initAlarmLamp(); initButtons(); initWatchdogMgmt();