Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -ra069eb423b26296eb95214e18383c81adae07497 -r989cb7be41238fe88d132b532f05298d2320e94e --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision a069eb423b26296eb95214e18383c81adae07497) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 989cb7be41238fe88d132b532f05298d2320e94e) @@ -279,17 +279,26 @@ BOOL result; MESSAGE_T msg; U08 *payloadPtr = msg.payload; + U32 data; // create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_ALARM_TRIGGERED; - msg.hdr.payloadLen = sizeof( U32 ) + sizeof( ALARM_DATA_T ) + sizeof( ALARM_DATA_T ); + msg.hdr.payloadLen = sizeof( U32 ) * 5; memcpy( payloadPtr, &alarm, sizeof( U32 ) ); payloadPtr += sizeof( U32 ); - memcpy( payloadPtr, &almData1, sizeof( ALARM_DATA_T ) ); - payloadPtr += sizeof( ALARM_DATA_T ); - memcpy( payloadPtr, &almData2, sizeof( ALARM_DATA_T ) ); + data = (U32)almData1.dataType; + memcpy( payloadPtr, &data, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + data = almData1.data.uInt.data; + memcpy( payloadPtr, &data, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + data = (U32)almData2.dataType; + memcpy( payloadPtr, &data, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + data = almData2.data.uInt.data; + memcpy( payloadPtr, &data, sizeof( U32 ) ); // serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_DG_ALARM, ACK_REQUIRED );