DEENESPTFRRUARHIKOZHNL

Wireless Ethernet Driver (WEth)

ModulWEth (Wireless Ethernet Driver)
BSW-Modul-ID87
Standard-Header#include "WEth.h"
SWS-SpezifikationAUTOSAR_CP_SWS_WirelessEthernetDriver.pdf, AUTOSAR_SWS_WirelessEthernetDriver.pdf
Umfang157 Records · 26 Snippets
ClusterEthernet-Stack

Wireless Ethernet Driver (WEth)

AUTOSAR Classic Wireless Comm. Drivers-Modul Wireless Ethernet Driver (WEth, Spezifikation: AUTOSAR_CP_SWS_WirelessEthernetDriver.pdf, AUTOSAR_SWS_WirelessEthernetDriver.pdf).

Funktionen — Übersicht

Typen — Übersicht

Anforderungen — Übersicht

Funktionen & Typen — Detailansicht

functie WEth_Init [SWS_WEth_00027] 📄 PDF

void WEth_Init(const WEth_ConfigType* CfgPtr);

Initializes the Wireless Ethernet Driver

functie WEth_GetPhysAddr [SWS_WEth_00052] 📄 PDF

void WEth_GetPhysAddr(uint8 CtrlId, uint8* PhysAddrPtr);

Obtains the physical source address used by the indexed controller

functie WEth_ProvideTxBuffer [SWS_WEth_00077] 📄 PDF

BufReq_ReturnType WEth_ProvideTxBuffer(uint8 CtrlId, uint8 Priority, Eth_BufIdxType* BufIdPtr, uint8* * BufPtr, uint16* LenBytePtr);

Provides access to a transmit buffer of the specified controller

functie WEth_SetPhysAddr [SWS_WEth_00151] 📄 PDF

void WEth_SetPhysAddr(uint8 CtrlId, const uint8* PhysAddrPtr);

Sets the physical source address used by the indexed controller

functie WEth_UpdatePhysAddrFilter [SWS_WEth_00152] 📄 PDF

Std_ReturnType WEth_UpdatePhysAddrFilter(uint8 CtrlId, const uint8* PhysAddrPtr, const uint8* PhysMaskPtr, Eth_FilterActionType Action);

Update the physical source address to/ from the indexed context filter. If the Wireless Ethernet Controller is not capable to do the filtering, the software has to do this.

functie WEth_MainFunction [SWS_WEth_00171] 📄 PDF

void WEth_MainFunction(void);

Support for indirect transmissions (extended frame timing constraints) and mechanisms for channel selection when using multiple channels. Used for polling state changes. Calls Eth If _ Ctrl Mode Indication when the controller mode changed.

functie WEth_GetWEtherStats64 [SWS_WEth_10024] 📄 PDF

Std_ReturnType WEth_GetWEtherStats64(uint8 CtrlId, uint64* WEtherStats);

Returns the following list according to IEEE 802.11 - 2012, where the maximal possible value shall denote an invalid value, e.g. if this counter is not available: 1. dot11STAStatistics Transmitted Octets In AMSDUCount 2. dot11STAStatistics Receiv ed Octets In AMSDUCount 3. dot11STAStatistics Transmitted Octets In AMPDUCount 4. dot11STAStatistics Received Octets In AMPDUCount 5. dot11STAStatistics Transmitted Octets In Granted RDGCount

functie WEth_GetBufWTxParams [SWS_WEth_10044] 📄 PDF

Std_ReturnType WEth_GetBufWTxParams(uint8 CtrlId, const WEth_BufWTxParamIdType* TxParamIds, uint32* ParamValues, uint8 NumParams);

Read out values related to the transmit direction for a transmitte d packet. For example, this could be transaction ID belonging to one single packet.This API is valid only within the context of WEth_ Tx Confirmation.

functie WEth_SetBufWTxParams [SWS_WEth_10051] 📄 PDF

Std_ReturnType WEth_SetBufWTxParams(uint8 CtrlId, Eth_BufIdxType BufId, const WEth_BufWTxParamIdType* TxParamIds, const uint32* ParamValues, uint8 NumParams);

Set values related to the transmit direction for a specific buffer (packet to be sent). For example, this can be the desired transmit power or the channel belonging to one single packet.

functie WEth_GetBufWRxParams [SWS_WEth_10062] 📄 PDF

Std_ReturnType WEth_GetBufWRxParams(uint8 CtrlId, const WEth_BufWRxParamIdType* RxParamIds, uint32* ParamValues, uint8 NumParams);

Read out values related to the receive direction for a received packet. For example, this could be RSSI or Channel belonging to one single packet.This API is valid only within the context of WEth_ Receive

functie WEth_GetWEtherStats32 [SWS_WEth_10070] 📄 PDF

Std_ReturnType WEth_GetWEtherStats32(uint8 CtrlId, uint32* WEtherStats);

Returns the following list according to IEEE 802.11 - 2012, where the maximal possible value shall denote an invalid value, e.g. if this counter is not available: 1. dot11STAStatistics Transmitted F ragment Count 2. dot11STAStatistics Group Transmitted Frame Count 3. dot11STAStatistics Failed Count 4. dot11STAStatistics Retry Count 5. dot11STAStatistics Multiple Retry Count 6. dot11STAStatistics Frame Duplicate Count 7. dot11STAStatistics RTSSuccess C ount 8. dot11STAStatistics RTSFailure Count 9. dot11STAStatistics ACKFailure Count 10. dot11STAStatistics Qos Transmitted Fragment Count 11. dot11STAStatistics Qos Failed Count 12. dot11STAStatistics Qos Retry Count 13. dot11STAStatistics Qos Multiple Retr y Count 14. dot11STAStatistics Qos Frame Duplicate Count 15. dot11STAStatistics Qos RTSSuccess Count 16. dot11STAStatistics Qos RTSFailure Count 17. dot11STAStatistics Qos ACKFailure Count 18. dot11STAStatistics Qos Received Fragment Count 19. dot11STAStat istics Qos Transmitted Frame Count 20. dot11STAStatistics Qos Discarded Frame Count 21. dot11STAStatistics Qos MPDUs Received Count 22. dot11STAStatistics Qos Retries Received Count 23. dot11STAStatistics Received Fragment Count 24. dot11STAStatistics Grou p Received Frame Count 25. dot11STAStatistics FCSError Count 26. dot11STAStatistics Transmitted Frame Count 27. dot11STAStatistics RSNAStats CMACICVErrors 28. dot11STAStatistics RSNAStats CMACReplays 29. dot11STAStatistics RSNAStats Robust Mgmt CCMPReplays 30. dot11STAStatistics RSNAStats TKIPICVErrors 31. dot11STAStatistics RSNAStats TKIPReplays 32. dot11STAStatistics RSNAStats CCMPDecrypt Errors 33. dot11STAStatistics RSNAStats CCMPReplays 34. dot11STAStatistics Transmitted AMSDUCount 35. dot11STAStatisti cs Failed AMSDUCount 36. dot11STAStatistics Retry AMSDUCount 37. dot11STAStatistics Multiple Retry AMSDUCount 38. dot11STAStatistics AMSDUAck Failure Count 39. dot11STAStatistics Received AMSDUCount 40. dot11STAStatistics Transmitted AMPDUCount 41. dot11ST AStatistics Transmitted MPDUs In AMPDUCount 42. dot11STAStatistics AMPDUReceived Count 43. dot11STAStatistics MPDUIn Received AMPDUCount 44. dot11STAStatistics AMPDUDelimiter CRCError Count 45. dot11STAStatistics Implicit BARFailure Count 46. dot11STAStati stics Explicit BARFailure Count 47. dot11STAStatistics Channel Width Switch Count 48. dot11STAStatistics Twenty MHz Frame Transmitted Count 49. dot11STAStatistics Forty MHz Frame Transmitted Count 50. dot11STAStatistics Twenty MHz Frame Received Count 51. dot11STAStatistics Forty MHz Frame Received Count 52. dot11STAStatistics PSMPUTTGrant Duration 53. dot11STAStatistics PSMPUTTUsed Duration 54. dot11STAStatistics Granted RDGUsed Count 55. dot11STAStatistics Granted RDGUnused Count 56. dot11STAStatistics Tr ansmitted Frames In Granted RDGCount 57. dot11STAStatistics Dual CTSSuccess Count 58. dot11STAStatistics Dual CTSFailure Count 59. dot11STAStatistics RTSLSIGSuccess Count 60. dot11STAStatistics RTSLSIGFailure Count 61. dot11STAStatistics Beamforming Frame Count 62. dot11STAStatistics STBCCTSSuccess Count 63. dot11STAStatistics STBCCTSFailure Count 64. dot11STAStatisticsnon STBCCTSSuccess Count 65. dot11STAStatisticsnon STBCCTSFailure Count

functie WEth_TriggerPriorityQueueTransmit [SWS_WEth_10071] 📄 PDF

Std_ReturnType WEth_TriggerPriorityQueueTransmit(uint8 CtrlId, uint8 PriorityQueue, uint8 MaxTxPower);

Triggers transmission of a previously filled transmit buffer that is waiting in a software priority queue.

functie WEth_ImmediateTransmit [SWS_WEth_91001] 📄 PDF

Std_ReturnType WEth_ImmediateTransmit(uint8 CtrlIdx, Eth_BufIdxType TxHandleId, uint8 Priority, ListElemStructType* HeaderListPtr, uint8* PayloadPtr, uint16 PayloadLength);

Request transmission of an Ethernet frame, where each upper layer a header part as element of a single linked list. All headers together with the payload form an entire Ethernet frame Tags: atp.Status=draft

type WEth_BufWTxParamIdType [SWS_WEth_10013] 📄 PDF

Wireless radio parameters for a packet that has to be transmitted.

requirement SWS_WEth_00003 [SWS_WEth_00003] 📄 PDF

The Wireless Ethernet Driver is using a zero - based index to abstract the access for upper software layers. The parameter WEth_CtrlId within configuration corresponds to parameter CtrlId used in the API.

requirement SWS_WEth_00004 [SWS_WEth_00004] 📄 PDF

A buffer index ( BufId) indent ifies a Wireless Ethernet buffer processed by Wireless Ethernet Driver API functions. Each controller’s buffers are identified by buffer indexes 0 to (n - 1) where n is the number of buffers processed by the corresponding controller. Buffer indexes are valid within a tuple <CtrlId, BufId> only. A BufId uniquely identifies the buffer used for a Wireless Ethernet Driver.

requirement SWS_WEth_00005 [SWS_WEth_00005] 📄 PDF

The Wireless Ethernet Driver module shall support pre - com pile time, link time and post - build time configuration.

requirement SWS_WEth_00008 [SWS_WEth_00008] 📄 PDF

In case development error detection is enabled for the Wireless Ethernet Driver module: The Wireless Ethernet Driver module shall check API parameters for validity and report detected errors to the DET.

requirement SWS_WEth_00016 [SWS_WEth_00016] 📄 PDF

Type of error Related error code Error value Invalid controller index WETH_ E_ INV_ CTRL_ ID 0x01 WEth module was not initialized WETH_ E_ UNINIT 0x02 Invalid pointer in parameter list WETH_ E_ PARAM_ POINTER 0x03

requirement SWS_WEth_00026 [SWS_WEth_00026] 📄 PDF

Module Header File Imported Type Com Stack_ Types Com Stack_ Types.h Buf Req _ Return Type Dem Rte_ Dem_ Type.h Dem _ Event Id Type Rte_ Dem_ Type.h Dem _ Event Status Type Eth Eth_ General Types.h Eth _ Buf Idx Type Eth_ General Types.h Eth _ Data Type Eth_ General Types.h Eth _ Filter Action Type Eth_ General Types.h Eth _ Frame Type Eth_ General Types.h Eth _ Mode Type (draft) Eth_ General Types.h Eth _ Rx Status Type Std Std_ Types.h Std _ Return Type Std_ Types.h Std _ Version Info Type

