Index: firmware/App/Controllers/DGInterface.h =================================================================== diff -u -rb4bc2e0337b358ee180650101d98e18346bf7c22 -rec0ae6f3e8dd68564f9ae0d73dc996f58c86d115 --- firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision b4bc2e0337b358ee180650101d98e18346bf7c22) +++ firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision ec0ae6f3e8dd68564f9ae0d73dc996f58c86d115) @@ -96,6 +96,18 @@ F32 HtrTrimColdJunc; ///< Trimmer heater cold junction temperature sensor F32 HtrPrimInternal; ///< Primary heaters internal temperature F32 HtrTrimInternal; ///< Trimmer heater internal temperature + F32 DGBoardTemp; ///< DG board temperature + F32 ResOneLoadCellTemp; ///< Reservoir 1 load cell sensor temperature + F32 ResTwoLoadCellTemp; ///< Reservoir 2 load cell sensor temperature + F32 THDoInternalTemp; ///< THDo RTD channel temperature sensor + F32 TDiInternalTemp; ///< TDI RTD channel temperature sensor + F32 internalCondSnsrTemp; ///< Conductivity Sensor internal temperature sensor + U32 primaryThermoCoupleRaw; ///< Primary heaters thermocouple raw ADC value + U32 primaryColdjuncRaw; ///< Primary heaters cold junction raw ADC value + U32 trimmerThermoCoupleRaw; ///< Trimmer heater thermocouple raw ADC value + U32 trimmerColdjuncRaw; ///< Trimmer heater cold junction raw ADC value + S32 cond1Raw; ///< Conductivity sensor 1 raw temperature ADC value + S32 cond2Raw; ///< Conductivity sensor 2 raw temperature ADC value } DG_TEMPERATURES_T; /// Payload record structure for a drain reservoir command message. @@ -159,6 +171,8 @@ void handleDGCommandResponse( DG_CMD_RESPONSE_T *dgCmdRespPtr ); BOOL getDGCommandResponse( U32 commandID, DG_CMD_RESPONSE_T *cmdRespPtr ); +void checkDialysateTemperature( void ); + BOOL testSetDialOutLoadCellWeightOverride( U32 sensor, F32 value ); BOOL testResetDialOutLoadCellWeightOverride( U32 sensor ); Index: firmware/App/HDCommon.h =================================================================== diff -u -r92c04526739f32e904fe258bd622aa08734ce343 -rec0ae6f3e8dd68564f9ae0d73dc996f58c86d115 --- firmware/App/HDCommon.h (.../HDCommon.h) (revision 92c04526739f32e904fe258bd622aa08734ce343) +++ firmware/App/HDCommon.h (.../HDCommon.h) (revision ec0ae6f3e8dd68564f9ae0d73dc996f58c86d115) @@ -62,7 +62,7 @@ #define SKIP_PRIMING 1 // Skip Pre-treatment Prime #define SKIP_WET_SELF_TESTS 1 // Skip Pre-treatment prime wet self-tests // #define V1_5_SYSTEM 1 // Build for v1.5 system - #define SKIP_SAMPLE_WATER 1 // Skip pre-treatment sample water +// #define SKIP_SAMPLE_WATER 1 // Skip pre-treatment sample water #define SKIP_CONSUMABLE_TESTS 1 // Skip pre-treatment consumable Self-tests #define SKIP_DRY_SELF_TESTS 1 // Skip pre-treatment dry self-tests #define SKIP_UI_INTERACTION 1 // Skip UI interaction. Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r5bf62ff1373f2e9eea858244a97167323bff33f8 -rec0ae6f3e8dd68564f9ae0d73dc996f58c86d115 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 5bf62ff1373f2e9eea858244a97167323bff33f8) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision ec0ae6f3e8dd68564f9ae0d73dc996f58c86d115) @@ -372,6 +372,10 @@ case ALARM_ACTION_END_TREATMENT: if ( HD_PRE_TREATMENT_PRIME_STATE > currentPreTreatmentState ) { + if ( HD_PRE_TREATMENT_WATER_SAMPLE_STATE == currentPreTreatmentState ) + { + cmdDGSampleWater( SAMPLE_WATER_CMD_END ); + } requestNewOperationMode( MODE_STAN ); } else Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -re25708d560989de50b01aa38bba81ea2b5794645 -rec0ae6f3e8dd68564f9ae0d73dc996f58c86d115 --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision e25708d560989de50b01aa38bba81ea2b5794645) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision ec0ae6f3e8dd68564f9ae0d73dc996f58c86d115) @@ -588,6 +588,7 @@ signalBloodPumpHardStop(); signalDialInPumpHardStop(); signalDialOutPumpHardStop(); + selfTestStartTime = getMSTimerCount(); // TODO: Use appropriate sensor driver if ( STATE_CLOSED == getFPGADoorState() ) @@ -745,6 +746,9 @@ { NO_CART_SELF_TESTS_STATE_T state = NO_CART_SELF_TESTS_STOPPED_STATE; + // Restart self-test start time + selfTestStartTime = getMSTimerCount(); + if ( TRUE == selfTestsResumeRequested ) { selfTestsResumeRequested = FALSE; @@ -767,6 +771,9 @@ { DRY_SELF_TESTS_STATE_T state = DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE; + // Restart self-test start time + selfTestStartTime = getMSTimerCount(); + // TODO: Use appropriate sensor driver if ( STATE_CLOSED == getFPGADoorState() ) { @@ -987,6 +994,9 @@ { DRY_SELF_TESTS_STATE_T state = DRY_SELF_TESTS_STOPPED_STATE; + // Restart self-test start time + selfTestStartTime = getMSTimerCount(); + if ( TRUE == selfTestsResumeRequested ) { selfTestsResumeRequested = FALSE; Index: firmware/App/Modes/TreatmentEnd.c =================================================================== diff -u -rac6532c81f2a6d4ad1c67420c22d59f6aeeaae13 -rec0ae6f3e8dd68564f9ae0d73dc996f58c86d115 --- firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision ac6532c81f2a6d4ad1c67420c22d59f6aeeaae13) +++ firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision ec0ae6f3e8dd68564f9ae0d73dc996f58c86d115) @@ -271,7 +271,7 @@ // Ensure we do not sit in stopped state for too long if ( bloodSittingTimerCtr > MAX_TIME_BLOOD_SITTING ) { - activateAlarmNoData( ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK ); + activateAlarmNoData( ALARM_ID_TREATMENT_STOPPED_NO_RINSEBACK ); } } Index: firmware/App/Modes/TreatmentStop.c =================================================================== diff -u -rac6532c81f2a6d4ad1c67420c22d59f6aeeaae13 -rec0ae6f3e8dd68564f9ae0d73dc996f58c86d115 --- firmware/App/Modes/TreatmentStop.c (.../TreatmentStop.c) (revision ac6532c81f2a6d4ad1c67420c22d59f6aeeaae13) +++ firmware/App/Modes/TreatmentStop.c (.../TreatmentStop.c) (revision ec0ae6f3e8dd68564f9ae0d73dc996f58c86d115) @@ -142,7 +142,7 @@ // Ensure we do not sit in stopped state for too long if ( ++bloodSittingTimerCtr > MAX_TIME_BLOOD_SITTING ) { - activateAlarmNoData( ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK ); + activateAlarmNoData( ALARM_ID_TREATMENT_STOPPED_NO_RINSEBACK ); } // Execute treatment stop sub-mode state machine