CLASSIC
Modul: eth
Rolle: constitutive
Konfidenz: 95%
SNIP_CLASSIC_ETH_SECTION_8_3_24_Eth_Transmit
Wortlaut
8.3.24 Eth_Transmit
[SWS_Eth_00087] Definition of API function Eth_Transmit ⌈
Service Name
Eth_Transmit
Syntax
Std_ReturnType Eth_Transmit (
uint8 CtrlIdx,
Eth_BufIdxType BufIdx,
Eth_FrameType
FrameType ,
boolean TxConfirmation,
uint16 LenByte,
const uint8* PhysAddrPtr
)
Service ID [hex]
0xA
Sync/Async
Synchronous
Reentrancy
Reentrant for different buffer indexes and Ctrl indexes
CtrlIdx
Index of the controller within the context of the Driver
BufIdx
Index of the buffer resource
FrameType
Ethernet frame type
TxConfirmation
Activates transmission confirmation
LenByte
Data length in byte
Parameters (in)
PhysAddrPtr
Physical target address (MAC address) in network byte order
Parameters (inout)
None
Parameters (out)
None
Return value
Std_ReturnType
E_OK: success
E_NOT_OK: transmission failed
Description
Triggers transmission of a previously filled transmit buffer
Available via
Eth.h
⌋()
[SWS_Eth_00088] ⌈The function shall build the Ethernet header with the given physical 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
Eth_TxConfirmation, the Eth_MainFunction, or during the next Eth_ProvideTxBuffer.
[SWS_Eth_00281] ⌈All pending transmit buffers shall be released if the Rx/Tx communication of the indexed controller is disabled via Eth_SetControllerMode.⌋()
[SWS_Eth_00090] ⌈If development error detection is enabled: the function shall check
that the service Eth_Init was previously called. If the check fails, the function shall raise
the development error ETH_E_UNINIT.⌋()
[SWS_Eth_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 ETH_E_INV_CTRL_IDX.⌋()
[SWS_Eth_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 ETH_E_INV_PARAM.⌋()
[SWS_Eth_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 ETH_E_PARAM_POINTER.⌋()
[SWS_Eth_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 ETH_E_INV_MODE.⌋()
[SWS_Eth_00094] ⌈Eth_ProvideTxBuffer() shall be called before Eth_Transmit.⌋()
Versionen & Provenienz · Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.
Begründung & Zuweisungs-Evidenz
Cited verbatim in the snippet (deterministic citation).
Dokumenten-Herkunft & Rückverfolgbarkeit
| Spezifikations-Dokument | SWS_EthernetDriver.pdf |
|---|---|
| Dokumentseite | Seite 93 |
| Ziel-Modul | eth (classic) |
| Ziel-Anforderung | SWS_Std_00005 |
| Semantische Rolle | constitutive |
| Automatisierungs-Konfidenz | 0.95 |