requirement SWS_WEth_00040 [SWS_WEth_00040] 📄 PDF

The Wireless Ethernet Driver module shall reject configurations with partition mappings, which are not supported by the implementation.

requirement SWS_WEth_00042 [SWS_WEth_00042] 📄 PDF

[SWS_WEth_00042] ⌈The function shall: • Put the controller in the specified mode given in the parameter ’CtrlMode’ – Upon mode ETH_MODE_DOWN the driver shall: * Disable the Wireless Ethernet controller * Reset all transmit and receive buffers (i.e. ignore all pending transmis- sion and reception requests) – Upon mode ETH_MODE_ACTIVE: * Enable all transmit and receive buffers * Enable the Wireless Ethernet controller ⌋

requirement SWS_WEth_00043 [SWS_WEth_00043] 📄 PDF

[SWS_WEth_00043] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋

requirement SWS_WEth_00044 [SWS_WEth_00044] 📄 PDF

[SWS_WEth_00044] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋

requirement SWS_WEth_00045 [SWS_WEth_00045] 📄 PDF

[SWS_WEth_00045] ⌈Caveat: The function requires previous controller initialization (WEth_Init).⌋

requirement SWS_WEth_00047 [SWS_WEth_00047] 📄 PDF

[SWS_WEth_00047] ⌈The function shall read the current controller mode.⌋

requirement SWS_WEth_00048 [SWS_WEth_00048] 📄 PDF

[SWS_WEth_00048] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋

requirement SWS_WEth_00049 [SWS_WEth_00049] 📄 PDF

[SWS_WEth_00049] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋

requirement SWS_WEth_00050 [SWS_WEth_00050] 📄 PDF

[SWS_WEth_00050] ⌈If development error detection is enabled: the function shall check the parameter CtrlModePtr for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋

requirement SWS_WEth_00051 [SWS_WEth_00051] 📄 PDF

[SWS_WEth_00051] ⌈Caveat: The function requires previous controller initialization (WEth_Init).⌋

requirement SWS_WEth_00059 [SWS_WEth_00059] 📄 PDF

Th e function shall write the specified parameters in the transceivers registers for the indexed radio through a controller specific bus interface of the indexed controller.

requirement SWS_WEth_00060 [SWS_WEth_00060] 📄 PDF

[SWS_WEth_00060] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋()

requirement SWS_WEth_00061 [SWS_WEth_00061] 📄 PDF

[SWS_WEth_00061] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋()

requirement SWS_WEth_00063 [SWS_WEth_00063] 📄 PDF

[SWS_WEth_00063] ⌈Caveat: The function requires previous controller initialization (WEth_Init).⌋()

requirement SWS_WEth_00065 [SWS_WEth_00065] 📄 PDF

[SWS_WEth_00065] ⌈The function shall read the specified transceiver register through the MII of the indexed controller.⌋()

requirement SWS_WEth_00066 [SWS_WEth_00066] 📄 PDF

If development error detection is enabled: the function shall check that the service W Eth_Init was previously called . If the check fails, the function shall raise the development error W ETH_E_UNINIT .

requirement SWS_WEth_00067 [SWS_WEth_00067] 📄 PDF

If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid . If the check fails, the function shall raise the development error W ETH_E_INV_CTRL_IDX .

requirement SWS_WEth_00068 [SWS_WEth_00068] 📄 PDF

If development error detection is e nabled: the function shall check the parameter RegValPtr for being valid . If the check fails, the function shall raise the development error W ETH_E_PARAM_POINTER .

requirement SWS_WEth_00070 [SWS_WEth_00070] 📄 PDF

[SWS_WEth_00070] ⌈Caveat: The function requires previous controller initialization (WEth_Init).⌋()

requirement SWS_WEth_00078 [SWS_WEth_00078] 📄 PDF

[SWS_WEth_00078] ⌈The function shall provide a transmit buffer resource. The Wire- less Ethernet Driver shall lock the buffer until it receives a subsequent call of WEth_ Transmit service with the buffer index returned in the BufIdxPtr parameter.⌋

requirement SWS_WEth_00079 [SWS_WEth_00079] 📄 PDF

[SWS_WEth_00079] ⌈If a buffer requested with WEth_ProvideTxBuffer that is larger than the available buffer length, the buffer shall not be locked but return the available length and BUFREQ_E_OVFL.⌋

requirement SWS_WEth_00080 [SWS_WEth_00080] 📄 PDF

[SWS_WEth_00080] ⌈If all available buffers are in use the component shall return BUFREQ_E_BUSY.⌋

requirement SWS_WEth_00081 [SWS_WEth_00081] 📄 PDF

[SWS_WEth_00081] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋

requirement SWS_WEth_00082 [SWS_WEth_00082] 📄 PDF

[SWS_WEth_00082] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋

requirement SWS_WEth_00083 [SWS_WEth_00083] 📄 PDF

[SWS_WEth_00083] ⌈If development error detection is enabled: the function shall check the parameter BufIdxPtr for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋

requirement SWS_WEth_00084 [SWS_WEth_00084] 📄 PDF

[SWS_WEth_00084] ⌈If development error detection is enabled: the function shall check the parameter BufPtr for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋

requirement SWS_WEth_00085 [SWS_WEth_00085] 📄 PDF

[SWS_WEth_00085] ⌈If development error detection is enabled: the function shall check the parameter LenBytePtr for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋

requirement SWS_WEth_00086 [SWS_WEth_00086] 📄 PDF

[SWS_WEth_00086] ⌈Caveat: The function requires previous controller initialization (WEth_Init).⌋

requirement SWS_WEth_00088 [SWS_WEth_00088] 📄 PDF

[SWS_WEth_00088] ⌈The function shall build the Ethernet header with the given phys- ical target address (MAC address) and trigger the transmission of a previously filled transmit buffer.⌋ After transmission, the driver needs to release the allocated buffer. It is up to the implementation when the actual buffer release shall occur, e.g. within the context of the WEth_TxConfirmation, the WEth_MainFunction, or during the next WEth_ ProvideTxBuffer.

requirement SWS_WEth_00090 [SWS_WEth_00090] 📄 PDF

[SWS_WEth_00090] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋

requirement SWS_WEth_00091 [SWS_WEth_00091] 📄 PDF

[SWS_WEth_00091] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋

requirement SWS_WEth_00092 [SWS_WEth_00092] 📄 PDF

[SWS_WEth_00092] ⌈If development error detection is enabled: the function shall check the parameter BufIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_PARAM.⌋

requirement SWS_WEth_00093 [SWS_WEth_00093] 📄 PDF

[SWS_WEth_00093] ⌈If development error detection is enabled: the function shall check the parameter PhysAddrPtr for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋

requirement SWS_WEth_00094 [SWS_WEth_00094] 📄 PDF

[SWS_WEth_00094] ⌈Caveat: The function requires previous buffer request (WEth_ ProvideTxBuffer).⌋

requirement SWS_WEth_00096 [SWS_WEth_00096] 📄 PDF

[SWS_WEth_00096] ⌈The function shall read the next frame from the receive buffers. The function passes the received frame to the Ethernet interface using the callback function WEthIf_RxIndication and indicates if there are more frames in the receive buffers.⌋

requirement SWS_WEth_00097 [SWS_WEth_00097] 📄 PDF

[SWS_WEth_00097] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋

requirement SWS_WEth_00098 [SWS_WEth_00098] 📄 PDF

[SWS_WEth_00098] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋

requirement SWS_WEth_00099 [SWS_WEth_00099] 📄 PDF

[SWS_WEth_00099] ⌈Caveat: The function requires previous controller initialization (WEth_Init).⌋

requirement SWS_WEth_00101 [SWS_WEth_00101] 📄 PDF

[SWS_WEth_00101] ⌈The function shall check all filled transmit buffers for successful transmission. The function issues transmit confirmation for each transmitted frame using the callback function EthIf_TxConfirmation if requested by the previous call of WEth_Transmit service.⌋

requirement SWS_WEth_00102 [SWS_WEth_00102] 📄 PDF

[SWS_WEth_00102] ⌈If transmission confirmation was enabled by a previous call to WEth_Transmit function the function shall release the buffer resource.⌋

requirement SWS_WEth_00103 [SWS_WEth_00103] 📄 PDF

If development error detection is enabled: the function shall check that the service W Eth_Init was previously called . If the check fails, the function shall raise the development error W ETH_E_UNINIT .

requirement SWS_WEth_00104 [SWS_WEth_00104] 📄 PDF

If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid . If the check fails, the function shall raise the development error W ETH_E_INV_CTRL_IDX .

requirement SWS_WEth_00105 [SWS_WEth_00105] 📄 PDF

[SWS_WEth_00105] ⌈Caveat: The function requires previous initialization (WEth_ Init).⌋

requirement SWS_WEth_00119 [SWS_WEth_00119] 📄 PDF

Dem _ Set - Event Status Dem.h Called by SW - Cs or BSW modules to report monitor status information to the Dem. BSW modules calling Dem_ Set Event Status can safely ignore the return value. This API will be available only if ({Dem/ Dem Config Set/ Dem Event Parameter/ Dem Event Reporting Type} == STANDARD_ REPORTING) Eth If _ Ctrl - Mode - Indication Eth If.h Called asynchronously when mode has been read out. Triggered by previous Eth_ Set Controller Mode call. Can directly be called within the trigger functions. Eth If _ Get - Version Info E th If.h Returns the version information of this module Eth If _ Main - Function Rx Sch M_ Eth If.h The function checks for new received frames and issues reception indications in polling mode. Eth If _ Main - Function Tx Sch M_ Eth If.h The function issues t ransmission confirmations in polling mode. It checks also for transceiver state changes. Eth If _ Rx - Indication Eth If.h Handles a received frame received by the indexed controller Eth If _ Tx - Confirmation Eth If.h Confirms frame transmission by the indexed controller

requirement SWS_WEth_00129 [SWS_WEth_00129] 📄 PDF

[SWS_WEth_00129] ⌈If development error detection is enabled: the function shall check the controller mode for being active (ETH_MODE_ACTIVE). If the check fails, the function shall raise the development error WETH_E_INV_MODE.⌋

requirement SWS_WEth_00132 [SWS_WEth_00132] 📄 PDF

[SWS_WEth_00132] ⌈If development error detection is enabled: the function shall check the controller mode for being active (ETH_MODE_ACTIVE). If the check fails, the function shall raise the development error WETH_E_INV_MODE.⌋

requirement SWS_WEth_00134 [SWS_WEth_00134] 📄 PDF

If development error detection is enabled: the function shall check the controller mode for being active (ETH_MODE_ACTIVE). If the check fails, the function shall raise the development error W ETH_E_INV_MODE.

requirement SWS_WEth_00136 [SWS_WEth_00136] 📄 PDF

[SWS_WEth_00136] ⌈If development error detection is enabled: the function shall check the parameter VersionInfoPtr for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

requirement SWS_WEth_00144 [SWS_WEth_00144] 📄 PDF

[SWS_WEth_00144] ⌈If the physical source address (MAC address) is set to FF:FF:FF: FF:FF:FF, this shall completely open the filter.⌋

requirement SWS_WEth_00146 [SWS_WEth_00146] 📄 PDF

[SWS_WEth_00146] ⌈If this API is used and the hardware does not support filtering, promiscuous mode shall be enabled during initialization.⌋

requirement SWS_WEth_00147 [SWS_WEth_00147] 📄 PDF

If the physical source address (MAC address) is set to 00 : 00 : 00 : 00 : 00 : 00 , this shall reduce the filter to the controllers unique unicast MAC address and end promiscuous mode if it was turned on .

requirement SWS_WEth_00150 [SWS_WEth_00150] 📄 PDF

[SWS_WEth_00150] ⌈The function shall update the physical address receive filter of the indexed controller.⌋

requirement SWS_WEth_00153 [SWS_WEth_00153] 📄 PDF

