]> rtime.felk.cvut.cz Git - arc.git/blobdiff - communication/Com/Com_Com.c
Quick fix of signal groups in COM. Not updated tests yet
[arc.git] / communication / Com / Com_Com.c
index cd5f862e4b1dc6c654ca3494396d66c0137f3deb..c6d7c61ff9f7287dc71921ba4e09b77c3b52e0e8 100644 (file)
@@ -356,7 +356,6 @@ Std_ReturnType Com_SendSignalGroup(Com_SignalGroupIdType SignalGroupId) {
 \r
 \r
 Std_ReturnType Com_ReceiveSignalGroup(Com_SignalGroupIdType SignalGroupId) {\r
-//#warning Com_ReceiveSignalGroup should be performed atomically. Should we disable interrupts here?\r
        const ComSignal_type * Signal = GET_Signal(SignalGroupId);\r
        const ComIPdu_type *IPdu = GET_IPdu(Signal->ComIPduHandleId);\r
 \r
@@ -364,16 +363,7 @@ Std_ReturnType Com_ReceiveSignalGroup(Com_SignalGroupIdType SignalGroupId) {
                return COM_BUSY;\r
        }\r
        // Copy Ipdu data buffer to shadow buffer.\r
-       const ComGroupSignal_type *groupSignal;\r
-       imask_t irq_state;\r
-\r
-       Irq_Save(irq_state);\r
-       for (uint8 i = 0; Signal->ComGroupSignal[i] != NULL; i++) {\r
-               groupSignal = Signal->ComGroupSignal[i];\r
-\r
-               Com_ReadSignalDataFromPdu(groupSignal->ComHandleId, (void *)Signal->Com_Arc_ShadowBuffer);\r
-       }\r
-       Irq_Restore(irq_state);\r
+       Com_CopySignalGroupDataFromShadowBuffer(SignalGroupId);\r
 \r
        return E_OK;\r
 }\r