Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -r9d40104500ae1c144a19b36b83a0515d32fb7fc9 -reb6bc75e3fef9936db1111751233cb4452315769 --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision 9d40104500ae1c144a19b36b83a0515d32fb7fc9) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision eb6bc75e3fef9936db1111751233cb4452315769) @@ -984,6 +984,10 @@ valvesStatus[ valve ].valveDataPublishCounter = 0; } + + fastData.currentPos = valvesStatus[ valve ].currentPositionInCounts; + fastData.current = valvesStatus[ valve ].valveCurrent; + broadcastHDValves(); } /**@}*/ Index: firmware/App/Controllers/Valves.h =================================================================== diff -u -r9d40104500ae1c144a19b36b83a0515d32fb7fc9 -reb6bc75e3fef9936db1111751233cb4452315769 --- firmware/App/Controllers/Valves.h (.../Valves.h) (revision 9d40104500ae1c144a19b36b83a0515d32fb7fc9) +++ firmware/App/Controllers/Valves.h (.../Valves.h) (revision eb6bc75e3fef9936db1111751233cb4452315769) @@ -49,9 +49,16 @@ S16 prevPos; ///< Previous position in counts } HD_VALVE_DATA_T; + +typedef struct +{ + U32 currentPos; + F32 current; +} HD_VALVE_FAST_DATA_T; #pragma pack(pop) HD_VALVE_DATA_T valveData; ///< Valves data struct +HD_VALVE_FAST_DATA_T fastData; // ********** public function prototypes ********* Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r9d40104500ae1c144a19b36b83a0515d32fb7fc9 -reb6bc75e3fef9936db1111751233cb4452315769 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 9d40104500ae1c144a19b36b83a0515d32fb7fc9) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision eb6bc75e3fef9936db1111751233cb4452315769) @@ -1138,20 +1138,12 @@ BOOL result; MESSAGE_T msg; U08 *payloadPtr = msg.payload; - //HD_VALVE_DATA_T payload; // create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_HD_VALVES_DATA; msg.hdr.payloadLen = sizeof( HD_VALVE_DATA_T ); - /*payload.valveID = valve; - payload.state = state; - payload.currentPosID = currentPosEnum; - payload.currentPos = currentPosCount; - payload.nextPos = nextPosCount; - payload.current = current;*/ - memcpy( payloadPtr, &valveData, sizeof( HD_VALVE_DATA_T ) ); // serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer