]> rtime.felk.cvut.cz Git - arc.git/blobdiff - communication/Com/Com_misc.c
Fix deadline monitoring for defered signals in Ticket #1460
[arc.git] / communication / Com / Com_misc.c
index d393302a7ab0ab87cf79b9938296ca4d140f0a0a..06a8a6c459adb4d19223d21515eb570e1d1df1b6 100644 (file)
@@ -152,13 +152,20 @@ void Com_WriteSignalDataToPdu(
        // Get PDU\r
        const ComSignal_type *Signal     = GET_Signal(signalId);\r
        const ComIPdu_type   *IPdu       = GET_IPdu(Signal->ComIPduHandleId);\r
+       const void* pduDataPtr = 0;\r
+\r
+       if (IPdu->ComIPduSignalProcessing == DEFERRED && IPdu->ComIPduDirection == RECEIVE) {\r
+               pduDataPtr = IPdu->ComIPduDeferredDataPtr;\r
+       } else {\r
+               pduDataPtr = IPdu->ComIPduDataPtr;\r
+       }\r
 \r
        // Get data\r
        Com_WriteSignalDataToPduBuffer(\r
                        signalId,\r
                        FALSE,\r
                        signalData,\r
-                       (void *)IPdu->ComIPduDataPtr,\r
+                       pduDataPtr,\r
                        IPdu->ComIPduSize);\r
 }\r
 \r