[SWS_WEth_00153] ⌈When calling the callback function WEthIf_RxIndication broad- cast frames shall be indicated to the Ethernet Interface (see [9]).⌋

requirement SWS_WEth_00164 [SWS_WEth_00164] 📄 PDF

If development error detection is enabled: the function shall check that the service W Eth_Init was previously called . If the check fails, the function shall raise the development error W ETH_E_UNINIT .

requirement SWS_WEth_00165 [SWS_WEth_00165] 📄 PDF

If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid . If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX .

requirement SWS_WEth_00166 [SWS_WEth_00166] 📄 PDF

If development error detection is enabled the function shall check t he parameter PhysAddrPtr for being valid . If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER .

requirement SWS_WEth_00167 [SWS_WEth_00167] 📄 PDF

Caveat: The function requires previous controller initialization ( Eth_Init ).

requirement SWS_WEth_00168 [SWS_WEth_00168] 📄 PDF

[SWS_WEth_00168] ⌈The function shall check the access to the Wireless Ethernet controller. If the check fails, the function shall raise the production error WETH_E_ ACCESS and return E_NOT_OK.⌋

requirement SWS_WEth_00173 [SWS_WEth_00173] 📄 PDF

Error Name: WETH_ E_ACCESS Short Description: Wireless Ethernet Controller Access Failure. Long Description: Monitors the access to the Wireless Ethernet Controller in the context of the WEth_MainFunction. . Detection Criteria: Fail When polling for sta te changes of the Wireless Ethernet Controller fails the module shall report the extended production error with event status DEM_EVENT_STATUS_PREFAILED to DEM. Pass When polling for state changes of the Wireless Ethernet Controller succeeds the module sh all report the extended production error with event status DEM_EVENT_STATUS_PREPASSED to DEM. Secondary Parameters: None . Time Required: None. Monitor Frequency None .

requirement SWS_WEth_00218 [SWS_WEth_00218] 📄 PDF

The Wireless Ethern et Driver shall ensure that the base addresses of all reception and transmission buffers fulfill the memory alignment requirements for all AUTOSAR data types of the respective platform such that efficient DMA and Memcopy operations are possible.

requirement SWS_WEth_00234 [SWS_WEth_00234] 📄 PDF

The function shall read a list of values from the indexed controller according to [17] .

requirement SWS_WEth_00235 [SWS_WEth_00235] 📄 PDF

[SWS_WEth_00235] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋()

requirement SWS_WEth_00236 [SWS_WEth_00236] 📄 PDF

[SWS_WEth_00236] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋()

requirement SWS_WEth_00237 [SWS_WEth_00237] 📄 PDF

[SWS_WEth_00237] ⌈If development error detection is enabled: the function shall check the parameter RxStats for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

requirement SWS_WEth_00238 [SWS_WEth_00238] 📄 PDF

The function WEth_GetWEthertStats 32 shall be pre compile time configurable On/Off by the configuration parameter: W EthGetWEtherSta tsApi.

requirement SWS_WEth_00240 [SWS_WEth_00240] 📄 PDF

Used for polling state changes. Calls EthIf_CtrlModeIndication when the controller mode changed.

requirement SWS_WEth_00243 [SWS_WEth_00243] 📄 PDF

[SWS_WEth_00243] Upstream requirements: SRS_BSW_00359 ⌈Wireless Ethernet Driver shall call EthIf_TxConfirmation to indicate a successful transmission from the Interrupt routine (if the notification has been enabled).⌋

requirement SWS_WEth_00244 [SWS_WEth_00244] 📄 PDF

Wireless Ethernet Driver shall call EthIf_RxIndication to indicate a successful reception from the Interrupt routine .

requirement SWS_WEth_00245 [SWS_WEth_00245] 📄 PDF

[SWS_WEth_00245] ⌈The Wireless Ethernet driver module will receive a frame when the destination Address match the PhyAddrPtr passed here. (e.g matching can be done via hash table or simple pattern matching)⌋ Note: Underlying HW mechanism can be used if available. Otherwise the Ethernet driver needs to do this by software.

requirement SWS_WEth_00246 [SWS_WEth_00246] 📄 PDF

[SWS_WEth_00246] ⌈If the matching is positive, the upper layer shall be notified by calling RxIndication() callback. If the matching is negative, the frame shall be discarded.⌋

requirement SWS_WEth_00256 [SWS_WEth_00256] 📄 PDF

[SWS_WEth_00256] Call of EthIf_TxConfirmation with result set to E_NOT_OK. Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_Eth_00191 ⌈Wireless Ethernet SW Driver shall call EthIf_TxConfirmation with Result set to E_NOT_OK if the transmission failed.⌋

requirement SWS_WEth_00280 [SWS_WEth_00280] 📄 PDF

[SWS_WEth_00280] Release all locked transmission buffer of an Ethernet con- troller for wireless communication Status: DRAFT Upstream requirements: SRS_Eth_00191 ⌈All locked transmit buffers shall be released if the Rx/Tx communication of the indexed controller is disabled via WEth_SetControllerMode.⌋

requirement SWS_WEth_00281 [SWS_WEth_00281] 📄 PDF

[SWS_WEth_00281] Release all locked transmission buffer of an Ethernet con- troller for wireless communication Status: DRAFT Upstream requirements: SRS_Eth_00191 ⌈All pending transmit buffers shall be released if the Rx/Tx communication of the in- dexed controller is disabled via WEth_SetControllerMode.⌋

requirement SWS_WEth_00313 [SWS_WEth_00313] 📄 PDF

[SWS_WEth_00313] Precondition checks for transmission request with direct data provision Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_BSW_00350, SRS_BSW_00386 ⌈If WEth_ImmediateTransmit has been called and the given CtrlIdx has a trans- mission buffer configured, then the Ethernet driver shall perform the following precon- dition checks in the following order: 1. If the Ethernet frame, which is requested to be transmitted, matches the config- ured priority of the transmission buffer at the given CtrlIdx, then skip the next precondition check and proceed. Otherwise report runtime error WETH_E_UN- KNOWN_EGRESS_PRIORITY and procceed. 2. If the Ethernet frame could be enqueued in a transmission buffer at the given CtrlIdx where no priority is configured (i.e. try to enqueue the Ethernet frame in a default transmission queue (see [SWS_WEth_CONSTR_00311])), then pro- ceed. Otherwise return with E_NOT_OK. 3. If on transmission buffer is available, then proceed. Otherwise report an runtime error error code WETH_E_EGRESS_QUEUE_OCCUPIED and return with E_NOT_- OK If all precondition checks passed successfully, then proceed with the evaluation of the Ethernet frame.⌋

requirement SWS_WEth_00314 [SWS_WEth_00314] 📄 PDF

[SWS_WEth_00314] Evaluation of an Ethernet frame given with WEth_Immedi- ateTransmit transmit request Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_BSW_00350, SRS_BSW_00386 ⌈If WEth_ImmediateTransmit has been called, a transmission buffer is reserved and the Wireless Ethernet driver is requested to evaluate the given Ethernet frame parts (according to [SWS_WEth_00313]), then the Wireless Ethernet driver shall eval- uate the given single linked list given with HeaderListPtr and the payload Pay- loadPtr and payload length PayloadLength by considering the following steps: 1. Traverse the single linked list given with HeaderListPtr by starting with the first element HeaderListPtr and continue with next element of the single linked list given with NextListElemPtr until an element of the single linked list is reached where NextListElemPtr is set to NULL_PTR. Perform the following action at each element of the single linked list: • Store the the given data location (DataPtr) and the given data length ( DataLength) • accumulate the DataLength) 2. calculate the overall length by considering accumulated DataLength of all single linked list elements and the length of payload given with PayloadLength If the calculated Ethernet frame length is larger then the available egress queue ele- ment, then abort the evaluation and return with E_NOT_OK, or if WEthDevErrorDe- tect is set to TRUE, WEth driver shall call Det_ReportError with the error code WETH_E_EXCEED_EGRESS_QUEUE_ELEMENT. Otherwise proceed with construction of the Ethernet frame.⌋

requirement SWS_WEth_00315 [SWS_WEth_00315] 📄 PDF

[SWS_WEth_00315] Construction of an Ethernet frame given with WEth_Imme- diateTransmit transmit request and WEthCtrlEnableEgressHardwareSup- portedDataTransfer is set to FALSE Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_BSW_00350, SRS_BSW_00386 ⌈If WEth_ImmediateTransmit has been called, a transmission buffer is reserved, the Wireless Ethernet driver is requested to construct the Ethernet frame (according to [SWS_WEth_00314]) and WEthCtrlEnableEgressHardwareSupportedData- Transfer is set to FALSE, then the Ethernet driver shall consider the following con- struction steps: • iterate over the stored list of header pointers (see [SWS_WEth_00314]) and per- form for each header the following step: – Copy data from the given data location (DataPtr) with respect to the given data length (DataLength) to the next available position in reserved trans- mission buffer element in consecutive order without gaps and continue • copy payload data from the given location PayloadPtr with respect to the given length (PayloadLength) to the next available position in the transmission buffer in consecutive order without gaps • trigger a transmission for content of this transmission buffer • store the given TxHandleId with the used transmission buffer index and the given CtrlIdx ⌋

requirement SWS_WEth_00316 [SWS_WEth_00316] 📄 PDF

[SWS_WEth_00316] Construction of an Ethernet frame given with WEth_Imme- diateTransmit transmit request and WEthCtrlEnableEgressHardwareSup- portedDataTransfer is set to TRUE Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_BSW_00350, SRS_BSW_00386 ⌈If WEth_ImmediateTransmit has been called, a transmission buffer is reserved, the Wireless Ethernet driver is requested to construct the Ethernet frame (according to [SWS_WEth_00314]) and WEthCtrlEnableEgressHardwareSupportedData- Transfer is set to TRUE, then the Wireless Ethernet driver shall consider the following construction steps: • iterate over the stored list of header pointers (see [SWS_WEth_00314])and per- form for each header to the following steps: – if the given header length (DataLength) of a list element exceeds the configured WEthCtrEgressHardwareSupportedDataTransfer- Threshold, then the Ethernet driver shall prepare a hardware supported transfer with respect to the given header length (DataLength) and header location (DataPtr), trigger the data transfer and reserve space according the given DataLength in the reserved transmission buffer element, store the data transfer session handle (by considering given TxHandleId, Ctr- lIdx and transmission buffer index) and continue at next available position + DataLength + 1 of the transmission buffer – if the given length (DataLength) is equal or smaller than the configured WEthCtrEgressHardwareSupportedDataTransferThreshold, then the Ethernet driver shall copy data from the given header location (Dat- aPtr) with respect to the given header length (DataLength) to the next available position in reserved transmission buffer element in consecutive or- der and continue • check the payload length given with (PayloadLength) – if the given payload length (PayloadLength) of a list element exceeds the configured WEthCtrEgressHardwareSupportedDataTransfer- Threshold, then the Wireless Ethernet driver shall prepare a hard- ware supported transfer with respect to the given payload length (Pay- loadLength) and payload location (PayloadPtr), trigger the data transfer and reserve space according the given PayloadLengthin the transmission buffer, store the data transfer session handle (by considering given TxHan- dleId, CtrlIdx and transmission buffer index) – if the given payload length (PayloadLength) is equal or smaller than the configured WEthCtrEgressHardwareSupportedDataTransfer- Threshold, then the Ethernet driver shall copy the payload from the given payload location (PayloadPtr) with respect to the given payload length ( PayloadLength) to the next available position in reserved transmission buffer element in consecutive order • store the given TxHandleId with the used transmission buffer index and the given CtrlIdx ⌋ Note: The mapping of TxHandleId with the used transmission buffer index and the given CtrlIdx are used to identify the provided TxHandleId, which is needed if confirmation of the transmission has to be indicated via WEth_TxConfirmation. All sessions for hardware supported data transfer which relate to the same transmis- sion buffer need to be confirmed by hardware. Therefore the Ethernet driver needs to supervise the state of triggered hardware supported data transfer in relation to the affected TxHandleId, CtrlIdx and transmission buffer index. After all data transfers which relate to the same transmission buffer have been finalized, the transmission for this transmission buffer can be triggered.

