Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rac55f23681cd3a29ec235265f73c67895e36ada9 -rf401094683b7f3b082c41493f1a217c28a331e5c --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision ac55f23681cd3a29ec235265f73c67895e36ada9) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision f401094683b7f3b082c41493f1a217c28a331e5c) @@ -882,6 +882,34 @@ return result; } +/*********************************************************************//** + * @brief + * The sendCommandResponseMsg function constructs a command response to HD + * and queues the msg for transmit on the appropriate CAN channel. + * @details Inputs: none + * @details Outputs: Command response msg constructed and queued. + * @param rejected T/F - is command rejected? + * @param rejectReason reason command was rejected (if not accepted) + * @return none + *************************************************************************/ +void sendCommandResponseMsg( BOOL rejected, U32 rejectReason ) +{ + MESSAGE_T msg; + U08 *payloadPtr = msg.payload; + + // Create a message record + blankMessage( &msg ); + msg.hdr.msgID = MSG_ID_DG_COMMAND_RESPONSE; + msg.hdr.payloadLen = sizeof( BOOL ) + sizeof( U32 ); + + memcpy( payloadPtr, &rejected, sizeof( BOOL ) ); + payloadPtr += sizeof( BOOL ); + memcpy( payloadPtr, &rejectReason, sizeof( U32 ) ); + + // 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 ); +} + // *********************************************************************** // **************** Message Handling Helper Functions ******************** // *********************************************************************** @@ -1011,15 +1039,16 @@ { BOOL startingHeater; + result = TRUE; memcpy( &startingHeater, message->payload, sizeof( U32 ) ); if ( TRUE == startingHeater ) { - result = startTrimmerHeaterCmd(); + startTrimmerHeaterCmd(); } else { - result = stopTrimmerHeaterCmd(); + stopTrimmerHeaterCmd(); } }