Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r101bf85b0b425e919b01b4b7fabcbd15fd5bbde5 -r5e7f27ffe40a1d3bfaf424f294869f16a5c6872d --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 101bf85b0b425e919b01b4b7fabcbd15fd5bbde5) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 5e7f27ffe40a1d3bfaf424f294869f16a5c6872d) @@ -768,13 +768,17 @@ // create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_ALARM_TRIGGERED; - msg.hdr.payloadLen = sizeof( U16 ) + sizeof( ALARM_DATA_T ) + sizeof( ALARM_DATA_T ); + msg.hdr.payloadLen = sizeof( U16 ) + sizeof( U32 ) * 2 * 2; // 2 alarm data recs w/ 2 32-bit values each memcpy( payloadPtr, &alarm, sizeof( U16 ) ); payloadPtr += sizeof( U16 ); - memcpy( payloadPtr, &almData1, sizeof( ALARM_DATA_T ) ); - payloadPtr += sizeof( ALARM_DATA_T ); - memcpy( payloadPtr, &almData2, sizeof( ALARM_DATA_T ) ); + memcpy( payloadPtr, &almData1.dataType, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + memcpy( payloadPtr, &almData1.data, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + memcpy( payloadPtr, &almData2.dataType, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + memcpy( payloadPtr, &almData2.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_HD_ALARM, ACK_REQUIRED ); @@ -1189,17 +1193,21 @@ *************************************************************************/ void handleAlarmTriggered( MESSAGE_T *message ) { - if ( message->hdr.payloadLen == ( sizeof( U16 ) + sizeof( ALARM_DATA_T ) + sizeof( ALARM_DATA_T ) ) ) + if ( message->hdr.payloadLen == ( sizeof( U16 ) + sizeof( U32 ) * 2 * 2 ) // 2 data records w/ 2 U32s each { U08 *payloadPtr = message->payload; U16 alarmID; ALARM_DATA_T alm1, alm2; memcpy( &alarmID, payloadPtr, sizeof( U16 ) ); payloadPtr += sizeof( U16 ); - memcpy( &alm1, payloadPtr, sizeof( ALARM_DATA_T ) ); - payloadPtr += sizeof( ALARM_DATA_T ); - memcpy( &alm2, payloadPtr, sizeof( ALARM_DATA_T ) ); + memcpy( &alm1.dataType, payloadPtr, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + memcpy( &alm1.data, payloadPtr, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + memcpy( &alm2.dataType, payloadPtr, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + memcpy( &alm2.data, payloadPtr, sizeof( U32 ) ); if ( (ALARM_ID_T)alarmID < NUM_OF_ALARM_IDS ) {