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();