E2E in Signal Path (SWC wrapper pattern)
Sender SWC
├── E2E_P04Protect(&cfg, &state, txBuf, len) ← add CRC+counter
└── Rte_IWrite_TorqueCmdOut_Buf(txBuf) ← write to COM port
COM → PduR → CanIf → CAN bus
Receiver SWC
├── Rte_IRead_TorqueCmdIn_Buf(rxBuf) ← read from COM port
├── E2E_P04Check(&cfg, &state, rxBuf, len) ← verify CRC+counter
└── if status OK: extract payload; else: safe state
Note: E2E transformers are placed in SWC wrappers,
NOT inside BSW COM — this is the AUTOSAR CP pattern for CP R4.x💡 E2E Transformer vs SWC Wrapper
AUTOSAR R4.2+ introduced E2E Transformers that can be invoked automatically by the COM module. However, in practice most CP R4.x projects implement E2E as explicit SWC-wrapper calls (E2E_P04Protect/E2E_P04Check) because transformer configuration adds ARXML complexity and limits debuggability. Both approaches are standards-compliant — check your project's BSW integration spec for the mandated approach.