Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -r0a587d42b41c5d9a81f69b9c1ae526d4e23ceaa8 -rd106a0eefd1e2ffe5873cd862ebbd53c1002de27 --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 0a587d42b41c5d9a81f69b9c1ae526d4e23ceaa8) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision d106a0eefd1e2ffe5873cd862ebbd53c1002de27) @@ -26,6 +26,7 @@ #include "NVDataMgmt.h" #include "OperationModes.h" #include "Reservoirs.h" +#include "SystemCommMessages.h" #include "TaskGeneral.h" #include "Timers.h" Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r8d28db49d2814645c048883053ad06a27bf294f6 -rd106a0eefd1e2ffe5873cd862ebbd53c1002de27 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 8d28db49d2814645c048883053ad06a27bf294f6) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision d106a0eefd1e2ffe5873cd862ebbd53c1002de27) @@ -1812,6 +1812,10 @@ handleTestHDPendingACKOverrideRequest( message ); break; + case MSG_ID_HD_RECIRULATION_PCT_OVERRIDE: + handleTestHDRecirulationPctOverrideRequest( message ); + break; + // The default cannot be reached in VectorCAST since the cases are run in a for loop default: // Unrecognized message ID received - ignore Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r3f4105248e6c49ab487ec065f9a4843d72a16a2a -rd106a0eefd1e2ffe5873cd862ebbd53c1002de27 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 3f4105248e6c49ab487ec065f9a4843d72a16a2a) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision d106a0eefd1e2ffe5873cd862ebbd53c1002de27) @@ -31,6 +31,7 @@ #include "ModeStandby.h" #include "ModeInitPOST.h" #include "OperationModes.h" +#include "Reservoirs.h" #include "RTC.h" #include "SampleWater.h" #include "SafetyShutdown.h" @@ -8479,4 +8480,36 @@ sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); } +/*********************************************************************//** + * @brief + * The handleTestHDRecirulationPctOverrideRequest function handles a + * request to override pending ACKs. + * @details Inputs: none + * @details Outputs: message handled + * @param message : a pointer to the message to handle + * @return none + *************************************************************************/ +void handleTestHDRecirulationPctOverrideRequest( MESSAGE_T *message ) +{ + TEST_OVERRIDE_PAYLOAD_T payload; + BOOL result = FALSE; + + // Verify payload length + if ( sizeof( TEST_OVERRIDE_PAYLOAD_T ) == message->hdr.payloadLen ) + { + memcpy( &payload, message->payload, sizeof( TEST_OVERRIDE_PAYLOAD_T ) ); + if ( FALSE == payload.reset ) + { + result = testSetRecirculationLevelPctOverride( payload.state.f32 ); + } + else + { + result = testResetRecirculationLevelPctOverride(); + } + } + + // Respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} + /**@}*/ Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r3f4105248e6c49ab487ec065f9a4843d72a16a2a -rd106a0eefd1e2ffe5873cd862ebbd53c1002de27 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 3f4105248e6c49ab487ec065f9a4843d72a16a2a) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision d106a0eefd1e2ffe5873cd862ebbd53c1002de27) @@ -1016,6 +1016,9 @@ // MSG_ID_HD_CAN_RECEIVE_ACK_MESSAGE_OVERRIDE void handleTestHDPendingACKOverrideRequest( MESSAGE_T* message ); +// MSG_ID_HD_RECIRULATION_PCT_OVERRIDE +void handleTestHDRecirulationPctOverrideRequest( MESSAGE_T* message ); + /**@}*/ #endif