Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rd70e51a4923a1815042e579c78b585b9f987a5df -rb13018664f3d4fe4786a0c4200304f84a6e742ca --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision d70e51a4923a1815042e579c78b585b9f987a5df) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision b13018664f3d4fe4786a0c4200304f84a6e742ca) @@ -7,8 +7,8 @@ * * @file SystemCommMessages.c * -* @author (last) Dara Navaei -* @date (last) 26-Apr-2024 +* @author (last) Vinayakam Mani +* @date (last) 02-May-2024 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 @@ -4616,6 +4616,70 @@ /*********************************************************************//** * @brief + * The handleTestFilteredBloodPumpOcclusionOverrideRequest function handles a request to + * override the filtered blood pump occlusion sensor readings. + * @details Inputs: none + * @details Outputs: message handled + * @param message a pointer to the message to handle + * @return none + *************************************************************************/ +void handleTestFilteredBloodPumpOcclusionOverrideRequest( 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 = testSetFilteredBloodPumpOcclusionOverride( payload.state.f32 ); + } + else + { + result = testResetFilteredBloodPumpOcclusionOverride(); + } + } + + // Respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} + +/*********************************************************************//** + * @brief + * The handleTestBloodPumpOcclusionBaselineOverrideRequest function handles a request to + * override the blood pump occlusion baseline value. + * @details Inputs: none + * @details Outputs: message handled + * @param message a pointer to the message to handle + * @return none + *************************************************************************/ +void handleTestBloodPumpOcclusionBaselineOverrideRequest( 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 = testSetBloodPumpPartialOcclusionBaselineOverride( payload.state.f32 ); + } + else + { + result = testResetBloodPumpPartialOcclusionBaselineOverride(); + } + } + + // Respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} + +/*********************************************************************//** + * @brief * The handleTestPresOcclBroadcastIntervalOverrideRequest function handles a request to * override the broadcast interval for pressure/occlusion data. * @details Inputs: none