DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: frtrcv Rolle: constitutive Konfidenz: 95%

SNIP_CLASSIC_FRTRCV_SECTION_8_3_2_FrTrcv_SetTransceiverMode

Quelle: SWS_FlexRayTransceiverDriver.pdf (Seite 39) • Ziel-Anforderung: SWS_Std_00005

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