requirement SWS_WEth_00317 [SWS_WEth_00317] 📄 PDF

[SWS_WEth_00317] Handling if a hardware supported data transfer for a specific transmission request has been finalized Status: DRAFT Upstream requirements: SRS_Eth_00189, SRS_BSW_00350, SRS_BSW_00386 ⌈If WEth_ImmediateTransmit has been called, WEthCtrlEnableEgressHard- wareSupportedDataTransfer is set to TRUE and all data transfer sessions have confirmed successful transfer for a specific transmission buffer, then the Wireless Eth- ernet driver shall perform the following actions: • remove all data transfer session handles which are associated with this transmis- sion buffer • trigger a transmission of the content of this transmission buffer0311 ⌋ Please note: Mapping of the transmission buffer index and the given CtrlIdx to TxHandleId is needed for asynchronous check in the EthIf_MainFunctionTx or within an interrupt.

requirement SWS_WEth_00318 [SWS_WEth_00318] 📄 PDF

[SWS_WEth_00318] Value range of the returned buffer index Status: DRAFT Upstream requirements: SRS_Eth_00191 ⌈The returned buffer index value of type Eth_BufIdxType shall be greater than 216-1. The value range for the buffer index shall be: • 0x00 01 00 00 ... 0xFF FF FF FF: valid • 0x00 00 00 00 ... 0x00 00 FF FF: reserved for TxHandleId of WEth_Immedi- ateTransmit ⌋ Note: Constraining the buffer index is needed, since TxHandleId of WEth_Immedi- ateTransmit used for direct data provision (used as PDU-ID) and BufIdxPtr of WEth_ProvideTxBuffer used for indirect data provision could overlap. EthIf need an unambiguous id (non-overlapping value range) that corresponds to a transmission request, to idenfy the affected tranmssion request for transmission confirmation via EthIf_TxConfirmation.

requirement SWS_WEth_10001 [SWS_WEth_10001] 📄 PDF

If the Wireless Ethernet controller is on - chip, the Wireless Ethernet Driver module shall not use any service of other drivers.

requirement SWS_WEth_10002 [SWS_WEth_10002] 📄 PDF

The function WEth_Init shall initialize all on - chip hardware resources that are used by the Wireless Ethernet con troller.

requirement SWS_WEth_10003 [SWS_WEth_10003] 📄 PDF

If an off - chip Wireless Ethernet controller is used 1 , the Wireless Ethernet driver shall use services o f other MCAL drivers (e.g. SPI).

requirement SWS_WEth_10004 [SWS_WEth_10004] 📄 PDF

All the Wireless Ethernet driver interfaces shall be implemented in a non - blocking manner. In cases where the action can be performed imm ediately and atomically, the confirmation is reported in the request function's return code. Alternatively, the initiation of an action is performed by a call to a 'request' function and the result of the action is reported by a corresponding 'confirm' cal lback.

requirement SWS_WEth_10005 [SWS_WEth_10005] 📄 PDF

The Wireless Ethernet Driver shall provide an API WEth_GetBufWRxParams that can provide a list of buffer based reception parameters .

requirement SWS_WEth_10006 [SWS_WEth_10006] 📄 PDF

The Wireless Ethernet Driver shall provide an API WEth_SetBufWTxParams that sets a list of buffer based transmission parameters .

requirement SWS_WEth_10007 [SWS_WEth_10007] 📄 PDF

The Wireless Ethernet Driver shall provide an API that enables the Wireless Ethernet Transceiver to set the general radio specific parameters via an API WEth_WriteTrcvRegs to the transceiver.

requirement SWS_WEth_10008 [SWS_WEth_10008] 📄 PDF

[SWS_WEth_10008] Upstream requirements: SRS_V2X_00451 ⌈The Wireless Ethernet Driver shall provide an API that enables the Wireless Ethernet Transceiver to get the general radio specific parameters via an API WEth_ReadTrcv Regs from the transceiver.⌋

requirement SWS_WEth_10009 [SWS_WEth_10009] 📄 PDF

[SWS_WEth_10009] ⌈For reception the Wireless Ethernet Controller shall enable hardware capabilities to discard frames with incorrect Frame Check Sequence (FCS).⌋ (SRS_V2X_00391)

requirement SWS_WEth_10026 [SWS_WEth_10026] 📄 PDF

The function shall read a list of values from the indexed controller according to [17] .

requirement SWS_WEth_10027 [SWS_WEth_10027] 📄 PDF

The function WEth_GetWEthertStats 64 shall be pre compile time configurable On/Off by the configuration parameter: W EthGetWEtherStatsApi.

requirement SWS_WEth_10030 [SWS_WEth_10030] 📄 PDF

[SWS_WEth_10030] ⌈If development error detection is enabled: the function shall check the parameter RegIds for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

requirement SWS_WEth_10031 [SWS_WEth_10031] 📄 PDF

[SWS_WEth_10031] ⌈If development error detection is enabled: the function shall check the parameter RegVals for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

requirement SWS_WEth_10034 [SWS_WEth_10034] 📄 PDF

[SWS_WEth_10034] ⌈If development error detection is enabled: the function shall check the parameter RegIds for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

requirement SWS_WEth_10035 [SWS_WEth_10035] 📄 PDF

[SWS_WEth_10035] ⌈If development error detection is enabled: the function shall check the parameter RegVals for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

requirement SWS_WEth_10037 [SWS_WEth_10037] 📄 PDF

The Wireless Ethernet Driver shall provide an API WEth_GetBufWTxParams that can provide a list of buffer based transmission parameters .

requirement SWS_WEth_10038 [SWS_WEth_10038] 📄 PDF

The API WEth_ GetBufWRxParams shall read properties of type WEth_BufWRxParamIdType of the access l ayer properties of a received packet.

requirement SWS_WEth_10039 [SWS_WEth_10039] 📄 PDF

If development error detection is enabled: the function shall check that the service WEth_Init was previously called . If the check fails, the function shall raise the development error WETH_E_UNINIT .

requirement SWS_WEth_10040 [SWS_WEth_10040] 📄 PDF

If development erro r detection is enabled: the function shall check the parameter CtrlId for being valid . If the check fails, the function shall raise the development error WETH_E_INV_CTRL_ID .

requirement SWS_WEth_10041 [SWS_WEth_10041] 📄 PDF

[SWS_WEth_10041] ⌈If development error detection is enabled: the function shall check the parameter RxParamIds for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

requirement SWS_WEth_10042 [SWS_WEth_10042] 📄 PDF

[SWS_WEth_10042] ⌈If development error detection is enabled: the function shall check the parameter ParamValues for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

requirement SWS_WEth_10045 [SWS_WEth_10045] 📄 PDF

The API W Eth_ GetBufWTxParams sha ll read properties of type WEth_BufWTxParamIdType of the access layer properties of a received packet.

requirement SWS_WEth_10046 [SWS_WEth_10046] 📄 PDF

If development error detection is enabled: the function shall check tha t the service WEth_Init was previously called . If the check fails, the function shall raise the development error WETH_E_UNINIT .

requirement SWS_WEth_10047 [SWS_WEth_10047] 📄 PDF

If development error detection is enabled: the function shall check the parameter CtrlId f or being valid . If the check fails, the function shall raise the development error WETH_E_INV_CTRL_ID .

requirement SWS_WEth_10048 [SWS_WEth_10048] 📄 PDF

[SWS_WEth_10048] ⌈If development error detection is enabled: the function shall check the parameter TxParamIds for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

requirement SWS_WEth_10049 [SWS_WEth_10049] 📄 PDF

[SWS_WEth_10049] ⌈If development error detection is enabled: the function shall check the parameter ParamValues for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

requirement SWS_WEth_10052 [SWS_WEth_10052] 📄 PDF

The API WEth_SetBufWTxParams shall set properties of type WEth_BufWTxParamIdType of the access layer properties for a packet to be sent.

requirement SWS_WEth_10053 [SWS_WEth_10053] 📄 PDF

If develop ment error detection is enabled: the function shall check that the service WEth _Init was previously called . If the check fails, the function shall raise the development error WETH _E_NOT_INITIALIZED .

requirement SWS_WEth_10054 [SWS_WEth_10054] 📄 PDF

If development error detection i s enabled: the function shall check the parameter CtrlId for being valid . If the check fails, the function shall raise the development error WETH_E_INV_CTRL_ID .

requirement SWS_WEth_10055 [SWS_WEth_10055] 📄 PDF

If development error detection is enabled: the function shall check the parameter BufId for being valid . If the check fails, the function shall raise the development error WETH_E_INV_PARAM .

requirement SWS_WEth_10056 [SWS_WEth_10056] 📄 PDF

[SWS_WEth_10056] ⌈If development error detection is enabled: the function shall check the parameter TxParamIds for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

requirement SWS_WEth_10057 [SWS_WEth_10057] 📄 PDF

[SWS_WEth_10057] ⌈If development error detection is enabled: the function shall check the parameter ParamValues for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

requirement SWS_WEth_10059 [SWS_WEth_10059] 📄 PDF

Used for hardware / software imple mentation specific execution of cyclic tasks.

requirement SWS_WEth_10061 [SWS_WEth_10061] 📄 PDF

The module must ensure that within the interrupt/polling context of this function call, reception parameters of the wireless channel for the current buffer could be retrieved by the function WEth_GetBufWRxParams.

requirement SWS_WEth_10063 [SWS_WEth_10063] 📄 PDF

The module must ensure that within the interrupt/polling context of this function call, transmission parameters of the wireless channel for the current buffer could be retrieved by the function WEth_GetB ufWTxParams.

requirement SWS_WEth_10065 [SWS_WEth_10065] 📄 PDF

Functions using the type WEth_ BufWRxParamIdType shall use a list of uint 32 values for the list of corresponding val ues.

requirement SWS_WEth_10066 [SWS_WEth_10066] 📄 PDF

Functions using the type WEth_ BufWRxParamIdType shall use the following type mapping for the corresponding values: ParamId ParamValue Type WETH_BUFWRXPID_RSSI uint8 WETH_BUFWRXPID_CHANNEL_ID uint16 WETH_BUFWRXPID_FREQ uint 16 WETH_BUFWRXPID_TRANSACTION_ID _32 uint32 WETH_BUFWRXPID_ANTENNA_ID uint8

requirement SWS_WEth_10068 [SWS_WEth_10068] 📄 PDF

Function s using the WEth_ BufWTxParamIdType shall use the following type mapping for the corresponding values: ParamId ParamValue Type WETH_BUFWTXPID_POWER uint8 WETH_BUFWTXPID_CHANNEL_ID uint16 WETH_BUFWTXPID_QUEUE_ID uint8 WETH_BUFWTXPID_TRANSACTION_ID _16 ui nt16 WETH_BUFWTXPID_ANTENNA_ID uint8

requirement SWS_WEth_10235 [SWS_WEth_10235] 📄 PDF

[SWS_WEth_10235] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋()

requirement SWS_WEth_10236 [SWS_WEth_10236] 📄 PDF

[SWS_WEth_10236] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋()

requirement SWS_WEth_10237 [SWS_WEth_10237] 📄 PDF

[SWS_WEth_10237] ⌈If development error detection is enabled: the function shall check the parameter RxStats for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

requirement SWS_WEth_20235 [SWS_WEth_20235] 📄 PDF

The WEth module shall support at least the following DCC - Profiles defined ins ide [18] : DP0, DP1, DP2 and DP3 .  DP0, used for TC = 0  DP1: used for TC = 1  DP2: used for TC = 2  DP3: used for other low priority messages with TC > 2

requirement SWS_WEth_20242 [SWS_WEth_20242] 📄 PDF

The WEth module shall discard a message with the DCC - Profile ID DP2 in the DCC_Access queues if a new message with the DCC - Profile ID DP2 arrives in the DCC_Access queues.

