uint8 Com_ReceiveSignal(Com_SignalIdType SignalId, void* SignalDataPtr) { VALIDATE_SIGNAL(SignalId, 0x0b, E_NOT_OK); DEBUG(DEBUG_LOW, "Com_ReceiveSignal: SignalId %d\n", SignalId); const ComSignal_type * Signal = GET_Signal(SignalId); const ComIPdu_type *IPdu = GET_IPdu(Signal->ComIPduHandleId); uint8 r = E_OK; const void* pduDataPtr = 0; if (IPdu->ComIPduSignalProcessing == DEFERRED && IPdu->ComIPduDirection == RECEIVE) { pduDataPtr = IPdu->ComIPduDeferredDataPtr; } else { if (isPduBufferLocked(getPduId(IPdu))) { r = COM_BUSY; } pduDataPtr = IPdu->ComIPduDataPtr; } Com_ReadSignalDataFromPduBuffer( SignalId, FALSE, SignalDataPtr, pduDataPtr); return r; }
void Com_ReceiveShadowSignal(Com_SignalIdType SignalId, void *SignalDataPtr) { Com_Arc_GroupSignal_type *Arc_GroupSignal = GET_ArcGroupSignal(SignalId); Com_ReadSignalDataFromPduBuffer(SignalId, TRUE, SignalDataPtr, (void *)Arc_GroupSignal->Com_Arc_ShadowBuffer); }
void Com_ReceiveShadowSignal(Com_SignalIdType SignalId, void *SignalDataPtr) { Com_Arc_GroupSignal_type *Arc_GroupSignal = GET_ArcGroupSignal(SignalId); uint8 pduSize = GET_IPdu(GET_Signal(SignalId)->ComIPduHandleId)->ComIPduSize; Com_ReadSignalDataFromPduBuffer(SignalId, TRUE, SignalDataPtr, (void *)Arc_GroupSignal->Com_Arc_ShadowBuffer,pduSize); }