Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -r7665bfea357e3800ae5ac5f42658e31cde1d6a76 -ra183c6d91569ee07c9e944c989b67dc818a87941 --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 7665bfea357e3800ae5ac5f42658e31cde1d6a76) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision a183c6d91569ee07c9e944c989b67dc818a87941) @@ -180,7 +180,7 @@ else if ( TRUE == pendingStartDDFlushRequest ) { pendingStartDDFlushRequest = FALSE; - requestNewOperationMode( DD_MODE_FLUS ); +// requestNewOperationMode( DD_MODE_FLUS ); } else if ( TRUE == pendingStartDDHeatDisinfectRequest ) { Index: firmware/App/Services/Messaging.c =================================================================== diff -u -rff0edadf0c6f161a0a092ddaf94d1940d64f7d5e -ra183c6d91569ee07c9e944c989b67dc818a87941 --- firmware/App/Services/Messaging.c (.../Messaging.c) (revision ff0edadf0c6f161a0a092ddaf94d1940d64f7d5e) +++ firmware/App/Services/Messaging.c (.../Messaging.c) (revision a183c6d91569ee07c9e944c989b67dc818a87941) @@ -204,6 +204,9 @@ { MSG_ID_DD_PRE_GEND_MODE_DATA_PUBLISH_OVERRIDE_REQUEST, &testDDPreGenDialysateDataPublishIntervalOverride }, { MSG_ID_DD_POST_GEND_MODE_DATA_PUBLISH_OVERRIDE_REQUEST, &testDDPostGenDialysateDataPublishIntervalOverride }, { MSG_ID_DD_PRE_GEN_DIALYSATE_REQUEST_DATA, &handlePreGenDialysateRequestMsg }, + { MSG_ID_TD_DD_FLUSH_REQUEST, &handleTDRequestDDFlush }, + { MSG_ID_TD_DD_HEAT_DISINFECT_REQUEST, &handleTDRequestDDHeatDisinfect }, + { MSG_ID_TD_DD_HEAT_DISINFECT_ACTIVE_COOL_REQUEST, &handleTDRequestDDHeatDisinfectActiveCool }, { MSG_ID_FW_VERSIONS_REQUEST, &handleVersionRequestMessage }, { MSG_ID_DD_SAFETY_SHUTDOWN_OVERRIDE_REQUEST, &testSetResetSafetyShutdownOverride }, { MSG_ID_DD_UF_DATA_PUBLISH_OVERRIDE_REQUEST, &testDDUFDataPublishIntervalOverride }, Index: firmware/App/Services/TDInterface.c =================================================================== diff -u -rbd522c8ffdf75130571e5b6a79d1b1d6acd78b1c -ra183c6d91569ee07c9e944c989b67dc818a87941 --- firmware/App/Services/TDInterface.c (.../TDInterface.c) (revision bd522c8ffdf75130571e5b6a79d1b1d6acd78b1c) +++ firmware/App/Services/TDInterface.c (.../TDInterface.c) (revision a183c6d91569ee07c9e944c989b67dc818a87941) @@ -609,7 +609,96 @@ return result; } +/*********************************************************************//** + * @brief + * The handleTDRequestDDFlush function handles a DD flush request from TD. + * @details \b Inputs: none + * @details \b Outputs: DD flush request processed + * @param message Pointer to the received message + * @return TRUE if request is accepted, FALSE otherwise. + *************************************************************************/ +BOOL handleTDRequestDDFlush( MESSAGE_T *message ) +{ + BOOL result = FALSE; + if ( message->hdr.payloadLen == sizeof(U32) ) + { + BOOL startingDDFlush; + + memcpy( &startingDDFlush, message->payload, sizeof(U32) ); + + if ( TRUE == startingDDFlush ) + { + result = startDDFlush(); + } + else + { + ;// DO nothing + } + } + + // Respond to request + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DD_2_TD, result ); + + return result; +} + +/*********************************************************************//** + * @brief + * The handleTDRequestDDHeatDisinfect function handles a DD heat disinfection + * request from TD. + * @details \b Inputs: none + * @details \b Outputs: DD heat disinfection request processed + * @param message Pointer to the received message + * @return TRUE if request is accepted, FALSE otherwise. + *************************************************************************/ +BOOL handleTDRequestDDHeatDisinfect( MESSAGE_T *message ) +{ + BOOL status = FALSE; + + if ( message->hdr.payloadLen == sizeof(U32) ) + { + status = startDDHeatDisinfect( ); + } + + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DD_2_TD, status ); + + return status; +} + +/*********************************************************************//** + * @brief + * The handleTDRequestDDHeatDisinfectActiveCool function handles a DD heat + * disinfection active cool request from TD. + * @details \b Inputs: none + * @details \b Outputs: DD heat disinfection active cool request processed + * @param message Pointer to the received message + * @return TRUE if request is accepted, FALSE otherwise. + *************************************************************************/ +BOOL handleTDRequestDDHeatDisinfectActiveCool( MESSAGE_T *message ) +{ + BOOL status = FALSE; + + if ( message->hdr.payloadLen == sizeof(U32) ) + { + BOOL startingDDHeatDisinfect; + + memcpy( &startingDDHeatDisinfect, message->payload, sizeof(U32) ); + + if ( TRUE == startingDDHeatDisinfect ) + { + status = startDDHeatDisinfectActiveCool( ); + } + else + { + ;//do nothing + } + } + + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DD_2_TD, status ); + + return status; +} /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/ Index: firmware/App/Services/TDInterface.h =================================================================== diff -u -rc992ffdef2060d3d534abd2538bfb31dd25b9fbc -ra183c6d91569ee07c9e944c989b67dc818a87941 --- firmware/App/Services/TDInterface.h (.../TDInterface.h) (revision c992ffdef2060d3d534abd2538bfb31dd25b9fbc) +++ firmware/App/Services/TDInterface.h (.../TDInterface.h) (revision a183c6d91569ee07c9e944c989b67dc818a87941) @@ -40,6 +40,9 @@ BOOL handleDialysateDeliveryRequestMsg( MESSAGE_T *message ); BOOL handlePreGenDialysateRequestMsg( MESSAGE_T *message ); +BOOL handleTDRequestDDFlush( MESSAGE_T *message ); +BOOL handleTDRequestDDHeatDisinfect( MESSAGE_T *message ); +BOOL handleTDRequestDDHeatDisinfectActiveCool( MESSAGE_T *message ); void setTDOpMode( U32 opMode, U32 subMode ); void setTDDialysateFlowrate( F32 dialFlowrate );