Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -rffaaf7d1e1eb5715eac3f7c7b424a4648526344d -r20499caf3661fbc65a170a289b1f46ca7b59c903 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision ffaaf7d1e1eb5715eac3f7c7b424a4648526344d) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 20499caf3661fbc65a170a289b1f46ca7b59c903) @@ -237,7 +237,7 @@ MIN_BLOOD_PUMP_PWM_DUTY_CYCLE, MAX_BLOOD_PUMP_PWM_DUTY_CYCLE ); // Initialize persistent alarm for flow sensor signal strength too low - //initPersistentAlarm( ALARM_ID_BLOOD_FLOW_SIGNAL_STRENGTH_TOO_LOW, FLOW_SIG_STRGTH_ALARM_PERSIST, FLOW_SIG_STRGTH_ALARM_PERSIST ); + initPersistentAlarm( ALARM_ID_BLOOD_FLOW_SIGNAL_STRENGTH_TOO_LOW, FLOW_SIG_STRGTH_ALARM_PERSIST, FLOW_SIG_STRGTH_ALARM_PERSIST ); } /*********************************************************************//** Index: firmware/App/Controllers/DGInterface.h =================================================================== diff -u -ra5d0cc8ffe98ed976cb0822757d06a47db92b744 -r20499caf3661fbc65a170a289b1f46ca7b59c903 --- firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision a5d0cc8ffe98ed976cb0822757d06a47db92b744) +++ firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision 20499caf3661fbc65a170a289b1f46ca7b59c903) @@ -37,15 +37,6 @@ #define FILL_RESERVOIR_TO_VOLUME_ML 1700 ///< Fill reservoir to this volume (in mL) during treatment. #else #define FILL_RESERVOIR_TO_VOLUME_ML 1300 ///< Fill reservoir to this volume (in mL) during treatment. -#endif - -/// Enumeration of DG reservoirs. -/*typedef enum DG_Reservoirs -{ - DG_RESERVOIR_1 = 0, ///< Reservoir #1. - DG_RESERVOIR_2, ///< Reservoir #2. - NUM_OF_DG_RESERVOIRS ///< Number of reservoirs. -} DG_RESERVOIR_ID_T;*/ /// Enumeration of DG pressure sensors. typedef enum DG_PressureSensors Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -rac2c218b9e310a14d2872c9b4c32a6f69615088e -r20499caf3661fbc65a170a289b1f46ca7b59c903 --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision ac2c218b9e310a14d2872c9b4c32a6f69615088e) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 20499caf3661fbc65a170a289b1f46ca7b59c903) @@ -116,10 +116,10 @@ void initPresOccl( void ) { // Initialize persistent pressure alarms - //initPersistentAlarm( ALARM_ID_ARTERIAL_PRESSURE_LOW, PRES_ALARM_PERSISTENCE, PRES_ALARM_PERSISTENCE ); - //initPersistentAlarm( ALARM_ID_ARTERIAL_PRESSURE_HIGH, PRES_ALARM_PERSISTENCE, PRES_ALARM_PERSISTENCE ); - //initPersistentAlarm( ALARM_ID_VENOUS_PRESSURE_LOW, PRES_ALARM_PERSISTENCE, PRES_ALARM_PERSISTENCE ); - //initPersistentAlarm( ALARM_ID_VENOUS_PRESSURE_HIGH, PRES_ALARM_PERSISTENCE, PRES_ALARM_PERSISTENCE ); + initPersistentAlarm( ALARM_ID_ARTERIAL_PRESSURE_LOW, PRES_ALARM_PERSISTENCE, PRES_ALARM_PERSISTENCE ); + initPersistentAlarm( ALARM_ID_ARTERIAL_PRESSURE_HIGH, PRES_ALARM_PERSISTENCE, PRES_ALARM_PERSISTENCE ); + initPersistentAlarm( ALARM_ID_VENOUS_PRESSURE_LOW, PRES_ALARM_PERSISTENCE, PRES_ALARM_PERSISTENCE ); + initPersistentAlarm( ALARM_ID_VENOUS_PRESSURE_HIGH, PRES_ALARM_PERSISTENCE, PRES_ALARM_PERSISTENCE ); } /*********************************************************************//** Index: firmware/App/HDCommon.h =================================================================== diff -u -ra5d0cc8ffe98ed976cb0822757d06a47db92b744 -r20499caf3661fbc65a170a289b1f46ca7b59c903 --- firmware/App/HDCommon.h (.../HDCommon.h) (revision a5d0cc8ffe98ed976cb0822757d06a47db92b744) +++ firmware/App/HDCommon.h (.../HDCommon.h) (revision 20499caf3661fbc65a170a289b1f46ca7b59c903) @@ -32,6 +32,7 @@ // TODO - remove build switches before release #ifndef _RELEASE_ #ifndef _VECTORCAST_ + #define RM46_EVAL_BOARD_TARGET 1 // #define RUN_WITHOUT_DG 1 // Run HD w/o DG // #define SIMULATE_UI 1 // Build w/o requirement that UI be there // #define TASK_TIMING_OUTPUT_ENABLED 1 // Re-purposes alarm lamp pins for task timing @@ -52,7 +53,7 @@ #define DISABLE_PRESSURE_CHECKS 1 // Do not error on HD pressure checks #define DISABLE_UF_ALARMS 1 // Do not error on HD ultrafiltration checks #define DISABLE_VALVE_ALARMS 1 // Do not error on HD valve position - //#define DISABLE_CAL_CHECK 1 +// #define DISABLE_CAL_CHECK 1 // #define RUN_PUMPS_OPEN_LOOP 1 // BP and DPi pumps will be run open loop (no flow sensor feedback) // #define RAW_FLOW_SENSOR_DATA 1 // Test build will not filter flow sensor data // #define READ_FPGA_ASYNC_DATA 1 // Test build reads non-priority register page every other time Index: firmware/App/Modes/ModeInitPOST.c =================================================================== diff -u -ra5d0cc8ffe98ed976cb0822757d06a47db92b744 -r20499caf3661fbc65a170a289b1f46ca7b59c903 --- firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision a5d0cc8ffe98ed976cb0822757d06a47db92b744) +++ firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 20499caf3661fbc65a170a289b1f46ca7b59c903) @@ -97,8 +97,12 @@ case POST_STATE_START: postState = POST_STATE_WATCHDOG; #ifdef SKIP_POST +#ifndef RM46_EVAL_BOARD_TARGET + postState = POST_STATE_COMPLETED; +#else postState = POST_STATE_NVDATAMGMT; #endif +#endif break; case POST_STATE_WATCHDOG: Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -ra5d0cc8ffe98ed976cb0822757d06a47db92b744 -r20499caf3661fbc65a170a289b1f46ca7b59c903 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision a5d0cc8ffe98ed976cb0822757d06a47db92b744) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 20499caf3661fbc65a170a289b1f46ca7b59c903) @@ -127,10 +127,6 @@ currentPreTreatmentState = handlePrimeState(); break; - //case HD_PRE_TREATMENT_RECIRCULATE_START_STATE: - // currentPreTreatmentState = handleRecirculateStartState(); - // break; - case HD_PRE_TREATMENT_RECIRCULATE_STATE: currentPreTreatmentState = handleRecirculateState(); break; @@ -139,10 +135,6 @@ currentPreTreatmentState = handlePatientConnectionState(); break; - //case HD_PRE_TREATMENT_PAUSE_STATE: - // currentPreTreatmentState = handlePretreatmentPauseState(); - // break; - default: currentPreTreatmentState = HD_PRE_TREATMENT_START_STATE; SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_PRE_TREATMENT_INVALID_STATE, (U32)currentPreTreatmentState ); @@ -272,9 +264,9 @@ // do nothing break; - //case HD_PRE_TREATMENT_PAUSE_STATE: - // alarmActionResumeReceived = TRUE; - //break; + case HD_PRE_TREATMENT_PAUSE_STATE: + alarmActionResumeReceived = TRUE; + break; default: SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_PRE_TREATMENT_INVALID_STATE, (U32)currentPreTreatmentState ); Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -rac2c218b9e310a14d2872c9b4c32a6f69615088e -r20499caf3661fbc65a170a289b1f46ca7b59c903 --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision ac2c218b9e310a14d2872c9b4c32a6f69615088e) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 20499caf3661fbc65a170a289b1f46ca7b59c903) @@ -287,7 +287,7 @@ // TODO - implement break; - //case TREATMENT_DIALYSIS_END_STATE: + //case TREATMENT_END_STATE: // TODO - implement //break; @@ -453,9 +453,9 @@ HD_OP_MODE_T currMode = getCurrentOperationMode(); // Check if we are in an appropriate treatment state for settings adjustment - if ( ( MODE_TREA == currMode ) /*&& - ( currentTreatmentState > TREATMENT_START_STATE ) && ( currentTreatmentState < TREATMENT_DIALYSIS_END_STATE ) && - ( CALC_ELAPSED_TREAT_TIME_IN_MIN() < treatmentTime ) && ( treatmentTime >= MIN_TREATMENT_TIME_MINUTES )*/ ) + if ( ( MODE_TREA == currMode ) && + ( currentTreatmentState > TREATMENT_START_STATE ) && ( currentTreatmentState < TREATMENT_END_STATE ) && + ( CALC_ELAPSED_TREAT_TIME_IN_MIN() < treatmentTime ) && ( treatmentTime >= MIN_TREATMENT_TIME_MINUTES ) ) { F32 uFVolume; U32 dialVolume = presDialysateFlowRate * treatmentTime; // In mL @@ -493,8 +493,8 @@ { rejectReason = REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE; } - else if ( ( currentTreatmentState <= TREATMENT_START_STATE ) /*|| - ( currentTreatmentState >= TREATMENT_DIALYSIS_END_STATE )*/ ) + else if ( ( currentTreatmentState <= TREATMENT_START_STATE ) || + ( currentTreatmentState >= TREATMENT_END_STATE ) ) { rejectReason = REQUEST_REJECT_REASON_INVALID_TREATMENT_STATE; } @@ -540,10 +540,10 @@ pendingTreatmentTimeChange = presTreatmentTimeSecs / SEC_PER_MIN; // Check if we are in an appropriate treatment state for settings adjustment - if ( ( MODE_TREA == currMode ) /*&& - ( currentTreatmentState > TREATMENT_START_STATE ) && ( currentTreatmentState < TREATMENT_DIALYSIS_END_STATE ) && + if ( ( MODE_TREA == currMode ) && + ( currentTreatmentState > TREATMENT_START_STATE ) && ( currentTreatmentState < TREATMENT_END_STATE ) && ( uFVolume <= MAX_UF_VOLUME_ML ) && - ( CALC_TREAT_TIME_REMAINING_IN_SECS() >= PREVENT_UF_VOL_CHANGE_IF_NEARLY_DONE_SEC )*/ ) + ( CALC_TREAT_TIME_REMAINING_IN_SECS() >= PREVENT_UF_VOL_CHANGE_IF_NEARLY_DONE_SEC ) ) { DIALYSIS_STATE_T currDialysisState = getDialysisState(); UF_STATE_T currUFState = getUltrafiltrationState(); @@ -599,8 +599,8 @@ { rejectReason = REQUEST_REJECT_REASON_TREATMENT_TIME_OUT_OF_RANGE; } - else if ( TRUE/*( currentTreatmentState <= TREATMENT_START_STATE ) || - ( currentTreatmentState >= TREATMENT_DIALYSIS_END_STATE )*/ ) + else if ( ( currentTreatmentState <= TREATMENT_START_STATE ) || + ( currentTreatmentState >= TREATMENT_END_STATE ) ) { rejectReason = REQUEST_REJECT_REASON_INVALID_TREATMENT_STATE; } @@ -849,7 +849,7 @@ { stopDialysis(); elapsedTreatmentTimeInSecs = presTreatmentTimeSecs; - //currentTreatmentState = TREATMENT_DIALYSIS_END_STATE; + currentTreatmentState = TREATMENT_END_STATE; } // Broadcast treatment time and state data at interval if ( ++treatmentTimeBroadcastTimerCtr >= TREATMENT_TIME_DATA_PUB_INTERVAL ) Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -rffaaf7d1e1eb5715eac3f7c7b424a4648526344d -r20499caf3661fbc65a170a289b1f46ca7b59c903 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision ffaaf7d1e1eb5715eac3f7c7b424a4648526344d) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 20499caf3661fbc65a170a289b1f46ca7b59c903) @@ -1187,10 +1187,6 @@ handleUIUserConfirmTreatmentParameters( message ); break; - //case MSG_ID_UI_TREATMENT_END_REQUEST: - // handleUIUserEndTreatmentRequest( message ); - // break; - case MSG_ID_UI_PRESSURE_LIMITS_CHANGE_REQUEST: handleChangePressureLimitsRequest( message ); break; Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -ra5d0cc8ffe98ed976cb0822757d06a47db92b744 -r20499caf3661fbc65a170a289b1f46ca7b59c903 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision a5d0cc8ffe98ed976cb0822757d06a47db92b744) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 20499caf3661fbc65a170a289b1f46ca7b59c903) @@ -1873,35 +1873,6 @@ /*********************************************************************//** * @brief - * The sendTreatmentEndResponseMsg function constructs a treatment end - * request response message to the UI and queues the msg for transmit on - * the appropriate CAN channel. - * @details Inputs: none - * @details Outputs: Treatment end response msg constructed and queued. - * @param accepted T/F - request accepted? - * @return TRUE if msg successfully queued for transmit, FALSE if not - *************************************************************************/ -BOOL sendTreatmentEndResponseMsg( BOOL accepted ) -{ - BOOL result; - MESSAGE_T msg; - U08 *payloadPtr = msg.payload; - - // Create a message record - blankMessage( &msg ); - //msg.hdr.msgID = MSG_ID_HD_TREATMENT_END_RESPONSE; - msg.hdr.payloadLen = sizeof( BOOL ); - - memcpy( payloadPtr, &accepted, sizeof( BOOL ) ); - - // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer - result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_2_UI, ACK_REQUIRED ); - - return result; -} - -/*********************************************************************//** - * @brief * The handleTreatmentParametersFromUI function handles a treatment parameters * set and validate request message from the UI. * @details Inputs: none @@ -4148,7 +4119,7 @@ } } - // respond to request + // Respond to request sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); } Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -rac2c218b9e310a14d2872c9b4c32a6f69615088e -r20499caf3661fbc65a170a289b1f46ca7b59c903 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision ac2c218b9e310a14d2872c9b4c32a6f69615088e) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 20499caf3661fbc65a170a289b1f46ca7b59c903) @@ -454,9 +454,6 @@ // MSG_ID_HD_REQUEST_CALIBRATION_DATA void handleTestHDCalibrationDataRequest( MESSAGE_T *message ); -// MSG_ID_HD_ERASE_CALIBRATION_DATAJus -void handleTestEraseHDCalibrationDataRequest( MESSAGE_T *message ); - // MSG_ID_HD_SET_CALIBRATION_RECORD void handleSetHDCalibrationRecord( MESSAGE_T *message ); Index: firmware/App/Tasks/TaskBG.c =================================================================== diff -u -rac2c218b9e310a14d2872c9b4c32a6f69615088e -r20499caf3661fbc65a170a289b1f46ca7b59c903 --- firmware/App/Tasks/TaskBG.c (.../TaskBG.c) (revision ac2c218b9e310a14d2872c9b4c32a6f69615088e) +++ firmware/App/Tasks/TaskBG.c (.../TaskBG.c) (revision 20499caf3661fbc65a170a289b1f46ca7b59c903) @@ -53,18 +53,19 @@ #ifndef _VECTORCAST_ // Cannot have infinite loop in unit test tool while ( 1 ) #endif - { + { +#ifndef #ifndef RM46_EVAL_BOARD_TARGET // Wait for UI to come up after power up if ( FALSE == uiCommunicated() ) { #ifndef SIMULATE_UI if ( TRUE == didTimeout( startUICommTimeout, MAX_TIME_FOR_UI_TO_COMMUNICATE_MS ) ) { - // activateAlarmNoData( ALARM_ID_UI_COMM_POST_FAILED ); + activateAlarmNoData( ALARM_ID_UI_COMM_POST_FAILED ); } #endif } - +#endif // Manage the watchdog execWatchdogMgmt(); Index: firmware/App/Tasks/TaskGeneral.c =================================================================== diff -u -ra5d0cc8ffe98ed976cb0822757d06a47db92b744 -r20499caf3661fbc65a170a289b1f46ca7b59c903 --- firmware/App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision a5d0cc8ffe98ed976cb0822757d06a47db92b744) +++ firmware/App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision 20499caf3661fbc65a170a289b1f46ca7b59c903) @@ -60,22 +60,24 @@ // Manage data received from other sub-systems execSystemCommRx(); - // Prevent most processing until UI has started communicating + // Prevent most processing until UI has started communicating +#ifndef RM46_EVAL_BOARD_TARGET #ifndef SIMULATE_UI - //if ( TRUE == uiCommunicated() ) + if ( TRUE == uiCommunicated() ) #endif - { + { + // Monitor DG - /*execDGInterfaceMonitor(); + execDGInterfaceMonitor(); // Monitor pressure/occlusion sensors - execPresOccl();*/ + execPresOccl(); // Run operation mode state machine - //execOperationModes(); + execOperationModes(); // Control air trap valve - /*execAirTrapController(); + execAirTrapController(); // Control blood pump execBloodFlowController(); @@ -84,16 +86,19 @@ execDialInFlowController(); // Control dialysate outlet pump - execDialOutFlowController();*/ + execDialOutFlowController(); +#endif // Manage RTC - //execRTC(); + execRTC(); // Manage NVDataMgmt process record state machine execNVDataMgmtProcessRecord(); +#ifndef RM46_EVAL_BOARD_TARGET // Manage alarm state - //execAlarmMgmt(); + execAlarmMgmt(); +#endif // Manage data to be transmitted to other sub-systems execSystemCommTx(); Index: firmware/App/Tasks/TaskPriority.c =================================================================== diff -u -rac2c218b9e310a14d2872c9b4c32a6f69615088e -r20499caf3661fbc65a170a289b1f46ca7b59c903 --- firmware/App/Tasks/TaskPriority.c (.../TaskPriority.c) (revision ac2c218b9e310a14d2872c9b4c32a6f69615088e) +++ firmware/App/Tasks/TaskPriority.c (.../TaskPriority.c) (revision 20499caf3661fbc65a170a289b1f46ca7b59c903) @@ -53,9 +53,10 @@ #ifndef SIMULATE_UI if ( TRUE == uiCommunicated() ) #endif - { + { +#ifndef RM46_EVAL_BOARD_TARGET // 1st pass for FPGA - /*execFPGAIn(); + execFPGAIn(); #ifndef CAN_TEST // Monitor and process buttons @@ -86,7 +87,8 @@ #endif #endif // 2nd pass for FPGA - execFPGAOut();*/ + execFPGAOut(); +#endif } // Check in with watchdog manager