Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rb23683bcde8aa940c30427a63dc1d261ece000fd -rd4a77f3ce8f62c8911b1f4f3a673be6de802f50b --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision b23683bcde8aa940c30427a63dc1d261ece000fd) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision d4a77f3ce8f62c8911b1f4f3a673be6de802f50b) @@ -8,7 +8,7 @@ * @file SystemCommMessages.c * * @author (last) Dara Navaei -* @date (last) 23-Jul-2024 +* @date (last) 08-Mar-2025 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 @@ -1987,7 +1987,53 @@ sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_HD, status ); } +/*********************************************************************//** + * @brief + * The sendMaxRORejectionRatioRequestToHD function handles sending the max RO + * rejection ratio request to HD + * @details Inputs: none + * @details Outputs: none + * @return none + *************************************************************************/ +void sendMaxRORejectionRatioRequestToHD( void ) +{ + MESSAGE_T msg; + // Create a message record + blankMessage( &msg ); + msg.hdr.msgID = MSG_ID_DG_MAX_RO_REJ_RATIO_FROM_HD_INSTIT_RECORD_REQUEST; + msg.hdr.payloadLen = 0; + + // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer + serializeMessage( msg, COMM_BUFFER_OUT_CAN_DG_2_HD, ACK_REQUIRED ); +} + +/*********************************************************************//** + * @brief + * The handleMaxRORejectionResponseFromHDInstitRecord function handles receiving + * max RO rejection ratio response from HD institutional record + * @details Inputs: none + * @details Outputs: message handled + * @param message a pointer to the message to handle + * @return none + *************************************************************************/ +void handleMaxRORejectionResponseFromHDInstitRecord( MESSAGE_T* message ) +{ + BOOL status = FALSE; + + if ( message->hdr.payloadLen == sizeof(F32) ) + { + F32 roRejectionRatio; + + memcpy( &roRejectionRatio, message->payload, sizeof(F32) ); + setMaxRORejectionRatio( roRejectionRatio ); + + status = TRUE; + } + + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_HD, status ); +} + // *********************************************************************** // **************** Message Handling Helper Functions ******************** // *********************************************************************** @@ -3875,37 +3921,6 @@ } /*********************************************************************//** - * The handleTestUsedAcidVolumeMLOverrideRequest function handles a - * request to override the acid volume. - * @details Inputs: none - * @details Outputs: message handled - * @param message : a pointer to the message to handle - * @return none - *************************************************************************/ -void handleTestUsedAcidVolumeMLOverrideRequest( 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 = testSetUsedAcidVolumeMLOverride( payload.state.f32 ); - } - else - { - result = testResetUsedAcidVolumeMLOverride(); - } - } - - // Respond to request - sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); -} - -/*********************************************************************//** * The handleSetFansDutyCycleOverrideRequest function handles a * request to override the fans duty cycle. * @details Inputs: none @@ -3937,38 +3952,6 @@ sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); } -/*********************************************************************//** - * @brief - * The handleTestUsedBicarbVolumeMLOverrideRequest function handles a - * request to override the used bicarb volume. - * @details Inputs: none - * @details Outputs: message handled - * @param message : a pointer to the message to handle - * @return none - *************************************************************************/ -void handleTestUsedBicarbVolumeMLOverrideRequest( 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 = testSetUsedBicarbVolumeMLOverride( payload.state.f32 ); - } - else - { - result = testResetUsedBicarbVolumeMLOverride(); - } - } - - // Respond to request - sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); -} - #ifndef _RELEASE_ /*********************************************************************//** * @brief