Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rec40ff879ab8f621fa4cff35f0d69c2804f69c12 -r19dd008088c2a0ac22040199866cf39eae37f4b4 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision ec40ff879ab8f621fa4cff35f0d69c2804f69c12) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 19dd008088c2a0ac22040199866cf39eae37f4b4) @@ -3187,15 +3187,18 @@ U08 *payloadPtr = msg.payload; - // Create a message record - blankMessage( &msg ); - msg.hdr.msgID = MSG_ID_HD_SERVICE_SCHEDULE_DATA; - msg.hdr.payloadLen = sizeof( U32 ) + sizeof( U32 ); + if ( message->hdr.payloadLen == sizeof( U32 ) + sizeof( U32 ) ) + { + // Create a message record + blankMessage( &msg ); + msg.hdr.msgID = MSG_ID_HD_SERVICE_SCHEDULE_DATA; + msg.hdr.payloadLen = sizeof( U32 ) + sizeof( U32 ); - // Fill message payload - memcpy( payloadPtr, &service.lastServiceEpochDate, sizeof( U32 ) ); - payloadPtr += sizeof( U32 ); - memcpy( payloadPtr, &service.serviceIntervalSeconds, sizeof( U32 ) ); + // Fill message payload + memcpy( payloadPtr, &service.lastServiceEpochDate, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + memcpy( payloadPtr, &service.serviceIntervalSeconds, 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_HD_2_UI, ACK_REQUIRED );