CLASSIC
Modul: fr
Rolle: constitutive
Konfidenz: 95%
SNIP_CLASSIC_FR_SECTION_8_4_19_Fr_GetNmVector
Wortlaut
8.4.19 Fr_GetNmVector
[SWS_Fr_00113] Definition of API function Fr_GetNmVector ⌈
Service Name
Fr_GetNmVector
Syntax
Std_ReturnType Fr_GetNmVector (
uint8 Fr_CtrlIdx,
uint8* Fr_NmVectorPtr
)
Service ID [hex]
0x22
Sync/Async
Synchronous
Reentrancy
Non Reentrant for the same device
Parameters (in)
Fr_CtrlIdx
Index of FlexRay CC within the context of the FlexRay Driver.
Parameters (inout)
None
Parameters (out)
Fr_NmVectorPtr
Address where the NmVector of the last communication cycle
shall be stored.
Return value
Std_ReturnType
E_OK: API call finished successfully.
E_NOT_OK: API call aborted due to errors.
Description
Gets the network management vector of the last communication cycle.
Available via
Fr.h
⌋
Note: The Fr module’s environment shall only call the function Fr_GetNmVector()
when the CC Fr_CtrlIdx is synchronous to FlexRay global time.
Note: The NM-Vector will be updated at a defined point in time (see [1]). At this point of
time the service Fr_GetNmVector() shall not be called, in order to ensure a consistent
NM-Vector value.
[SWS_Fr_00262] ⌈The function Fr_GetNmVector() shall perform the following tasks
on FlexRay CC Fr_CtrIdx:
1. Read the current accrued network management vector out of the FlexRay CC and
then write it to the output parameter Fr_NmVectorPtr. The number of bytes
written to the output parameter is constant and is known at configuration time
(FrIf configuration parameter FrIfGNetworkManagementVectorLength).
2. Return E_OK.
⌋
[SWS_Fr_00263] ⌈The function Fr_GetNmVector() shall ensure that the FlexRay CC
is synchronous to global time when the data is read - otherwise the output parameters
shall not be written and E_NOT_OK returned.⌋
[SWS_Fr_00264] ⌈The function Fr_GetNmVector() shall ensure that the payload
data is copied to Fr_NmVectorPtr in the same byte order as they were received
on the FlexRay bus. (first byte = lowest address, last byte = highest address).⌋
[SWS_Fr_00261]
⌈If
the
function
Fr_GetNmVector()
is
able
to
and
detects
a
hardware
error
while
performing
the
requested
functionality,
then
it
shall
call
Dem_SetEventStatus()
(FR_E_CTRL_TESTRESULT,
DEM_EVENT_STATUS_FAILED) and return E_NOT_OK.⌋
[SWS_Fr_00258] ⌈If development error detection for the Fr module is enabled,
and if the function Fr_GetNmVector() is called before the successful initialization of Fr, then the function Fr_GetNmVector() shall raise the development error
FR_E_INIT_FAILED.⌋
[SWS_Fr_00259] ⌈If development error detection for the Fr module is enabled, then the
function Fr_GetNmVector() shall check the validity of the parameter Fr_CtrlIdx. If
Fr_CtrlIdx is invalid, then the function Fr_GetNmVector() shall raise the development error FR_E_INV_CTRL_IDX.⌋
[SWS_Fr_00260] ⌈If development error detection for the Fr module is enabled, then the
function Fr_GetNmVector() shall check whether the parameter Fr_NmVectorPtr is
a NULL pointer (NULL_PTR). If Fr_NmVectorPtr is a NULL pointer, then the function
Fr_GetNmVector() shall raise the development error FR_E_PARAM_POINTER.⌋
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_FlexRayDriver.pdf |
|---|---|
| Dokumentseite | Seite 68 |
| Ziel-Modul | fr (classic) |
| Ziel-Anforderung | SWS_Std_00005 |
| Semantische Rolle | constitutive |
| Automatisierungs-Konfidenz | 0.95 |