Index: firmware/App/Modes/ModePostTreat.c =================================================================== diff -u -r84bb8663dae71170e1743a2bed37b0aa47465b47 -re63c54262fd4ccd8ffd9ef9bb49e66458893528f --- firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision 84bb8663dae71170e1743a2bed37b0aa47465b47) +++ firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision e63c54262fd4ccd8ffd9ef9bb49e66458893528f) @@ -203,6 +203,19 @@ /*********************************************************************//** * @brief + * The setTreatmentDateTime sets treatment date and time to treatment log. + * @details Inputs: treatmentLogData + * @details Outputs: Sent treatment log data to UI + * @param dateTime date and time to save to treatment log + * @return none + *************************************************************************/ +void setTreatmentDateTime( U32 dateTime ) +{ + treatmentLogData.treatmentDateAndTime = dateTime; +} + +/*********************************************************************//** + * @brief * The signalUserConfirmPatientDisconnection signals post-treatment mode * user has confirmed patient disconnection. * @details Inputs: none @@ -403,7 +416,6 @@ treatmentLogData.dialysateTemperature_degC = getTreatmentParameterF32( TREATMENT_PARAM_DIALYSATE_TEMPERATURE ); treatmentLogData.dialyzerType = getTreatmentParameterU32( TREATMENT_PARAM_DIALYZER_TYPE ); -// treatmentLogData.treatmentDateAndTime = 0; // treatmentLogData.avgBloodFlow_mL_min; // treatmentLogData.avgDialysateFlow_mL_min; Index: firmware/App/Modes/ModePostTreat.h =================================================================== diff -u -r6168e35268fe8c0b9a8671d28eee5491395c1e71 -re63c54262fd4ccd8ffd9ef9bb49e66458893528f --- firmware/App/Modes/ModePostTreat.h (.../ModePostTreat.h) (revision 6168e35268fe8c0b9a8671d28eee5491395c1e71) +++ firmware/App/Modes/ModePostTreat.h (.../ModePostTreat.h) (revision e63c54262fd4ccd8ffd9ef9bb49e66458893528f) @@ -83,6 +83,8 @@ U32 execPostTreatmentMode( void ); // Execute the post-treatment mode state machine (call from OperationModes) void handleTreatmentLogDataRequest( void ); +void setTreatmentDateTime( U32 dateTime ); + void signalUserConfirmPatientDisconnection( void ); void signalUserConfirmDisposableRemoval( void ); void signalAlarmActionToPostTreatmentMode( ALARM_ACTION_T action ); // Execute alarm action as appropriate for post-treatment mode Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r84bb8663dae71170e1743a2bed37b0aa47465b47 -re63c54262fd4ccd8ffd9ef9bb49e66458893528f --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 84bb8663dae71170e1743a2bed37b0aa47465b47) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision e63c54262fd4ccd8ffd9ef9bb49e66458893528f) @@ -217,6 +217,8 @@ initRinseback(); initTreatmentRecirc(); initTreatmentEnd(); + + setTreatmentDateTime( getRTCTimestamp() ); } /*********************************************************************//** Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -rf699178c91a882b71e96ebab9d24bb21005a4526 -re63c54262fd4ccd8ffd9ef9bb49e66458893528f --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision f699178c91a882b71e96ebab9d24bb21005a4526) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision e63c54262fd4ccd8ffd9ef9bb49e66458893528f) @@ -306,7 +306,15 @@ U32 const elapsedSelfTestTimeInSecs = calcTimeSince( selfTestStartTime ) / MS_PER_SECOND; selfTestPreviousPublishDataTime = getMSTimerCount(); - broadcastNoCartSelfTestTime( MAX_NO_CARTRIDGE_SELF_TEST_TIME, ( MAX_NO_CARTRIDGE_SELF_TEST_TIME - elapsedSelfTestTimeInSecs ) ); + + if ( elapsedSelfTestTimeInSecs <= MAX_NO_CARTRIDGE_SELF_TEST_TIME ) + { + broadcastNoCartSelfTestTime( MAX_NO_CARTRIDGE_SELF_TEST_TIME, ( MAX_NO_CARTRIDGE_SELF_TEST_TIME - elapsedSelfTestTimeInSecs ) ); + } + else + { + SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_NO_CART_SELF_TEST_TIMEOUT, currentNoCartSelfTestsState ); + } } } @@ -437,7 +445,15 @@ U32 const elapsedSelfTestTimeInSecs = calcTimeSince( selfTestStartTime ) / MS_PER_SECOND; selfTestPreviousPublishDataTime = getMSTimerCount(); - broadcastDrySelfTestTime( MAX_DRY_SELF_TEST_TIME, ( MAX_DRY_SELF_TEST_TIME - elapsedSelfTestTimeInSecs ) ); + + if ( elapsedSelfTestTimeInSecs <= MAX_DRY_SELF_TEST_TIME ) + { + broadcastDrySelfTestTime( MAX_DRY_SELF_TEST_TIME, ( MAX_DRY_SELF_TEST_TIME - elapsedSelfTestTimeInSecs ) ); + } + else + { + SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_DRY_SELF_TEST_TIMEOUT, currentDrySelfTestsState ); + } } }