Index: firmware/App/Services/SystemCommTD.c =================================================================== diff -u -rf8a6d0d2b55d834e1e25ec98370e538ff547e148 -r056bb7c3e42a6c56e10ff75f69aa1d7b9e5c8af8 --- firmware/App/Services/SystemCommTD.c (.../SystemCommTD.c) (revision f8a6d0d2b55d834e1e25ec98370e538ff547e148) +++ firmware/App/Services/SystemCommTD.c (.../SystemCommTD.c) (revision 056bb7c3e42a6c56e10ff75f69aa1d7b9e5c8af8) @@ -16,7 +16,8 @@ ***************************************************************************/ #include // For memcpy() - + +#include "Buttons.h" #include "can.h" #include "sci.h" #include "sys_dma.h" @@ -302,6 +303,42 @@ /*********************************************************************//** * @brief + * The sendConfirmationRequest function sends a confirmation request to UI + * @details /b Inputs: requestID, requestType, rejectReason + * @details /b Outputs: none + * @param requestID ID of confirmation request + * @param requestType Type of confirmation request command + * @param rejectReason Reject reason if applicable + * @return none + *************************************************************************/ +void sendConfirmationRequest( GENERIC_CONFIRM_ID_T requestID, GENERIC_CONFIRM_COMMAND_T requestType, U32 rejectReason ) +{ + MESSAGE_T msg; + U08 *payloadPtr = msg.payload; + GENERIC_CONFIRMATION_REQUEST_T request; + + // Populate request structure + request.requestID = (U32)requestID; + request.requestType = (U32)requestType; + request.rejectReason = rejectReason; + // Optional payload defaults + request.genericPayload1 = 0; + request.genericPayload2 = 0; + request.genericPayload3 = 0; + request.genericPayload4 = 0; + // Create a message record + blankMessage( &msg ); + msg.hdr.msgID = MSG_ID_TD_UI_CONFIRMATION_REQUEST; + // Payload size + msg.hdr.payloadLen = sizeof( GENERIC_CONFIRMATION_REQUEST_T ); + // Copy payload + memcpy( payloadPtr,&request, sizeof( GENERIC_CONFIRMATION_REQUEST_T ) ); + // Serialize and send + serializeMessage( msg, COMM_BUFFER_OUT_CAN_TD_2_UI, ACK_REQUIRED ); +} + +/*********************************************************************//** + * @brief * The getInBufferID function gets the incoming communication buffer ID for * a given buffer index. * @details \b Alarm: ALARM_ID_TD_SOFTWARE_FAULT if given buffer index is invalid. @@ -364,7 +401,7 @@ * @return none *************************************************************************/ void processReceivedMessage( MESSAGE_T *message ) -{ +{ // Handle any messages from other sub-systems handleIncomingMessage( message ); }