CLASSIC
Modul: frtrcv
Rolle: constitutive
Konfidenz: 95%
SNIP_CLASSIC_FRTRCV_SECTION_8_3_2_FrTrcv_SetTransceiverMode
Wortlaut
8.3.2 FrTrcv_SetTransceiverMode
[SWS_FrTrcv_00323] Definition of API function FrTrcv_SetTransceiverMode ⌈
Service Name
FrTrcv_SetTransceiverMode
Syntax
Std_ReturnType FrTrcv_SetTransceiverMode (
uint8 FrTrcv_TrcvIdx,
FrTrcv_TrcvModeType FrTrcv_TrcvMode
)
Service ID [hex]
0x01
Sync/Async
Synchronous
Reentrancy
Non Reentrant
FrTrcv_TrcvIdx
This zero based index identifies the transceiver within the context
of the transceiver driver to which the API call has to be applied.
Parameters (in)
FrTrcv_TrcvMode
Selects the state the transceiver will transit to (transitions to
optional states may fail)
Parameters (inout)
None
Parameters (out)
None
Return value
Std_ReturnType
E_OK: will be returned if the transceiver state has been changed
to the requested mode.
E_NOT_OK: will be returned if the transceiver state change has
failed. The previous state has not been changed.
Description
This service sets the transceiver mode.
Available via
FrTrcv.h
⌋
[SWS_FrTrcv_00252] Set FlexRay Transceiver Operation Mode
Upstream requirements: SRS_Fr_05166
⌈The FlexRay Transceiver Driver shall provide a software interface to set the operation
mode of a specific FlexRay Transceiver device.⌋
[SWS_FrTrcv_00392] ⌈Whenever FrTrcv_SetTransceiverMode changes the state to
STANDBY, it shall clear error history in transceiver as long as the hardware supports
such a function.
This modification has the same effect as introducing a new API
FrTrcv_ClearErrorHistory() and adding a call of the function in FrSm’s sequence.⌋
[SWS_FrTrcv_00474] ⌈A mode request of the current mode is allowed and shall not
lead to an error even if DET is enabled.⌋
[SWS_FrTrcv_00064] Standard API return type
Upstream requirements: SRS_BSW_00357
⌈The Std_ReturnType shall normally be used with value E_OK or E_NOT_OK. If those
return values are not sufficient user specific values can be defined by using the 6 least
specific bits.⌋
[SWS_FrTrcv_00272] ⌈The function FrTrcv_SetTransceiverMode shall switch the internal state of the transceiver identified by FrTrcv_TrcvIdx to the state indicated by
FrTrcv_TrcvMode.⌋
[SWS_FrTrcv_00273]
⌈The
function
FrTrcv_SetTransceiverMode
shall
return
E_NOT_OK and doesn’t change the current state if a transition not defined in
FrTrcv_TrcvModeType is requested.⌋
[SWS_FrTrcv_00274] ⌈If an optional state is NOT supported by the transceiver and
ECU hardware, the function FrTrcv_SetTransceiverMode shall switch to an equivalent
state.⌋
[SWS_FrTrcv_00440] ⌈If the FlexRay transceiver and ECU hardware does not support
a receive only state, FrTRCV_TRCVMODE_NORMAL shall be used.⌋
[SWS_FrTrcv_00236] ⌈If the FlexRay transceiver and ECU hardware does not support
a sleep state, FrTRCV_TRCVMODE_STANDBY shall be used.
(EcuM2486: The driver shall provide an explicit service to put the wakeup source to
sleep. This service shall put the wakeup source into a energy saving and inert operation mode and re-arm the wakeup notification mechanism.)⌋
[SWS_FrTrcv_00278]
⌈In
case
of
a
fault
during
transceiver
access,
the
function
FrTrcv_SetTransceiverMode
shall
raise
runtime
error
FRTRCV_E_FR_NO_CONTROL_TRCV (see also [SWS_FrTrcv_00237]).⌋
[SWS_FrTrcv_00368] ⌈The API function calls to the FlexRay Transceiver Driver shall
be synchronuous.⌋
[SWS_FrTrcv_00275]
⌈If
development
error
detection
for
the
module
FrTrcv
is
enabled:
If
the
parameter
FrTrcv_TrcvIdx
is
not
within
the
allowed
range,
the
function
FrTrcv_SetTransceiverMode
shall
raise
development
error
FRTRCV_E_FR_INVALID_TRCVIDX.⌋
[SWS_FrTrcv_00276] ⌈If the mode transition fails [SWS_FrTrcv_00452], the function
FrTrcv_SetTransceiverMode shall raise the following runtime error:
• FRTRCV_E_FR_TRCV_NOT_STANDBY:
Transition to FRTRCV_TRCVMODE_STANDBY failed
• FRTRCV_E_FR_TRCV_NOT_NORMAL:
Transition to FRTRCV_TRCVMODE_NORMAL failed
• FRTRCV_E_FR_TRCV_NOT_SLEEP:
Transition to FRTRCV_TRCVMODE_SLEEP failed
• FRTRCV_E_FR_TRCV_NOT_RECEIVEONLY:
Transition to FRTRCV_TRCVMODE_RECEIVEONLY failed
⌋
[SWS_FrTrcv_00452] ⌈A mode transition fails, if the mode returned by the API service
FrTrcv_GetTransceiverMode() would mismatch the mode requested by the API service
FrTrcv_SetTransceiverMode().⌋
[SWS_FrTrcv_00277]
⌈If
development
error
detection
for
the
module
FrTrcv is enabled:
if the transceiver has not been initialized,
the function
FrTrcv_SetTransceiverMode shall raise development error FRTRCV_E_UNINIT.⌋
[SWS_FrTrcv_00415] Hardware Checking Function on Bus Driver
Upstream requirements: SRS_Fr_05213
⌈The FlexRay Transceiver Driver’s initialization function shall check error status in BD
to ensure the hardware is working properly.
This functionality ensures that the hardware is working as expected.
Improvement of hardware reliability.⌋
[SWS_FrTrcv_00454] ⌈If a transceiver is in active star mode and one or more
branches are disabled, the FlexRay Transceiver Driver shall avoid side effects of the
API service FrTrcv_SetTransceiverMode() which re-enable any branches.⌋
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_FlexRayTransceiverDriver.pdf |
|---|---|
| Dokumentseite | Seite 39 |
| Ziel-Modul | frtrcv (classic) |
| Ziel-Anforderung | SWS_Std_00005 |
| Semantische Rolle | constitutive |
| Automatisierungs-Konfidenz | 0.95 |