requirement SWS_WEth_CONSTR_00241 [SWS_WEth_CONSTR_00241] 📄 PDF

The module will operate as an independent instance in each of the partitions, means the called API will only target the partition it is called in.

requirement SWS_WEth_CONSTR_00242 [SWS_WEth_CONSTR_00242] 📄 PDF

If WEthEcucPartitionRef references one or more ECUC partitions, WEthCtrlEcucPartitionRef shall have a multiplicity of one and ref- erence one of these ECUC partitions as well.

requirement SWS_WEth_CONSTR_00311 [SWS_WEth_CONSTR_00311] 📄 PDF

[SWS_WEth_CONSTR_00311] At most one Transmission buffer with no priority per WEthCtrlConfig Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_Eth_00191, SRS_BSW_00350, SRS_BSW_- ⌈An WEthCtrlConfig shall have at most one transmission buffer with no priority con- figured.⌋ Note: A transmission buffer at the same Ethernet controller for wireless communica- tion with no priority configured, could be used as default transmission buffer where all Ethernet frames are added which could not be sorted in other transmission buffers.

requirement SWS_WEth_CONSTR_00312 [SWS_WEth_CONSTR_00312] 📄 PDF

[SWS_WEth_CONSTR_00312] A transmission buffer with no priority configured shall be handled with lowest priority Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_Eth_00191, SRS_BSW_00350, SRS_BSW_- ⌈A transmission buffer with no priority configured, shall be handled with lowest priority .⌋

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_WEth
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_WEth@rel:R20-11#f3024579
Content hash
f3024579
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_WirelessEthernetDriver.pdf#nameddest=SWS_WEth_00027

Themakaart

Initialisatie en status

2

Eisen

133
SWS_WEth_00003SWS_WEth_00004SWS_WEth_00005SWS_WEth_00008SWS_WEth_00016SWS_WEth_00026SWS_WEth_00040SWS_WEth_00042SWS_WEth_00043SWS_WEth_00044SWS_WEth_00045SWS_WEth_00047SWS_WEth_00048SWS_WEth_00049SWS_WEth_00050SWS_WEth_00051SWS_WEth_00059SWS_WEth_00060SWS_WEth_00061SWS_WEth_00063SWS_WEth_00065SWS_WEth_00066SWS_WEth_00067SWS_WEth_00068SWS_WEth_00070SWS_WEth_00078SWS_WEth_00079SWS_WEth_00080SWS_WEth_00081SWS_WEth_00082SWS_WEth_00083SWS_WEth_00084SWS_WEth_00085SWS_WEth_00086SWS_WEth_00088SWS_WEth_00090SWS_WEth_00091SWS_WEth_00092SWS_WEth_00093SWS_WEth_00094SWS_WEth_00096SWS_WEth_00097SWS_WEth_00098SWS_WEth_00099SWS_WEth_00101SWS_WEth_00102SWS_WEth_00103SWS_WEth_00104SWS_WEth_00105SWS_WEth_00119SWS_WEth_00120SWS_WEth_00129SWS_WEth_00132SWS_WEth_00134SWS_WEth_00136SWS_WEth_00144SWS_WEth_00146SWS_WEth_00147SWS_WEth_00150SWS_WEth_00153SWS_WEth_00164SWS_WEth_00165SWS_WEth_00166SWS_WEth_00167SWS_WEth_00168SWS_WEth_00173SWS_WEth_00218SWS_WEth_00234SWS_WEth_00235SWS_WEth_00236SWS_WEth_00237SWS_WEth_00238SWS_WEth_00240SWS_WEth_00243SWS_WEth_00244SWS_WEth_00245SWS_WEth_00246SWS_WEth_00256SWS_WEth_00280SWS_WEth_00281SWS_WEth_00313SWS_WEth_00314SWS_WEth_00315SWS_WEth_00316SWS_WEth_00317SWS_WEth_00318SWS_WEth_10001SWS_WEth_10002SWS_WEth_10003SWS_WEth_10004SWS_WEth_10005SWS_WEth_10006SWS_WEth_10007SWS_WEth_10008SWS_WEth_10009SWS_WEth_10026SWS_WEth_10027SWS_WEth_10030SWS_WEth_10031SWS_WEth_10034SWS_WEth_10035SWS_WEth_10037SWS_WEth_10038SWS_WEth_10039SWS_WEth_10040SWS_WEth_10041SWS_WEth_10042SWS_WEth_10045SWS_WEth_10046SWS_WEth_10047SWS_WEth_10048SWS_WEth_10049SWS_WEth_10052SWS_WEth_10053SWS_WEth_10054SWS_WEth_10055SWS_WEth_10056SWS_WEth_10057SWS_WEth_10059SWS_WEth_10061SWS_WEth_10063SWS_WEth_10065SWS_WEth_10066SWS_WEth_10068SWS_WEth_10235SWS_WEth_10236SWS_WEth_10237SWS_WEth_20235SWS_WEth_20242SWS_WEth_CONSTR_00241SWS_WEth_CONSTR_00242SWS_WEth_CONSTR_00311SWS_WEth_CONSTR_00312

Detailweergave

Kies een item in de inhoudsopgave.

Initialisatie en status

Returns the version information of this module

void WEth_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr);
WEth_Init functie

Initializes the Wireless Ethernet Driver

void WEth_Init(const WEth_ConfigType* CfgPtr);

Diensten

Provides access to a transmit buffer of the specified controller

BufReq_ReturnType WEth_ProvideTxBuffer(uint8 CtrlId, uint8 Priority, Eth_BufIdxType* BufIdPtr, uint8* * BufPtr, uint16* LenBytePtr);

Read out values related to the receive direction for a received packet. For example, this could be RSSI or Channel belonging to one single packet.This API is valid only within the context of WEth_ Receive

Std_ReturnType WEth_GetBufWRxParams(uint8 CtrlId, const WEth_BufWRxParamIdType* RxParamIds, uint32* ParamValues, uint8 NumParams);

Read out values related to the transmit direction for a transmitte d packet. For example, this could be transaction ID belonging to one single packet.This API is valid only within the context of WEth_ Tx Confirmation.

Std_ReturnType WEth_GetBufWTxParams(uint8 CtrlId, const WEth_BufWTxParamIdType* TxParamIds, uint32* ParamValues, uint8 NumParams);

Obtains the state of the indexed controller

Std_ReturnType WEth_GetControllerMode(uint8 CtrlId, Eth_ModeType* CtrlModePtr);

Obtains the physical source address used by the indexed controller

void WEth_GetPhysAddr(uint8 CtrlId, uint8* PhysAddrPtr);

Returns the following list according to IEEE 802.11 - 2012, where the maximal possible value shall denote an invalid value, e.g. if this counter is not available: 1. dot11STAStatistics Transmitted F ragment Count 2. dot11STAStatistics Group Transmitted Frame Count 3. dot11STAStatistics Failed Count 4. dot11STAStatistics Retry Count 5. dot11STAStatistics Multiple Retry Count 6. dot11STAStatistics Frame Duplicate Count 7. dot11STAStatistics RTSSuccess C ount 8. dot11STAStatistics RTSFailure Count 9. dot11STAStatistics ACKFailure Count 10. dot11STAStatistics Qos Transmitted Fragment Count 11. dot11STAStatistics Qos Failed Count 12. dot11STAStatistics Qos Retry Count 13. dot11STAStatistics Qos Multiple Retr y Count 14. dot11STAStatistics Qos Frame Duplicate Count 15. dot11STAStatistics Qos RTSSuccess Count 16. dot11STAStatistics Qos RTSFailure Count 17. dot11STAStatistics Qos ACKFailure Count 18. dot11STAStatistics Qos Received Fragment Count 19. dot11STAStat istics Qos Transmitted Frame Count 20. dot11STAStatistics Qos Discarded Frame Count 21. dot11STAStatistics Qos MPDUs Received Count 22. dot11STAStatistics Qos Retries Received Count 23. dot11STAStatistics Received Fragment Count 24. dot11STAStatistics Grou p Received Frame Count 25. dot11STAStatistics FCSError Count 26. dot11STAStatistics Transmitted Frame Count 27. dot11STAStatistics RSNAStats CMACICVErrors 28. dot11STAStatistics RSNAStats CMACReplays 29. dot11STAStatistics RSNAStats Robust Mgmt CCMPReplays 30. dot11STAStatistics RSNAStats TKIPICVErrors 31. dot11STAStatistics RSNAStats TKIPReplays 32. dot11STAStatistics RSNAStats CCMPDecrypt Errors 33. dot11STAStatistics RSNAStats CCMPReplays 34. dot11STAStatistics Transmitted AMSDUCount 35. dot11STAStatisti cs Failed AMSDUCount 36. dot11STAStatistics Retry AMSDUCount 37. dot11STAStatistics Multiple Retry AMSDUCount 38. dot11STAStatistics AMSDUAck Failure Count 39. dot11STAStatistics Received AMSDUCount 40. dot11STAStatistics Transmitted AMPDUCount 41. dot11ST AStatistics Transmitted MPDUs In AMPDUCount 42. dot11STAStatistics AMPDUReceived Count 43. dot11STAStatistics MPDUIn Received AMPDUCount 44. dot11STAStatistics AMPDUDelimiter CRCError Count 45. dot11STAStatistics Implicit BARFailure Count 46. dot11STAStati stics Explicit BARFailure Count 47. dot11STAStatistics Channel Width Switch Count 48. dot11STAStatistics Twenty MHz Frame Transmitted Count 49. dot11STAStatistics Forty MHz Frame Transmitted Count 50. dot11STAStatistics Twenty MHz Frame Received Count 51. dot11STAStatistics Forty MHz Frame Received Count 52. dot11STAStatistics PSMPUTTGrant Duration 53. dot11STAStatistics PSMPUTTUsed Duration 54. dot11STAStatistics Granted RDGUsed Count 55. dot11STAStatistics Granted RDGUnused Count 56. dot11STAStatistics Tr ansmitted Frames In Granted RDGCount 57. dot11STAStatistics Dual CTSSuccess Count 58. dot11STAStatistics Dual CTSFailure Count 59. dot11STAStatistics RTSLSIGSuccess Count 60. dot11STAStatistics RTSLSIGFailure Count 61. dot11STAStatistics Beamforming Frame Count 62. dot11STAStatistics STBCCTSSuccess Count 63. dot11STAStatistics STBCCTSFailure Count 64. dot11STAStatisticsnon STBCCTSSuccess Count 65. dot11STAStatisticsnon STBCCTSFailure Count

Std_ReturnType WEth_GetWEtherStats32(uint8 CtrlId, uint32* WEtherStats);

Returns the following list according to IEEE 802.11 - 2012, where the maximal possible value shall denote an invalid value, e.g. if this counter is not available: 1. dot11STAStatistics Transmitted Octets In AMSDUCount 2. dot11STAStatistics Receiv ed Octets In AMSDUCount 3. dot11STAStatistics Transmitted Octets In AMPDUCount 4. dot11STAStatistics Received Octets In AMPDUCount 5. dot11STAStatistics Transmitted Octets In Granted RDGCount

Std_ReturnType WEth_GetWEtherStats64(uint8 CtrlId, uint64* WEtherStats);

Request transmission of an Ethernet frame, where each upper layer a header part as element of a single linked list. All headers together with the payload form an entire Ethernet frame Tags: atp.Status=draft

Std_ReturnType WEth_ImmediateTransmit(uint8 CtrlIdx, Eth_BufIdxType TxHandleId, uint8 Priority, ListElemStructType* HeaderListPtr, uint8* PayloadPtr, uint16 PayloadLength);

Reads a transceiver register

Std_ReturnType WEth_ReadTrcvRegs(uint8 CtrlId, uint8 TrcvId, uint8 RadioId, const uint32* RegIds, uint32* RegValsPtr, uint8 NumRegs);
WEth_Receive functie

Triggers frame reception.

