Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r47205a5002f27add91d8548f31c8a6fa18993fea -r52d1378ccddcede0445ddb8a08fc1f70b9007b50 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 47205a5002f27add91d8548f31c8a6fa18993fea) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 52d1378ccddcede0445ddb8a08fc1f70b9007b50) @@ -216,6 +216,36 @@ /*********************************************************************//** * @brief + * The broadcastData function broadcasts data. + * @details Inputs: none + * @details Outputs: load cell data msg constructed and queued + * @param msgID message ID of the data is broadcast + * @param buffer comm buffer ID + * @param dataPtr pointer to the start of the buffer + * @param length length of the data buffer + * @return TRUE if msg successfully queued for transmit, FALSE if not + *************************************************************************/ +BOOL broadcastData( MSG_ID_T msgID, COMM_BUFFER_T buffer, U08* dataPtr, U32 length ) +{ + BOOL result; + MESSAGE_T msg; + U08 *payloadPtr = msg.payload; + + // create a message record + blankMessage( &msg ); + msg.hdr.msgID = msgID; + msg.hdr.payloadLen = length; + + memcpy( payloadPtr, dataPtr, length ); + + // serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer + result = serializeMessage( msg, buffer, ACK_NOT_REQUIRED ); + + return result; +} + +/*********************************************************************//** + * @brief * The broadcastAlarmTriggered function constructs an alarm triggered msg to * be broadcast and queues the msg for transmit on the appropriate CAN channel. * @details Inputs: none