CLASSIC
Modul: lintrcv
Rolle: constitutive
Konfidenz: 95%
SNIP_CLASSIC_LINTRCV_SECTION_8_3_2_LinTrcv_SetOpMode
Wortlaut
8.3.2 LinTrcv_SetOpMode
[SWS_LinTrcv_00002] Definition of API function LinTrcv_SetOpMode
Upstream requirements: SRS_BSW_00310, SRS_BSW_00357, SRS_BSW_00369, SRS_BSW_
00406, SRS_Lin_01566, SRS_Lin_01524
⌈
Service Name
LinTrcv_SetOpMode
Syntax
Std_ReturnType LinTrcv_SetOpMode (
uint8 LinNetwork,
LinTrcv_TrcvModeType OpMode
)
Service ID [hex]
0x01
Sync/Async
Synchronous
Reentrancy
Non Reentrant
LinNetwork
LIN network to wich API call has to be applied
Parameters (in)
OpMode
The parameter says to which operation mode the change shall be
performed.
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 is not
accepted or has failed or the parameter is out of the allowed
range.
Description
The internal state of the LIN transceiver driver is switched to mode given in the parameter Op
Mode.
Available via
LinTrcv.h
⌋
[SWS_LinTrcv_00108] ⌈The function LinTrcv_SetOpMode shall switch the internal
state of channel LinNetwork to the value of the parameter OpMode which can be LINTRCV_TRCV_MODE_NORMAL, LINTRCV_TRCV_MODE_STANDBY or LINTRCV_
TRCV_MODE_SLEEP.⌋
[SWS_LinTrcv_00109] ⌈The function LinTrcv_SetOpMode shall switch the internal
state of channel LinNetwork to the value of LINTRCV_TRCV_MODE_STANDBY if
one of the following conditions is fulfilled:
a) the channel LinNetwork is in mode LINTRCV_TRCV_MODE_SLEEP and the optional transition from this mode to LINTRCV_TRCV_MODE_STANDBY is enabled.
b) the channel LinNetwork is in mode LINTRCV_TRCV_MODE_NORMAL and the
optional transition from this mode to LINTRCV_TRCV_MODE_STANDBY is enabled.⌋
[SWS_LinTrcv_00110] ⌈The function LinTrcv_SetOpMode shall switch the internal
state of channel LinNetwork to the value of LINTRCV_TRCV_MODE_SLEEP if one
of the following conditions is fulfilled:
a) the channel LinNetwork is in mode LINTRCV_TRCV_MODE_NORMAL
b) the channel LinNetwork is in mode LINTRCV_TRCV_MODE_STANDBY and the
optional transition from this mode to LINTRCV_TRCV_MODE_SLEEP is enabled.⌋
[SWS_LinTrcv_00147] ⌈The function LinTrcv_SetOpMode shall switch the internal
state of channel LinNetwork to the value of LINTRCV_TRCV_MODE_NORMAL if
one of the following conditions is fulfilled:
a) the channel LinNetwork is in mode LINTRCV_TRCV_MODE_SLEEP
b) the channel LinNetwork is in mode LINTRCV_TRCV_MODE_STANDBY and the
optional transition from this mode to LINTRCV_TRCV_MODE_NORMAL is enabled.⌋
[SWS_LinTrcv_00111] ⌈This API is applicable to each transceiver with each value
for parameter LinTrcv_SetOpMode regardless of whether the transceiver hardware
supports these modes or not. This is to simplify the view of the LinIf to the assigned
bus.⌋
[SWS_LinTrcv_00112] ⌈If the requested mode is not supported by the underlying
transceiver hardware, the function LinTrcv_SetOpMode shall return E_NOT_OK.⌋
[SWS_LinTrcv_00113] ⌈If there is no / incorrect communication to the transceiver, the
function LinTrcv_SetOpMode shall return E_NOT_OK.⌋
[SWS_LinTrcv_00114] ⌈If development error detection for the module LinTrcv is enabled:
If the function LinTrcv_SetOpMode is called with OpMode == LINTRCV_TRCV_
MODE_STANDBY and the channel LinNetwork is in mode LINTRCV_SLEEP but
the optional transition from LINTRCV_SLEEP to LINTRCV_STANDBY is not enabled,
the function LinTrcv_SetOpMode shall report the development error LINTRCV_E_
INVALID_TRCV_OPMODE.⌋
[SWS_LinTrcv_00148] ⌈If development error detection for the module LinTrcv is enabled:
If the function LinTrcv_SetOpMode is called with OpMode == LINTRCV_TRCV_
MODE_STANDBY and the channel LinNetwork is in mode LINTRCV_NORMAL
but the optional transition from LINTRCV_NORMAL to LINTRCV_STANDBY is not
enabled, the function LinTrcv_SetOpMode shall report the development error
LINTRCV_E_INVALID_TRCV_OPMODE.⌋
[SWS_LinTrcv_00115] ⌈If development error detection for the module LinTrcv is enabled:
If optional transition from LINTRCV_STANDBY to LINTRCV_SLEEP is not enabled
and the function LinTrcv_SetOpMode is called with OpMode == LINTRCV_TRCV_
MODE_SLEEP and the channel LinNetwork is not in mode LINTRCV_TRCV_
MODE_NORMAL, the function LinTrcv_SetOpMode shall report the development
error LINTRCV_E_TRCV_NOT_NORMAL.⌋
[SWS_LinTrcv_00149] ⌈If development error detection for the module LinTrcv is enabled:
If optional transition from LINTRCV_STANDBY to LINTRCV_NORMAL is not enabled
and the function LinTrcv_SetOpMode is called with OpMode == LINTRCV_TRCV_
MODE_NORMAL and the channel LinNetwork is not in mode LINTRCV_TRCV_
MODE_SLEEP, the function LinTrcv_SetOpMode shall report the development error LINTRCV_E_TRCV_NOT_SLEEP.⌋
[SWS_LinTrcv_00116] ⌈If development error detection for the module LinTrcv is enabled:
If called before the LinTrcv module has been initialized, the function LinTrcv_SetOpMode shall report the development error LINTRCV_E_UNINIT.⌋
[SWS_LinTrcv_00117] ⌈If development error detection for the module LinTrcv is enabled:
If called with an invalid network number LinNetwork, the function LinTrcv_SetOpMode shall report the development error LINTRCV_E_INVALID_LIN_NETWORK.⌋
[SWS_LinTrcv_00157] ⌈A mode request of the current mode is allowed and shall not
lead to an error even if DET is enabled.⌋
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_LINTransceiverDriver.pdf |
|---|---|
| Dokumentseite | Seite 25 |
| Ziel-Modul | lintrcv (classic) |
| Ziel-Anforderung | SWS_Std_00005 |
| Semantische Rolle | constitutive |
| Automatisierungs-Konfidenz | 0.95 |