void WEth_Receive(uint8 CtrlId, Eth_RxStatusType* RxStatusPtr);

Set values related to the transmit direction for a specific buffer (packet to be sent). For example, this can be the desired transmit power or the channel belonging to one single packet.

Std_ReturnType WEth_SetBufWTxParams(uint8 CtrlId, Eth_BufIdxType BufId, const WEth_BufWTxParamIdType* TxParamIds, const uint32* ParamValues, uint8 NumParams);

Enables / disables the indexed controller

Std_ReturnType WEth_SetControllerMode(uint8 CtrlId, Eth_ModeType CtrlMode);

Sets the physical source address used by the indexed controller

void WEth_SetPhysAddr(uint8 CtrlId, const uint8* PhysAddrPtr);

Triggers transmission of a previously filled transmit buffer

Std_ReturnType WEth_Transmit(uint8 CtrlId, Eth_BufIdxType BufId, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, const uint8* PhysAddrPtr);

Triggers transmission of a previously filled transmit buffer that is waiting in a software priority queue.

Std_ReturnType WEth_TriggerPriorityQueueTransmit(uint8 CtrlId, uint8 PriorityQueue, uint8 MaxTxPower);

Update the physical source address to/ from the indexed context filter. If the Wireless Ethernet Controller is not capable to do the filtering, the software has to do this.

Std_ReturnType WEth_UpdatePhysAddrFilter(uint8 CtrlId, const uint8* PhysAddrPtr, const uint8* PhysMaskPtr, Eth_FilterActionType Action);

Configures a transceivers registers or triggers a function offered by the receiver

Std_ReturnType WEth_WriteTrcvRegs(uint8 CtrlId, uint8 TrcvId, uint8 RadioId, const uint32* RegIds, const uint32* RegVals, uint8 NumRegs);

Callbacks

Triggers frame transmission confirmation

void WEth_TxConfirmation(uint8 CtrlId);

Cyclisch

Support for indirect transmissions (extended frame timing constraints) and mechanisms for channel selection when using multiple channels. Used for polling state changes. Calls Eth If _ Ctrl Mode Indication when the controller mode changed.

void WEth_MainFunction(void);

Typen

Wir eless radio parameters for a packet that has been received.

Wireless radio parameters for a packet that has to be transmitted.

Implementation specific structure of the post build configuration

Eisen

SWS_WEth_00003 requirement

The Wireless Ethernet Driver is using a zero - based index to abstract the access for upper software layers. The parameter WEth_CtrlId within configuration corresponds to parameter CtrlId used in the API.

SWS_WEth_00004 requirement

A buffer index ( BufId) indent ifies a Wireless Ethernet buffer processed by Wireless Ethernet Driver API functions. Each controller’s buffers are identified by buffer indexes 0 to (n - 1) where n is the number of buffers processed by the corresponding controller. Buffer indexes are valid within a tuple <CtrlId, BufId> only. A BufId uniquely identifies the buffer used for a Wireless Ethernet Driver.

SWS_WEth_00005 requirement

The Wireless Ethernet Driver module shall support pre - com pile time, link time and post - build time configuration.

SWS_WEth_00008 requirement

In case development error detection is enabled for the Wireless Ethernet Driver module: The Wireless Ethernet Driver module shall check API parameters for validity and report detected errors to the DET.

SWS_WEth_00016 requirement

Type of error Related error code Error value Invalid controller index WETH_ E_ INV_ CTRL_ ID 0x01 WEth module was not initialized WETH_ E_ UNINIT 0x02 Invalid pointer in parameter list WETH_ E_ PARAM_ POINTER 0x03

SWS_WEth_00026 requirement

Module Header File Imported Type Com Stack_ Types Com Stack_ Types.h Buf Req _ Return Type Dem Rte_ Dem_ Type.h Dem _ Event Id Type Rte_ Dem_ Type.h Dem _ Event Status Type Eth Eth_ General Types.h Eth _ Buf Idx Type Eth_ General Types.h Eth _ Data Type Eth_ General Types.h Eth _ Filter Action Type Eth_ General Types.h Eth _ Frame Type Eth_ General Types.h Eth _ Mode Type (draft) Eth_ General Types.h Eth _ Rx Status Type Std Std_ Types.h Std _ Return Type Std_ Types.h Std _ Version Info Type

SWS_WEth_00040 requirement

The Wireless Ethernet Driver module shall reject configurations with partition mappings, which are not supported by the implementation.

SWS_WEth_00042 requirement

[SWS_WEth_00042] ⌈The function shall: • Put the controller in the specified mode given in the parameter ’CtrlMode’ – Upon mode ETH_MODE_DOWN the driver shall: * Disable the Wireless Ethernet controller * Reset all transmit and receive buffers (i.e. ignore all pending transmis- sion and reception requests) – Upon mode ETH_MODE_ACTIVE: * Enable all transmit and receive buffers * Enable the Wireless Ethernet controller ⌋

SWS_WEth_00043 requirement

[SWS_WEth_00043] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋

SWS_WEth_00044 requirement

[SWS_WEth_00044] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋

SWS_WEth_00045 requirement

[SWS_WEth_00045] ⌈Caveat: The function requires previous controller initialization (WEth_Init).⌋

SWS_WEth_00047 requirement

[SWS_WEth_00047] ⌈The function shall read the current controller mode.⌋

SWS_WEth_00048 requirement

[SWS_WEth_00048] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋

SWS_WEth_00049 requirement

[SWS_WEth_00049] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋

SWS_WEth_00050 requirement

[SWS_WEth_00050] ⌈If development error detection is enabled: the function shall check the parameter CtrlModePtr for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋

SWS_WEth_00051 requirement

[SWS_WEth_00051] ⌈Caveat: The function requires previous controller initialization (WEth_Init).⌋

SWS_WEth_00059 requirement

Th e function shall write the specified parameters in the transceivers registers for the indexed radio through a controller specific bus interface of the indexed controller.

SWS_WEth_00060 requirement

[SWS_WEth_00060] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋()

SWS_WEth_00061 requirement

[SWS_WEth_00061] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋()

SWS_WEth_00063 requirement

[SWS_WEth_00063] ⌈Caveat: The function requires previous controller initialization (WEth_Init).⌋()

SWS_WEth_00065 requirement

[SWS_WEth_00065] ⌈The function shall read the specified transceiver register through the MII of the indexed controller.⌋()

SWS_WEth_00066 requirement

If development error detection is enabled: the function shall check that the service W Eth_Init was previously called . If the check fails, the function shall raise the development error W ETH_E_UNINIT .

SWS_WEth_00067 requirement

If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid . If the check fails, the function shall raise the development error W ETH_E_INV_CTRL_IDX .

SWS_WEth_00068 requirement

If development error detection is e nabled: the function shall check the parameter RegValPtr for being valid . If the check fails, the function shall raise the development error W ETH_E_PARAM_POINTER .

SWS_WEth_00070 requirement

[SWS_WEth_00070] ⌈Caveat: The function requires previous controller initialization (WEth_Init).⌋()

SWS_WEth_00078 requirement

[SWS_WEth_00078] ⌈The function shall provide a transmit buffer resource. The Wire- less Ethernet Driver shall lock the buffer until it receives a subsequent call of WEth_ Transmit service with the buffer index returned in the BufIdxPtr parameter.⌋

SWS_WEth_00079 requirement

[SWS_WEth_00079] ⌈If a buffer requested with WEth_ProvideTxBuffer that is larger than the available buffer length, the buffer shall not be locked but return the available length and BUFREQ_E_OVFL.⌋

SWS_WEth_00080 requirement

[SWS_WEth_00080] ⌈If all available buffers are in use the component shall return BUFREQ_E_BUSY.⌋

SWS_WEth_00081 requirement

[SWS_WEth_00081] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋

SWS_WEth_00082 requirement

[SWS_WEth_00082] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋

SWS_WEth_00083 requirement

[SWS_WEth_00083] ⌈If development error detection is enabled: the function shall check the parameter BufIdxPtr for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋

SWS_WEth_00084 requirement

[SWS_WEth_00084] ⌈If development error detection is enabled: the function shall check the parameter BufPtr for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋

SWS_WEth_00085 requirement

[SWS_WEth_00085] ⌈If development error detection is enabled: the function shall check the parameter LenBytePtr for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋

SWS_WEth_00086 requirement

[SWS_WEth_00086] ⌈Caveat: The function requires previous controller initialization (WEth_Init).⌋

SWS_WEth_00088 requirement

[SWS_WEth_00088] ⌈The function shall build the Ethernet header with the given phys- ical target address (MAC address) and trigger the transmission of a previously filled transmit buffer.⌋ After transmission, the driver needs to release the allocated buffer. It is up to the implementation when the actual buffer release shall occur, e.g. within the context of the WEth_TxConfirmation, the WEth_MainFunction, or during the next WEth_ ProvideTxBuffer.

SWS_WEth_00090 requirement

[SWS_WEth_00090] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋

SWS_WEth_00091 requirement

[SWS_WEth_00091] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋

SWS_WEth_00092 requirement

[SWS_WEth_00092] ⌈If development error detection is enabled: the function shall check the parameter BufIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_PARAM.⌋

SWS_WEth_00093 requirement

[SWS_WEth_00093] ⌈If development error detection is enabled: the function shall check the parameter PhysAddrPtr for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋

SWS_WEth_00094 requirement

[SWS_WEth_00094] ⌈Caveat: The function requires previous buffer request (WEth_ ProvideTxBuffer).⌋

SWS_WEth_00096 requirement

[SWS_WEth_00096] ⌈The function shall read the next frame from the receive buffers. The function passes the received frame to the Ethernet interface using the callback function WEthIf_RxIndication and indicates if there are more frames in the receive buffers.⌋

SWS_WEth_00097 requirement

[SWS_WEth_00097] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋

SWS_WEth_00098 requirement

[SWS_WEth_00098] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋

SWS_WEth_00099 requirement

[SWS_WEth_00099] ⌈Caveat: The function requires previous controller initialization (WEth_Init).⌋

SWS_WEth_00101 requirement

[SWS_WEth_00101] ⌈The function shall check all filled transmit buffers for successful transmission. The function issues transmit confirmation for each transmitted frame using the callback function EthIf_TxConfirmation if requested by the previous call of WEth_Transmit service.⌋

SWS_WEth_00102 requirement

[SWS_WEth_00102] ⌈If transmission confirmation was enabled by a previous call to WEth_Transmit function the function shall release the buffer resource.⌋

SWS_WEth_00103 requirement

If development error detection is enabled: the function shall check that the service W Eth_Init was previously called . If the check fails, the function shall raise the development error W ETH_E_UNINIT .

SWS_WEth_00104 requirement

If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid . If the check fails, the function shall raise the development error W ETH_E_INV_CTRL_IDX .

SWS_WEth_00105 requirement

[SWS_WEth_00105] ⌈Caveat: The function requires previous initialization (WEth_ Init).⌋

SWS_WEth_00119 requirement

Dem _ Set - Event Status Dem.h Called by SW - Cs or BSW modules to report monitor status information to the Dem. BSW modules calling Dem_ Set Event Status can safely ignore the return value. This API will be available only if ({Dem/ Dem Config Set/ Dem Event Parameter/ Dem Event Reporting Type} == STANDARD_ REPORTING) Eth If _ Ctrl - Mode - Indication Eth If.h Called asynchronously when mode has been read out. Triggered by previous Eth_ Set Controller Mode call. Can directly be called within the trigger functions. Eth If _ Get - Version Info E th If.h Returns the version information of this module Eth If _ Main - Function Rx Sch M_ Eth If.h The function checks for new received frames and issues reception indications in polling mode. Eth If _ Main - Function Tx Sch M_ Eth If.h The function issues t ransmission confirmations in polling mode. It checks also for transceiver state changes. Eth If _ Rx - Indication Eth If.h Handles a received frame received by the indexed controller Eth If _ Tx - Confirmation Eth If.h Confirms frame transmission by the indexed controller

