Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rd611d220407c97b46a047455e6a91600662df227 -rf5d0c90297a0716e1fb5a5c946436cccd35050e5 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision d611d220407c97b46a047455e6a91600662df227) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision f5d0c90297a0716e1fb5a5c946436cccd35050e5) @@ -31,6 +31,7 @@ #include "RTC.h" #include "SystemComm.h" #include "Utilities.h" +#include "Valves.h" #include "WatchdogMgmt.h" #include "SystemCommMessages.h" @@ -419,6 +420,35 @@ /************************************************************************* * @brief + * The broadcastValvesStates function sends out DG valves states. + * @details + * Inputs : none + * Outputs : Valves states msg constructed and queued + * @param valvesStates : valves states + * refer to setFPGAValveStates function in FPGA.c for details + * @return TRUE if msg successfully queued for transmit, FALSE if not + *************************************************************************/ +BOOL broadcastValvesStates( U16 valvesStates ) +{ + BOOL result; + MESSAGE_T msg; + U08 *payloadPtr = msg.payload; + + // create a message record + blankMessage( &msg ); + msg.hdr.msgID = MSG_ID_DG_VALVES_STATES; + msg.hdr.payloadLen = sizeof( U16 ); + + memcpy( payloadPtr, &valvesStates, sizeof( U16 ) ); + + // 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_BROADCAST, ACK_NOT_REQUIRED ); + + return result; +} + +/************************************************************************* + * @brief * The broadcastROPumpData function sends out RO pump data. * @details * Inputs : none