SWS_WEth_00120 requirement

Det _ Report Error Det.h Service to report development errors.

SWS_WEth_00129 requirement

[SWS_WEth_00129] ⌈If development error detection is enabled: the function shall check the controller mode for being active (ETH_MODE_ACTIVE). If the check fails, the function shall raise the development error WETH_E_INV_MODE.⌋

SWS_WEth_00132 requirement

[SWS_WEth_00132] ⌈If development error detection is enabled: the function shall check the controller mode for being active (ETH_MODE_ACTIVE). If the check fails, the function shall raise the development error WETH_E_INV_MODE.⌋

SWS_WEth_00134 requirement

If development error detection is enabled: the function shall check the controller mode for being active (ETH_MODE_ACTIVE). If the check fails, the function shall raise the development error W ETH_E_INV_MODE.

SWS_WEth_00136 requirement

[SWS_WEth_00136] ⌈If development error detection is enabled: the function shall check the parameter VersionInfoPtr for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

SWS_WEth_00144 requirement

[SWS_WEth_00144] ⌈If the physical source address (MAC address) is set to FF:FF:FF: FF:FF:FF, this shall completely open the filter.⌋

SWS_WEth_00146 requirement

[SWS_WEth_00146] ⌈If this API is used and the hardware does not support filtering, promiscuous mode shall be enabled during initialization.⌋

SWS_WEth_00147 requirement

If the physical source address (MAC address) is set to 00 : 00 : 00 : 00 : 00 : 00 , this shall reduce the filter to the controllers unique unicast MAC address and end promiscuous mode if it was turned on .

SWS_WEth_00150 requirement

[SWS_WEth_00150] ⌈The function shall update the physical address receive filter of the indexed controller.⌋

SWS_WEth_00153 requirement

[SWS_WEth_00153] ⌈When calling the callback function WEthIf_RxIndication broad- cast frames shall be indicated to the Ethernet Interface (see [9]).⌋

SWS_WEth_00164 requirement

If development error detection is enabled: the function shall check that the service W Eth_Init was previously called . If the check fails, the function shall raise the development error W ETH_E_UNINIT .

SWS_WEth_00165 requirement

If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid . If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX .

SWS_WEth_00166 requirement

If development error detection is enabled the function shall check t he parameter PhysAddrPtr for being valid . If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER .

SWS_WEth_00167 requirement

Caveat: The function requires previous controller initialization ( Eth_Init ).

SWS_WEth_00168 requirement

[SWS_WEth_00168] ⌈The function shall check the access to the Wireless Ethernet controller. If the check fails, the function shall raise the production error WETH_E_ ACCESS and return E_NOT_OK.⌋

SWS_WEth_00173 requirement

Error Name: WETH_ E_ACCESS Short Description: Wireless Ethernet Controller Access Failure. Long Description: Monitors the access to the Wireless Ethernet Controller in the context of the WEth_MainFunction. . Detection Criteria: Fail When polling for sta te changes of the Wireless Ethernet Controller fails the module shall report the extended production error with event status DEM_EVENT_STATUS_PREFAILED to DEM. Pass When polling for state changes of the Wireless Ethernet Controller succeeds the module sh all report the extended production error with event status DEM_EVENT_STATUS_PREPASSED to DEM. Secondary Parameters: None . Time Required: None. Monitor Frequency None .

SWS_WEth_00218 requirement

The Wireless Ethern et Driver shall ensure that the base addresses of all reception and transmission buffers fulfill the memory alignment requirements for all AUTOSAR data types of the respective platform such that efficient DMA and Memcopy operations are possible.

SWS_WEth_00234 requirement

The function shall read a list of values from the indexed controller according to [17] .

SWS_WEth_00235 requirement

[SWS_WEth_00235] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋()

SWS_WEth_00236 requirement

[SWS_WEth_00236] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋()

SWS_WEth_00237 requirement

[SWS_WEth_00237] ⌈If development error detection is enabled: the function shall check the parameter RxStats for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

SWS_WEth_00238 requirement

The function WEth_GetWEthertStats 32 shall be pre compile time configurable On/Off by the configuration parameter: W EthGetWEtherSta tsApi.

SWS_WEth_00240 requirement

Used for polling state changes. Calls EthIf_CtrlModeIndication when the controller mode changed.

SWS_WEth_00243 requirement

[SWS_WEth_00243] Upstream requirements: SRS_BSW_00359 ⌈Wireless Ethernet Driver shall call EthIf_TxConfirmation to indicate a successful transmission from the Interrupt routine (if the notification has been enabled).⌋

SWS_WEth_00244 requirement

Wireless Ethernet Driver shall call EthIf_RxIndication to indicate a successful reception from the Interrupt routine .

SWS_WEth_00245 requirement

[SWS_WEth_00245] ⌈The Wireless Ethernet driver module will receive a frame when the destination Address match the PhyAddrPtr passed here. (e.g matching can be done via hash table or simple pattern matching)⌋ Note: Underlying HW mechanism can be used if available. Otherwise the Ethernet driver needs to do this by software.

SWS_WEth_00246 requirement

[SWS_WEth_00246] ⌈If the matching is positive, the upper layer shall be notified by calling RxIndication() callback. If the matching is negative, the frame shall be discarded.⌋

SWS_WEth_00256 requirement

[SWS_WEth_00256] Call of EthIf_TxConfirmation with result set to E_NOT_OK. Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_Eth_00191 ⌈Wireless Ethernet SW Driver shall call EthIf_TxConfirmation with Result set to E_NOT_OK if the transmission failed.⌋

SWS_WEth_00280 requirement

[SWS_WEth_00280] Release all locked transmission buffer of an Ethernet con- troller for wireless communication Status: DRAFT Upstream requirements: SRS_Eth_00191 ⌈All locked transmit buffers shall be released if the Rx/Tx communication of the indexed controller is disabled via WEth_SetControllerMode.⌋

SWS_WEth_00281 requirement

[SWS_WEth_00281] Release all locked transmission buffer of an Ethernet con- troller for wireless communication Status: DRAFT Upstream requirements: SRS_Eth_00191 ⌈All pending transmit buffers shall be released if the Rx/Tx communication of the in- dexed controller is disabled via WEth_SetControllerMode.⌋

SWS_WEth_00313 requirement

[SWS_WEth_00313] Precondition checks for transmission request with direct data provision Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_BSW_00350, SRS_BSW_00386 ⌈If WEth_ImmediateTransmit has been called and the given CtrlIdx has a trans- mission buffer configured, then the Ethernet driver shall perform the following precon- dition checks in the following order: 1. If the Ethernet frame, which is requested to be transmitted, matches the config- ured priority of the transmission buffer at the given CtrlIdx, then skip the next precondition check and proceed. Otherwise report runtime error WETH_E_UN- KNOWN_EGRESS_PRIORITY and procceed. 2. If the Ethernet frame could be enqueued in a transmission buffer at the given CtrlIdx where no priority is configured (i.e. try to enqueue the Ethernet frame in a default transmission queue (see [SWS_WEth_CONSTR_00311])), then pro- ceed. Otherwise return with E_NOT_OK. 3. If on transmission buffer is available, then proceed. Otherwise report an runtime error error code WETH_E_EGRESS_QUEUE_OCCUPIED and return with E_NOT_- OK If all precondition checks passed successfully, then proceed with the evaluation of the Ethernet frame.⌋

SWS_WEth_00314 requirement

[SWS_WEth_00314] Evaluation of an Ethernet frame given with WEth_Immedi- ateTransmit transmit request Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_BSW_00350, SRS_BSW_00386 ⌈If WEth_ImmediateTransmit has been called, a transmission buffer is reserved and the Wireless Ethernet driver is requested to evaluate the given Ethernet frame parts (according to [SWS_WEth_00313]), then the Wireless Ethernet driver shall eval- uate the given single linked list given with HeaderListPtr and the payload Pay- loadPtr and payload length PayloadLength by considering the following steps: 1. Traverse the single linked list given with HeaderListPtr by starting with the first element HeaderListPtr and continue with next element of the single linked list given with NextListElemPtr until an element of the single linked list is reached where NextListElemPtr is set to NULL_PTR. Perform the following action at each element of the single linked list: • Store the the given data location (DataPtr) and the given data length ( DataLength) • accumulate the DataLength) 2. calculate the overall length by considering accumulated DataLength of all single linked list elements and the length of payload given with PayloadLength If the calculated Ethernet frame length is larger then the available egress queue ele- ment, then abort the evaluation and return with E_NOT_OK, or if WEthDevErrorDe- tect is set to TRUE, WEth driver shall call Det_ReportError with the error code WETH_E_EXCEED_EGRESS_QUEUE_ELEMENT. Otherwise proceed with construction of the Ethernet frame.⌋

SWS_WEth_00315 requirement

[SWS_WEth_00315] Construction of an Ethernet frame given with WEth_Imme- diateTransmit transmit request and WEthCtrlEnableEgressHardwareSup- portedDataTransfer is set to FALSE Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_BSW_00350, SRS_BSW_00386 ⌈If WEth_ImmediateTransmit has been called, a transmission buffer is reserved, the Wireless Ethernet driver is requested to construct the Ethernet frame (according to [SWS_WEth_00314]) and WEthCtrlEnableEgressHardwareSupportedData- Transfer is set to FALSE, then the Ethernet driver shall consider the following con- struction steps: • iterate over the stored list of header pointers (see [SWS_WEth_00314]) and per- form for each header the following step: – Copy data from the given data location (DataPtr) with respect to the given data length (DataLength) to the next available position in reserved trans- mission buffer element in consecutive order without gaps and continue • copy payload data from the given location PayloadPtr with respect to the given length (PayloadLength) to the next available position in the transmission buffer in consecutive order without gaps • trigger a transmission for content of this transmission buffer • store the given TxHandleId with the used transmission buffer index and the given CtrlIdx ⌋

SWS_WEth_00316 requirement

[SWS_WEth_00316] Construction of an Ethernet frame given with WEth_Imme- diateTransmit transmit request and WEthCtrlEnableEgressHardwareSup- portedDataTransfer is set to TRUE Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_BSW_00350, SRS_BSW_00386 ⌈If WEth_ImmediateTransmit has been called, a transmission buffer is reserved, the Wireless Ethernet driver is requested to construct the Ethernet frame (according to [SWS_WEth_00314]) and WEthCtrlEnableEgressHardwareSupportedData- Transfer is set to TRUE, then the Wireless Ethernet driver shall consider the following construction steps: • iterate over the stored list of header pointers (see [SWS_WEth_00314])and per- form for each header to the following steps: – if the given header length (DataLength) of a list element exceeds the configured WEthCtrEgressHardwareSupportedDataTransfer- Threshold, then the Ethernet driver shall prepare a hardware supported transfer with respect to the given header length (DataLength) and header location (DataPtr), trigger the data transfer and reserve space according the given DataLength in the reserved transmission buffer element, store the data transfer session handle (by considering given TxHandleId, Ctr- lIdx and transmission buffer index) and continue at next available position + DataLength + 1 of the transmission buffer – if the given length (DataLength) is equal or smaller than the configured WEthCtrEgressHardwareSupportedDataTransferThreshold, then the Ethernet driver shall copy data from the given header location (Dat- aPtr) with respect to the given header length (DataLength) to the next available position in reserved transmission buffer element in consecutive or- der and continue • check the payload length given with (PayloadLength) – if the given payload length (PayloadLength) of a list element exceeds the configured WEthCtrEgressHardwareSupportedDataTransfer- Threshold, then the Wireless Ethernet driver shall prepare a hard- ware supported transfer with respect to the given payload length (Pay- loadLength) and payload location (PayloadPtr), trigger the data transfer and reserve space according the given PayloadLengthin the transmission buffer, store the data transfer session handle (by considering given TxHan- dleId, CtrlIdx and transmission buffer index) – if the given payload length (PayloadLength) is equal or smaller than the configured WEthCtrEgressHardwareSupportedDataTransfer- Threshold, then the Ethernet driver shall copy the payload from the given payload location (PayloadPtr) with respect to the given payload length ( PayloadLength) to the next available position in reserved transmission buffer element in consecutive order • store the given TxHandleId with the used transmission buffer index and the given CtrlIdx ⌋ Note: The mapping of TxHandleId with the used transmission buffer index and the given CtrlIdx are used to identify the provided TxHandleId, which is needed if confirmation of the transmission has to be indicated via WEth_TxConfirmation. All sessions for hardware supported data transfer which relate to the same transmis- sion buffer need to be confirmed by hardware. Therefore the Ethernet driver needs to supervise the state of triggered hardware supported data transfer in relation to the affected TxHandleId, CtrlIdx and transmission buffer index. After all data transfers which relate to the same transmission buffer have been finalized, the transmission for this transmission buffer can be triggered.

SWS_WEth_00317 requirement

[SWS_WEth_00317] Handling if a hardware supported data transfer for a specific transmission request has been finalized Status: DRAFT Upstream requirements: SRS_Eth_00189, SRS_BSW_00350, SRS_BSW_00386 ⌈If WEth_ImmediateTransmit has been called, WEthCtrlEnableEgressHard- wareSupportedDataTransfer is set to TRUE and all data transfer sessions have confirmed successful transfer for a specific transmission buffer, then the Wireless Eth- ernet driver shall perform the following actions: • remove all data transfer session handles which are associated with this transmis- sion buffer • trigger a transmission of the content of this transmission buffer0311 ⌋ Please note: Mapping of the transmission buffer index and the given CtrlIdx to TxHandleId is needed for asynchronous check in the EthIf_MainFunctionTx or within an interrupt.

SWS_WEth_00318 requirement

[SWS_WEth_00318] Value range of the returned buffer index Status: DRAFT Upstream requirements: SRS_Eth_00191 ⌈The returned buffer index value of type Eth_BufIdxType shall be greater than 216-1. The value range for the buffer index shall be: • 0x00 01 00 00 ... 0xFF FF FF FF: valid • 0x00 00 00 00 ... 0x00 00 FF FF: reserved for TxHandleId of WEth_Immedi- ateTransmit ⌋ Note: Constraining the buffer index is needed, since TxHandleId of WEth_Immedi- ateTransmit used for direct data provision (used as PDU-ID) and BufIdxPtr of WEth_ProvideTxBuffer used for indirect data provision could overlap. EthIf need an unambiguous id (non-overlapping value range) that corresponds to a transmission request, to idenfy the affected tranmssion request for transmission confirmation via EthIf_TxConfirmation.

SWS_WEth_10001 requirement

If the Wireless Ethernet controller is on - chip, the Wireless Ethernet Driver module shall not use any service of other drivers.

SWS_WEth_10002 requirement

The function WEth_Init shall initialize all on - chip hardware resources that are used by the Wireless Ethernet con troller.

SWS_WEth_10003 requirement

If an off - chip Wireless Ethernet controller is used 1 , the Wireless Ethernet driver shall use services o f other MCAL drivers (e.g. SPI).

SWS_WEth_10004 requirement

All the Wireless Ethernet driver interfaces shall be implemented in a non - blocking manner. In cases where the action can be performed imm ediately and atomically, the confirmation is reported in the request function's return code. Alternatively, the initiation of an action is performed by a call to a 'request' function and the result of the action is reported by a corresponding 'confirm' cal lback.

SWS_WEth_10005 requirement

The Wireless Ethernet Driver shall provide an API WEth_GetBufWRxParams that can provide a list of buffer based reception parameters .

SWS_WEth_10006 requirement

The Wireless Ethernet Driver shall provide an API WEth_SetBufWTxParams that sets a list of buffer based transmission parameters .

SWS_WEth_10007 requirement

The Wireless Ethernet Driver shall provide an API that enables the Wireless Ethernet Transceiver to set the general radio specific parameters via an API WEth_WriteTrcvRegs to the transceiver.

SWS_WEth_10008 requirement

[SWS_WEth_10008] Upstream requirements: SRS_V2X_00451 ⌈The Wireless Ethernet Driver shall provide an API that enables the Wireless Ethernet Transceiver to get the general radio specific parameters via an API WEth_ReadTrcv Regs from the transceiver.⌋

SWS_WEth_10009 requirement

[SWS_WEth_10009] ⌈For reception the Wireless Ethernet Controller shall enable hardware capabilities to discard frames with incorrect Frame Check Sequence (FCS).⌋ (SRS_V2X_00391)

SWS_WEth_10026 requirement

The function shall read a list of values from the indexed controller according to [17] .

SWS_WEth_10027 requirement

The function WEth_GetWEthertStats 64 shall be pre compile time configurable On/Off by the configuration parameter: W EthGetWEtherStatsApi.

SWS_WEth_10030 requirement

[SWS_WEth_10030] ⌈If development error detection is enabled: the function shall check the parameter RegIds for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

SWS_WEth_10031 requirement

[SWS_WEth_10031] ⌈If development error detection is enabled: the function shall check the parameter RegVals for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

SWS_WEth_10034 requirement

[SWS_WEth_10034] ⌈If development error detection is enabled: the function shall check the parameter RegIds for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

SWS_WEth_10035 requirement

[SWS_WEth_10035] ⌈If development error detection is enabled: the function shall check the parameter RegVals for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

SWS_WEth_10037 requirement

The Wireless Ethernet Driver shall provide an API WEth_GetBufWTxParams that can provide a list of buffer based transmission parameters .

SWS_WEth_10038 requirement

The API WEth_ GetBufWRxParams shall read properties of type WEth_BufWRxParamIdType of the access l ayer properties of a received packet.

SWS_WEth_10039 requirement

If development error detection is enabled: the function shall check that the service WEth_Init was previously called . If the check fails, the function shall raise the development error WETH_E_UNINIT .

SWS_WEth_10040 requirement

If development erro r detection is enabled: the function shall check the parameter CtrlId for being valid . If the check fails, the function shall raise the development error WETH_E_INV_CTRL_ID .

SWS_WEth_10041 requirement

[SWS_WEth_10041] ⌈If development error detection is enabled: the function shall check the parameter RxParamIds for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

SWS_WEth_10042 requirement

[SWS_WEth_10042] ⌈If development error detection is enabled: the function shall check the parameter ParamValues for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

SWS_WEth_10045 requirement

The API W Eth_ GetBufWTxParams sha ll read properties of type WEth_BufWTxParamIdType of the access layer properties of a received packet.

SWS_WEth_10046 requirement

If development error detection is enabled: the function shall check tha t the service WEth_Init was previously called . If the check fails, the function shall raise the development error WETH_E_UNINIT .

SWS_WEth_10047 requirement

If development error detection is enabled: the function shall check the parameter CtrlId f or being valid . If the check fails, the function shall raise the development error WETH_E_INV_CTRL_ID .

SWS_WEth_10048 requirement

[SWS_WEth_10048] ⌈If development error detection is enabled: the function shall check the parameter TxParamIds for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

SWS_WEth_10049 requirement

[SWS_WEth_10049] ⌈If development error detection is enabled: the function shall check the parameter ParamValues for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

SWS_WEth_10052 requirement

The API WEth_SetBufWTxParams shall set properties of type WEth_BufWTxParamIdType of the access layer properties for a packet to be sent.

SWS_WEth_10053 requirement

If develop ment error detection is enabled: the function shall check that the service WEth _Init was previously called . If the check fails, the function shall raise the development error WETH _E_NOT_INITIALIZED .

SWS_WEth_10054 requirement

If development error detection i s enabled: the function shall check the parameter CtrlId for being valid . If the check fails, the function shall raise the development error WETH_E_INV_CTRL_ID .

SWS_WEth_10055 requirement

If development error detection is enabled: the function shall check the parameter BufId for being valid . If the check fails, the function shall raise the development error WETH_E_INV_PARAM .

SWS_WEth_10056 requirement

[SWS_WEth_10056] ⌈If development error detection is enabled: the function shall check the parameter TxParamIds for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

SWS_WEth_10057 requirement

[SWS_WEth_10057] ⌈If development error detection is enabled: the function shall check the parameter ParamValues for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

SWS_WEth_10059 requirement

Used for hardware / software imple mentation specific execution of cyclic tasks.

SWS_WEth_10061 requirement

The module must ensure that within the interrupt/polling context of this function call, reception parameters of the wireless channel for the current buffer could be retrieved by the function WEth_GetBufWRxParams.

SWS_WEth_10063 requirement

The module must ensure that within the interrupt/polling context of this function call, transmission parameters of the wireless channel for the current buffer could be retrieved by the function WEth_GetB ufWTxParams.

SWS_WEth_10065 requirement

Functions using the type WEth_ BufWRxParamIdType shall use a list of uint 32 values for the list of corresponding val ues.

SWS_WEth_10066 requirement

Functions using the type WEth_ BufWRxParamIdType shall use the following type mapping for the corresponding values: ParamId ParamValue Type WETH_BUFWRXPID_RSSI uint8 WETH_BUFWRXPID_CHANNEL_ID uint16 WETH_BUFWRXPID_FREQ uint 16 WETH_BUFWRXPID_TRANSACTION_ID _32 uint32 WETH_BUFWRXPID_ANTENNA_ID uint8

SWS_WEth_10068 requirement

Function s using the WEth_ BufWTxParamIdType shall use the following type mapping for the corresponding values: ParamId ParamValue Type WETH_BUFWTXPID_POWER uint8 WETH_BUFWTXPID_CHANNEL_ID uint16 WETH_BUFWTXPID_QUEUE_ID uint8 WETH_BUFWTXPID_TRANSACTION_ID _16 ui nt16 WETH_BUFWTXPID_ANTENNA_ID uint8

SWS_WEth_10235 requirement

[SWS_WEth_10235] ⌈If development error detection is enabled: the function shall check that the service WEth_Init was previously called. If the check fails, the function shall raise the development error WETH_E_UNINIT.⌋()

SWS_WEth_10236 requirement

[SWS_WEth_10236] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error WETH_E_INV_CTRL_IDX.⌋()

SWS_WEth_10237 requirement

[SWS_WEth_10237] ⌈If development error detection is enabled: the function shall check the parameter RxStats for being valid. If the check fails, the function shall raise the development error WETH_E_PARAM_POINTER.⌋()

SWS_WEth_20235 requirement

The WEth module shall support at least the following DCC - Profiles defined ins ide [18] : DP0, DP1, DP2 and DP3 .  DP0, used for TC = 0  DP1: used for TC = 1  DP2: used for TC = 2  DP3: used for other low priority messages with TC > 2

SWS_WEth_20242 requirement

The WEth module shall discard a message with the DCC - Profile ID DP2 in the DCC_Access queues if a new message with the DCC - Profile ID DP2 arrives in the DCC_Access queues.

The module will operate as an independent instance in each of the partitions, means the called API will only target the partition it is called in.

If WEthEcucPartitionRef references one or more ECUC partitions, WEthCtrlEcucPartitionRef shall have a multiplicity of one and ref- erence one of these ECUC partitions as well.

[SWS_WEth_CONSTR_00311] At most one Transmission buffer with no priority per WEthCtrlConfig Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_Eth_00191, SRS_BSW_00350, SRS_BSW_- ⌈An WEthCtrlConfig shall have at most one transmission buffer with no priority con- figured.⌋ Note: A transmission buffer at the same Ethernet controller for wireless communica- tion with no priority configured, could be used as default transmission buffer where all Ethernet frames are added which could not be sorted in other transmission buffers.

[SWS_WEth_CONSTR_00312] A transmission buffer with no priority configured shall be handled with lowest priority Status: DRAFT Upstream requirements: SRS_Eth_00190, SRS_Eth_00191, SRS_BSW_00350, SRS_BSW_- ⌈A transmission buffer with no priority configured, shall be handled with lowest priority .⌋