AUTOSAR SWS EthernetStateManager
AUTOSAR SWS EthernetStateManager
Disclaimer
This work (specification and/or software implementation) and the material contained
in it, as released by AUTOSAR, is for the purpose of information only. AUTOSAR
and the companies that have contributed to it shall not be liable for any use of the
work.
The material contained in this work is protected by copyright and other types of
intellectual property rights. The commercial exploitation of the material contained in
this work requires a license to such intellectual property rights.
This work may be utilized or reproduced without any modification, in any form or by
any means, for informational purposes only. For any other purpose, no part of the
work may be utilized or reproduced, in any form or by any means, without permission
in writing from the publisher.
The work has been developed for automotive applications only. It has neither been
developed, nor tested for non-automotive applications.
The word AUTOSAR and the AUTOSAR logo are registered trademarks.
Table of Contents
3 Related documentation........................................................................................ 9
3.1 Input documents ............................................................................................ 9
3.2 Related specification ................................................................................... 10
4 Constraints and assumptions ............................................................................ 11
4.1 Limitations ................................................................................................... 11
4.2 Applicability to car domains ......................................................................... 11
5 Dependencies to other modules ........................................................................ 12
5.1 File structure ................................................................................................ 12
5.1.1 Code file structure ................................................................................. 12
5.1.2 Version Check....................................................................................... 13
6 Requirements traceability .................................................................................. 14
The main task of the Ethernet State Manager can be summarized as follows:
[SWS_EthSM_00001]
⌈ The Ethernet State Manager shall provide an abstract interface to the AUTOSAR
Communication Manager to startup or shutdown the communication on an Ethernet
cluster. ⌋ ()
[SWS_EthSM_00002]
⌈ The Ethernet State Manager does not directly access the Ethernet hardware
(Ethernet Communication Controller and Ethernet Transceiver), but by means of the
Ethernet Interface. The Ethernet Interface redirects the request to the appropriate
driver module.⌋ ()
Abbreviation / Description:
Acronym:
API Application Program Interface
BSW Basic Software
BswM Basic Software Mode Manager
ComM Communication Manager
DEM Diagnostic Event Manager
DET Default Error Tracer
EcuM ECU State Manager
Eth Ethernet Controller
EthTrcv Ethernet Transceiver
EthSM Ethernet State Manager
EthIf Ethernet Interface
SchM BSW Scheduler
SoAd Socket Adapter
3 Related documentation
Thus, the specification SWS BSW General shall be considered as additional and
required specification for Ethernet State Manager.
4.1 Limitations
The EthSM can be used for Ethernet communication only. Its dedication is to operate
with the EthIf to control one or multiple underlying Ethernet Controllers and Ethernet
Transceiver Drivers. Other protocols than Ethernet (i.e. CAN, LIN or FlexRay) are not
supported.
The following items are not supported by the current version of this specification.
Wake on LAN
AUTOSAR TcpIp
TcpIp is called to request the TCPIP state (e.g. Online, Offline, On Hold, …).
TcpIP uses the API of the EthSM to provide the TCPIP state.
Remark:
Actually the module EthSM doesn´t provide link time configuration and post-build
time configuration.
[SWS_EthSM_00008] ⌈
12 of 54 Document ID 415: AUTOSAR_SWS_EthernetStateManager
- AUTOSAR confidential -
Specification of Ethernet State Manager
AUTOSAR CP Release 4.4.0
The EthSM needs to report development errors if development errors are enabled by
configuration. Therefore, it includes the header file Det.h.⌋ ()
[SWS_EthSM_00010] ⌈
The EthSM implementation (EthSM.c) references the API of the EthIf. Therefore, it
includes the header file EthIf.h.⌋ ()
[SWS_EthSM_00013] ⌈
The EthSM module shall include the ComM_Bus_SM.h header file. ⌋()
6 Requirements traceability
file
SRS_BSW_00321 The version numbers of AUTOSAR Basic SWS_EthSM_00999
Software Modules shall be enumerated
according specific rules
SRS_BSW_00325 The runtime of interrupt service routines and SWS_EthSM_00999
functions that are running in interrupt context
shall be kept short
SRS_BSW_00328 All AUTOSAR Basic Software Modules shall SWS_EthSM_00999
avoid the duplication of code
SRS_BSW_00331 All Basic Software Modules shall strictly SWS_EthSM_00999
separate error and status information
SRS_BSW_00333 For each callback function it shall be SWS_EthSM_00999
specified if it is called from interrupt context
or not
SRS_BSW_00334 All Basic Software Modules shall provide an SWS_EthSM_00999
XML file that contains the meta data
SRS_BSW_00336 Basic SW module shall be able to shutdown SWS_EthSM_00999
SRS_BSW_00341 Module documentation shall contains all SWS_EthSM_00999
needed informations
SRS_BSW_00343 The unit of time for specification and SWS_EthSM_00999
configuration of Basic SW modules shall be
preferably in physical time unit
SRS_BSW_00344 BSW Modules shall support link-time SWS_EthSM_00999
configuration
SRS_BSW_00347 A Naming seperation of different instances SWS_EthSM_00999
of BSW drivers shall be in place
SRS_BSW_00353 All integer type definitions of target and SWS_EthSM_00999
compiler specific scope shall be placed and
organized in a single type header
SRS_BSW_00358 The return type of init() functions SWS_EthSM_00043
implemented by AUTOSAR Basic Software
Modules shall be void
SRS_BSW_00359 All AUTOSAR Basic Software Modules SWS_EthSM_00999
callback functions shall avoid return types
other than void if possible
SRS_BSW_00360 AUTOSAR Basic Software Modules callback SWS_EthSM_00999
functions are allowed to have parameters
SRS_BSW_00361 All mappings of not standardized keywords SWS_EthSM_00999
of compiler specific scope shall be placed
and organized in a compiler specific type
and keyword header
SRS_BSW_00369 All AUTOSAR Basic Software Modules shall SWS_EthSM_00999
not return specific development error codes
via the API
SRS_BSW_00371 The passing of function pointers as API SWS_EthSM_00999
parameter is forbidden for all AUTOSAR
Basic Software Modules
SRS_BSW_00373 The main processing function of each SWS_EthSM_00999
AUTOSAR Basic Software Module shall be
modules
SRS_BSW_00427 ISR functions shall be defined and SWS_EthSM_00999
documented in the BSW module description
template
SRS_BSW_00428 A BSW module shall state if its main SWS_EthSM_00999
processing function(s) has to be executed in
a specific order or sequence
SRS_BSW_00429 Access to OS is restricted SWS_EthSM_00999
SRS_BSW_00432 Modules should have separate main SWS_EthSM_00999
processing functions for read/receive and
write/transmit data path
SRS_BSW_00433 Main processing functions are only allowed SWS_EthSM_00999
to be called from task bodies provided by the
BSW Scheduler
SRS_BSW_00437 Memory mapping shall provide the possibility SWS_EthSM_00999
to define RAM segments which are not to be
initialized during startup
SRS_BSW_00438 Configuration data shall be defined in a SWS_EthSM_00999
structure
7 Functional specification
An ECU can have different communication networks. Each network has to be
identified with a unique network handle. The ComM requests communication modes
from the networks. It knows by its configuration, which handle is assigned to what
kind of network. In case of Ethernet, it uses the Ethernet state manager, which is
responsible for the control flow abstraction of Ethernet networks. The following
sections describe this in detail.
[SWS_EthSM_00014] ⌈
The EthSM shall provide to the ComM an API, which can be used by the ComM to
request communication modes of Ethernet networks.⌋ ()
[SWS_EthSM_00015]⌈
Depending on the parameters handed over by this API, the EthSM shall execute a
state transition of the related network mode state machine (refer to section 7.6). ⌋ ()
[SWS_EthSM_00016]⌈
This transition shall translate the request into a respective API call to control the
assigned Ethernet peripherals.⌋ ()
[SWS_EthSM_00017]⌈
The EthSM shall provide an API, which can be polled by the ComM to get the current
communication mode of an Ethernet network. ⌋ ()
[SWS_EthSM_00018]⌈
The EthSM shall use a call-back notification of ComM to notify ComM of a change in
communication modes.⌋ ()
[SWS_EthSM_00022]⌈
Depending on the network mode state machine, the EthSM shall control the Ethernet
Interface Controller modes of each Ethernet network. ⌋ ()
[SWS_EthSM_00023]⌈
The EthSM shall use the API of the EthIf to control the operating modes of the
assigned Ethernet Interface Controllers.⌋ ()
One possible use case could be the usage of the Ethernet network in a tester
connection (see description below).
[SWS_EthSM_00038] ⌈
The ComM calls the EthSM to request a certain communication mode. The Ethernet
network only needs the communication modes FULL_COMMUNICATION and
NO_COMMUNICATION. ⌋ ()
[SWS_EthSM_00085] ⌈
If FULL_COMMUNICATION is requested the Ethernet Interface Controller is set to
the state ACTIVE. To reach FULL_COMMUNICATION it is also necessary to get an
ACTIVE link state (Ethernet cable is connected) and an ONLINE TcpIP state (IP
communication is available). The link state will be detected by the Ethernet
Transceiver module and will be communicated by the Ethernet Interface. The TcpIP
state will be detected and communicated by the TcpIp module.⌋ ()
[SWS_EthSM_00086]⌈
If the ComM request NO_COMMUNICATION the Ethernet Interface Controller is set
to the state DOWN.⌋ ()
Remark:
For the de-initialization no separate interface is necessary, the de-initialization is
automatically realized in the EthIf.
[SWS_EthSM_00087]⌈
The Ethernet network has to be wake up by the application and it´s either on
(FULL_COMMUNICATION) or off (NO_COMMUNICATION). So there is no need for
other states e.g. like SILENT_COMMUNICATION.⌋ ()
COMM_NO_COMMUNICATION
Initial
EthSM_Init()
EthSM_RequestComMode(COMM_FULL_COMMUNICATION)
/EthIf_SetControllerMode(ETH_MODE_ACTIVE)
ETHSM_STATE_WAIT_TRCVLINK BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_TRCVLINK) ETHSM_STATE_OFFLINE
EthSM_RequestComMode(COMM_NO_COMMUNICATION)
/EthIf_SetControllerMode(ETH_MODE_DOWN)
BswM_EthSM_CurrentState(ETHSM_STATE_OFFLINE)
EthSM_TrcvLinkStateChg(ETHTRCV_LINK_STATE_ACTIVE)
/TcpIp_RequestComMode(TCPIP_STATE_ONLINE)
BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_ONLINE)
EthSM_RequestComMode(COMM_NO_COMMUNICATION)
/TcpIp_RequestComMode(TCPIP_STATE_OFFLINE)
EthSM_TrcvLinkStateChg(ETHTRCV_LINK_STATE_DOWN) EthIf_SetControllerMode(ETH_MODE_DOWN)
/TcpIp_RequestComMode(TCPIP_STATE_OFFLINE) BswM_EthSM_CurrentState(ETHSM_STATE_OFFLINE)
BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_TRCVLINK)
EthSM_RequestComMode(COMM_NO_COMMUNICATION)
ETHSM_STATE_WAIT_ONLINE
/TcpIp_RequestComMode(TCPIP_STATE_OFFLINE)
EthIf_SetControllerMode(ETH_MODE_DOWN)
BswM_EthSM_CurrentState(ETHSM_STATE_OFFLINE)
ComM_BusSM_ModeIndication(COMM_NO_COMMUNICATION)
EthSM_TcpIpModeIndication(TCPIP_STATE_OFFLINE)
/BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_TRCVLINK) EthSM_TcpIpModeIndication(TCPIP_STATE_OFFLINE)
EthSM_TcpIpModeIndication(TCPIP_STATE_OFFLINE) ComM_BusSM_ModeIndication(COMM_NO_COMMUNICATION) /EthIf_SetControllerMode(ETH_MODE_DOWN)
/BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_ONLINE) BswM_EthSM_CurrentState(ETHSM_STATE_OFFLINE)
ComM_BusSM_ModeIndication(COMM_NO_COMMUNICATION) ComM_BusSM_ModeIndication(COMM_NO_COMMUNICATION)
COMM_FULL_COMMUNICATION
EthSM_TcpIpModeIndication(TCPIP_STATE_ONLINE)
/BswM_EthSM_CurrentState(ETHSM_STATE_ONLINE)
ComM_BusSM_ModeIndication(COMM_FULL_COMMUNICATION)
ETHSM_STATE_ONHOLD
EthSM_TrcvLinkStateChg(ETHTRCV_LINK_STATE_ACTIVE)
/TcpIp_RequestComMode(TCPIP_STATE_ONLINE)
BswM_EthSM_CurrentState(ETHSM_STATE_ONLINE)
EthSM_TrcvLinkStateChg(ETHTRCV_LINK_STATE_DOWN)
/TcpIp_RequestComMode(TCPIP_STATE_ONHOLD)
BswM_EthSM_CurrentState(ETHSM_STATE_ONHOLD) ETHSM_STATE_WAIT_OFFLINE
ETHSM_STATE_ONLINE
EthSM_RequestComMode(COMM_NO_COMMUNICATION)
/TcpIp_RequestComMode(TCPIP_STATE_OFFLINE)
BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_OFFLINE)
The Ethernet State Manager network mode state machine includes six sub states:
NO_COMMUNICATION ETHSM_STATE_OFFLINE
ETHSM_STATE_WAIT_TRCVLINK
ETHSM_STATE_WAIT_ONLINE
FULL_COMMUNICATION ETHSM_STATE_ONLINE
ETHSM_STATE_ONHOLD
ETHSM_STATE_WAIT_OFFLINE
The table below shows the detailed conditions of the sub states:
State Controller Mode Transceiver Mode Transceiver Link TcpIP Address ComM Mode
The first step is set the controller to ACTIVE. After this is done, the Ethernet State
Manager is in the sub state ETHSM_STATE_WAIT_TRCVLINK.
In this sub state the state manager has to wait for the monitored link state information
of the transceiver. After the link state is set to ACTIVE, the Ethernet State Manager is
in the sub state ETHSM_STATE_WAIT_ONLINE.
In this sub state the state manager has to wait for the monitored TcpIp state
information of the TcpIp module. After the TcpIP state is set to ACTIVE (= IP
communication is available), the Ethernet State Manager is in the sub state
ETHSM_STATE_ONLINE.
Now FULL_COMMUNICATION is reached.
transition the EthSM shall interact like specified in the sequence diagram Figure 9-1.
⌋ ()
[SWS_EthSM_00088] ⌈
The transition from ETHSM_STATE_OFFLINE to
ETHSM_STATE_WAIT_TRCVLINK set the controller mode to ETH_MODE_ACTIVE.
⌋ ()
[SWS_EthSM_00097]⌈
After the successful transition from ETHSM_STATE_OFFLINE to
ETHSM_STATE_WAIT_TRCVLINK the Ethernet State Manager shall call the
callback function BswM_EthSM_CurrentState of the BswM and transmit the internal
state ETHSM_STATE_WAIT_TRCVLINK.⌋ ()
[SWS_EthSM_00127] ⌈
In the state ETHSM_STATE_WAIT_TRCVLINK the state machine shall have a
transition to ETHSM_STATE_OFFLINE, if the ComM requests
COMM_NO_COMMUNICATION for the corresponding network handle.⌋ ()
[SWS_EthSM_00128] ⌈
The transition from ETHSM_STATE_WAIT_TRCVLINK to
ETHSM_STATE_OFFLINE sets the controller mode to ETH_MODE_DOWN. ⌋ ()
[SWS_EthSM_00130]⌈
After the successful transition from ETHSM_STATE_WAIT_TRCVLINK to
ETHSM_STATE_OFFLINE the Ethernet State Manager shall call the callback
function BswM_EthSM_CurrentState of the BswM and transmit the internal state
ETHSM_STATE_OFFLINE.⌋ ()
[SWS_EthSM_00133] ⌈
The transition from ETHSM_STATE_WAIT_TRCVLINK to
ETHSM_STATE_WAIT_ONLINE shall request the TcpIp state
TCPIP_STATE_ONLINE from the TcpIp module.⌋ ()
[SWS_EthSM_00134]⌈
After the successful transition from ETHSM_STATE_WAIT_TRCVLINK to
ETHSM_STATE_WAIT_ONLINE the Ethernet State Manager shall call the callback
[SWS_EthSM_00136] ⌈
In the state ETHSM_STATE_WAIT_ONLINE the state machine shall have a
transition to ETHSM_STATE_WAIT_TRCVLINK, if the Ethernet interface reports
ETHTRCV_LINK_STATE_DOWN for the corresponding network handle.⌋ ()
[SWS_EthSM_00137] ⌈
The transition from ETHSM_STATE_WAIT_ONLINE to
ETHSM_STATE_WAIT_TRCVLINK shall request the TcpIp state
TCPIP_STATE_OFFLINE from the TcpIp module.⌋ ()
[SWS_EthSM_00138]⌈
After the successful transition from ETHSM_STATE_WAIT_ONLINE to
ETHSM_STATE_WAIT_TRCVLINK the Ethernet State Manager shall call the
callback function BswM_EthSM_CurrentState of the BswM and transmit the internal
state ETHSM_STATE_WAIT_TRCVLINK.⌋ ()
[SWS_EthSM_00141] ⌈
The transition from ETHSM_STATE_WAIT_ONLINE to ETHSM_STATE_OFFLINE
sets the controller mode to ETH_MODE_DOWN. ⌋ ()
[SWS_EthSM_00143] ⌈
The transition from ETHSM_STATE_WAIT_ONLINE to ETHSM_STATE_OFFLINE
shall request the TcpIp state TCPIP_STATE_OFFLINE from the TcpIp module.⌋()
[SWS_EthSM_00144]⌈
After the successful transition from ETHSM_STATE_WAIT_ONLINE to
ETHSM_STATE_OFFLINE the Ethernet State Manager shall call the callback
function BswM_EthSM_CurrentState of the BswM and transmit the internal state
ETHSM_STATE_OFFLINE.⌋ ()
[SWS_EthSM_00148]⌈
After the successful transition from ETHSM_STATE_WAIT_ONLINE to
ETHSM_STATE_ONLINE the Ethernet State Manager shall call the callback function
BswM_EthSM_CurrentState of the BswM and transmit the internal state
ETHSM_STATE_ONLINE.⌋ ()
[SWS_EthSM_00150]⌈
After the successful transition from ETHSM_STATE_WAIT_ONLINE to
ETHSM_STATE_ONLINE the Ethernet State Manager shall call the callback function
ComM_BusSM_ModeIndication of the ComM and transmit the communication mode
(COMM_FULL_COMMUNICATION).⌋()
[SWS_EthSM_00151] ⌈
In the state ETHSM_STATE_ONLINE the state machine shall have a transition to
ETHSM_STATE_WAIT_ONLINE, if the TcpIp modul reports
TCPIP_STATE_OFFLINE for the corresponding network handle.⌋ ()
[SWS_EthSM_00152] ⌈
After the successful transition from ETHSM_STATE_ONLINE to
ETHSM_STATE_WAIT_ONLINE the Ethernet State Manager shall call the callback
function BswM_EthSM_CurrentState of the BswM and transmit the internal state
ETHSM_STATE_WAIT_ONLINE.⌋ ()
[SWS_EthSM_00154] ⌈
After the successful transition from ETHSM_STATE_ONLINE to
ETHSM_STATE_WAIT_ONLINE the Ethernet State Manager shall call the callback
function ComM_BusSM_ModeIndication of the ComM and transmit the
communication mode (COMM_NO_COMMUNICATION). ⌋()
EthSM_RequestComMode(NetworkHandle,
EthSM Initial State:
EthSM_STATE_ONLINE ComM_Mode := COMM_NO_COMMUNICATION)
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_WAIT_OFFLINE)
EthIf_SetControllerMode(CtrlIdx,
CtrlMode = ETH_MODE_DOWN)
EthSM_CtrlModeIndication(CtrlIdx,
CtrlMode := ETH_MODE_DOWN)
ETHSM_STATE_OFFLINE
BswM_EthSM_CurrentState(Network,
CurrentState := ETHSM_STATE_OFFLINE)
ComM_BusSM_ModeIndication(Channel,
ComMode := COMM_NO_COMMUNICATION)
Figure 9-2.⌋ ()
[SWS_EthSM_00157] ⌈
After entering the state ETHSM_STATE_WAIT_OFFLINE, the API
TcpIp_RequestComMode shall be called with TCPIP_STATE_OFFLINE. ⌋()
[SWS_EthSM_00158]⌈
After the successful transition from ETHSM_STATE_ONLINE to
ETHSM_STATE_WAIT_OFFLINE the Ethernet State Manager shall call the callback
function BswM_EthSM_CurrentState of the BswM and transmit the internal state
ETHSM_STATE_WAIT_OFFLINE.⌋ ()
EthSM_RequestComMode(NetworkHandle,
EthSM Initial State:
EthSM_STATE_ONLINE ComM_Mode := COMM_NO_COMMUNICATION)
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_WAIT_OFFLINE)
EthIf_SetControllerMode(CtrlIdx,
CtrlMode = ETH_MODE_DOWN)
EthSM_CtrlModeIndication(CtrlIdx,
CtrlMode := ETH_MODE_DOWN)
ETHSM_STATE_OFFLINE
BswM_EthSM_CurrentState(Network,
CurrentState := ETHSM_STATE_OFFLINE)
ComM_BusSM_ModeIndication(Channel,
ComMode := COMM_NO_COMMUNICATION)
Figure 9-2.⌋ ()
[SWS_EthSM_00161] ⌈
The transition from ETHSM_STATE_WAIT_OFFLINE to ETHSM_STATE_OFFLINE
sets the controller mode to ETH_MODE_DOWN. ⌋ ()
[SWS_EthSM_00163] ⌈
After the successful transition from ETHSM_STATE_WAIT_OFFLINE to
ETHSM_STATE_OFFLINE the Ethernet State Manager shall call the callback
function BswM_EthSM_CurrentState of the BswM and transmit the internal state
ETHSM_STATE_OFFLINE.⌋ ()
[SWS_EthSM_00165] ⌈
After the successful transition from ETHSM_STATE_WAIT_OFFLINE to
ETHSM_STATE_OFFLINE the Ethernet State Manager shall call the callback
function ComM_BusSM_ModeIndication of the ComM and transmit the
communication mode (COMM_NO_COMMUNICATION). ⌋()
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_ONHOLD ETHSM_STATE_ONHOLD)
alt
EthSM_TrcvLinkStateChg(NetworkHandle,
[ETHSM_STATE_ONHOLD -> ETHSM_STATE_ONLINE] TransceiverLinkState := ETHTRCV_LINK_STATE_ACTIVE)
ETHSM_STATE_ONHOLD
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_ONLINE ETHSM_STATE_ONLINE)
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_WAIT_TRCVLINK)
ETHSM_STATE_WAIT_TRCVLINK
ComM_BusSM_ModeIndication(Channel,
ComMode := COMM_NO_COMMUNICATION)
EthIf_SetControllerMode(CtrlIdx,
CtrlMode := ETH_MODE_DOWN)
EthSM_CtrlModeIndication(CtrlIdx,
CtrlMode := ETH_MODE_DOWN)
BswM_EthSM_CurrentState(Network,
CurrentState := ETHSM_STATE_OFFLINE)
ETHSM_STATE_OFFLINE
ComM_BusSM_ModeIndication(Channel,
ComMode := COMM_NO_COMMUNICATION)
Figure 9-3.⌋ ()
[SWS_EthSM_00167] ⌈
The transition from ETHSM_STATE_ONLINE to ETHSM_STATE_ONHOLD shall
request the TcpIp state TCPIP_STATE_ONHOLD from the TcpIp module.⌋ ()
[SWS_EthSM_00168]⌈
After the successful transition from ETHSM_STATE_ONLINE to
ETHSM_STATE_ONHOLD the Ethernet State Manager shall call the callback
function BswM_EthSM_CurrentState of the BswM and transmit the internal state
ETHSM_STATE_ONHOLD.⌋ ()
[SWS_EthSM_00170] ⌈
In the state ETHSM_STATE_ONHOLD the state machine shall have a transition to
ETHSM_STATE_ONLINE, if the Ethernet interface reports
ETHTRCV_LINK_STATE_ACTIVE for the corresponding network handle.⌋ ()
[SWS_EthSM_00171] ⌈
The transition from ETHSM_STATE_ONHOLD to ETHSM_STATE_ONLINE shall
request the TcpIp state TCPIP_STATE_ONLINE from the TcpIp module.⌋ ()
[SWS_EthSM_00172]⌈
After the successful transition from ETHSM_STATE_ONHOLD to
ETHSM_STATE_ONLINE the Ethernet State Manager shall call the callback function
BswM_EthSM_CurrentState of the BswM and transmit the internal state
ETHSM_STATE_ONLINE.⌋ ()
[SWS_EthSM_00188]⌈
If the optional configuration parameter ETHSM_E_LINK_DOWN exists,
ETHSM_E_LINK_DOWN with EventStatus DEM_EVENT_STATUS_FAILED shall be
reported to the DEM module when switching from ETHSM_STATE_ONLINE to
ETHSM_STATE_ONHOLD.⌋ ()
[SWS_EthSM_00196]⌈
If the optional configuration parameter ETHSM_E_LINK_DOWN exists,
ETHSM_E_LINK_DOWN with EventStatus DEM_EVENT_STATUS_PASSED shall
be reported to the DEM module when switching from ETHSM_STATE_ONHOLD to
ETHSM_STATE_ONLINE.⌋ ()
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_ONHOLD ETHSM_STATE_ONHOLD)
alt
EthSM_TrcvLinkStateChg(NetworkHandle,
[ETHSM_STATE_ONHOLD -> ETHSM_STATE_ONLINE] TransceiverLinkState := ETHTRCV_LINK_STATE_ACTIVE)
ETHSM_STATE_ONHOLD
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_ONLINE ETHSM_STATE_ONLINE)
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_WAIT_TRCVLINK)
ETHSM_STATE_WAIT_TRCVLINK
ComM_BusSM_ModeIndication(Channel,
ComMode := COMM_NO_COMMUNICATION)
EthIf_SetControllerMode(CtrlIdx,
CtrlMode := ETH_MODE_DOWN)
EthSM_CtrlModeIndication(CtrlIdx,
CtrlMode := ETH_MODE_DOWN)
BswM_EthSM_CurrentState(Network,
CurrentState := ETHSM_STATE_OFFLINE)
ETHSM_STATE_OFFLINE
ComM_BusSM_ModeIndication(Channel,
ComMode := COMM_NO_COMMUNICATION)
Figure 9-3.⌋ ()
[SWS_EthSM_00175] ⌈
After the successful transition from ETHSM_STATE_ONHOLD to
ETHSM_STATE_WAIT_TRCVLINK the Ethernet State Manager shall call the
[SWS_EthSM_00177] ⌈
After the successful transition from ETHSM_STATE_ONHOLD to E
ETHSM_STATE_WAIT_TRCVLINK the Ethernet State Manager shall call the
callback function ComM_BusSM_ModeIndication of the ComM and transmit the
communication mode (COMM_NO_COMMUNICATION). ⌋ ()
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_ONHOLD ETHSM_STATE_ONHOLD)
alt
EthSM_TrcvLinkStateChg(NetworkHandle,
[ETHSM_STATE_ONHOLD -> ETHSM_STATE_ONLINE] TransceiverLinkState := ETHTRCV_LINK_STATE_ACTIVE)
ETHSM_STATE_ONHOLD
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_ONLINE ETHSM_STATE_ONLINE)
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_WAIT_TRCVLINK)
ETHSM_STATE_WAIT_TRCVLINK
ComM_BusSM_ModeIndication(Channel,
ComMode := COMM_NO_COMMUNICATION)
EthIf_SetControllerMode(CtrlIdx,
CtrlMode := ETH_MODE_DOWN)
EthSM_CtrlModeIndication(CtrlIdx,
CtrlMode := ETH_MODE_DOWN)
BswM_EthSM_CurrentState(Network,
CurrentState := ETHSM_STATE_OFFLINE)
ETHSM_STATE_OFFLINE
ComM_BusSM_ModeIndication(Channel,
ComMode := COMM_NO_COMMUNICATION)
Figure 9-3.⌋ ()
[SWS_EthSM_00179] ⌈
The transition from ETHSM_STATE_ONHOLD to ETHSM_STATE_OFFLINE sets
the controller mode to ETH_MODE_DOWN. ⌋ ()
[SWS_EthSM_00181]⌈
The transition from ETHSM_STATE_ONHOLD to ETHSM_STATE_OFFLINE shall
request the TcpIp state TCPIP_STATE_OFFLINE from the TcpIp module.⌋ ()
[SWS_EthSM_00182]⌈
After the successful transition from ETHSM_STATE_ONHOLD to
ETHSM_STATE_OFFLINE the Ethernet State Manager shall call the callback
function BswM_EthSM_CurrentState of the BswM and transmit the internal state
ETHSM_STATE_OFFLINE.⌋ ()
[SWS_EthSM_00184]⌈
After the successful transition from ETHSM_STATE_ONHOLD to
ETHSM_STATE_OFFLINE the Ethernet State Manager shall call the callback
function ComM_BusSM_ModeIndication of the ComM and transmit the
communication mode (COMM_NO_COMMUNICATION). ⌋ ()
EthSM_RequestComMode(NetworkHandle,
EthSM Initial State:
EthSM_STATE_ONLINE ComM_Mode := COMM_NO_COMMUNICATION)
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_WAIT_OFFLINE)
EthIf_SetControllerMode(CtrlIdx,
CtrlMode = ETH_MODE_DOWN)
EthSM_CtrlModeIndication(CtrlIdx,
CtrlMode := ETH_MODE_DOWN)
ETHSM_STATE_OFFLINE
BswM_EthSM_CurrentState(Network,
CurrentState := ETHSM_STATE_OFFLINE)
ComM_BusSM_ModeIndication(Channel,
ComMode := COMM_NO_COMMUNICATION)
Figure 9-2).
The ComM needs the information about the communication states, e.g.
COMM_FULL_COMMUNICATION or COMM_NO_COMMUNICATION.
The BswM needs the information about the EthSM internal states, see
[SWS_EthSM_00041].⌋ ()
[SWS_EthSM_00200]⌈
35 of 54 Document ID 415: AUTOSAR_SWS_EthernetStateManager
- AUTOSAR confidential -
Specification of Ethernet State Manager
AUTOSAR CP Release 4.4.0
Variant 1 Variant 2
Adapted COTS
COTS Stack
Stack AUTOSAR
component
Ethernet
Interface Non-AUTOSAR
COTS Driver component
Ethernet Driver
[SWS_EthSM_00078]⌈
It is possible to set the Ethernet State Manager in a dummy mode (see chapter 10
configuration specification). In this mode, the Ethernet State Manager doesn’t
support the API to the Ethernet interface. The API to the ComM is available but the
functionality is deactivated. The function calls from the ComM will be answered with
the return value E_OK.⌋ ()
8 API specification
8.2.1 EthSM_NetworkModeStateType
[SWS_EthSM_00041] ⌈
Name: EthSM_NetworkModeStateType
Type: Enumeration
Range: ETHSM_STATE_OFFLINE -- EthSM is initialized in this state.
ETHSM_STATE_WAIT_TRCVLINK -- ComM requests COMM_FULL_-
COMMUNICATION in this state.
Controller will be set to ACTIVE.
EthSM waits for transceiver link state (ACTIVE).
ETHSM_STATE_WAIT_ONLINE -- Transceiver link state is ACTIVE
EthSM waits for IP communication (TcpIP state
= ONLINE)
ETHSM_STATE_ONLINE -- IP communication is available
ComM state COMM_FULL_COMMUNICATION
is reached
ETHSM_STATE_ONHOLD -- EthSM lost active transceiver link state, TcpIP
state is still ONLINE)
ETHSM_STATE_WAIT_OFFLINE -- ComM requests COMM_NO_-
COMMUNICATION in this state.
Description: This type shall define the states of the network mode state machine.
Available via: EthSM.h
⌋ ()
Note:
Depending on the Ethernet hardware, it may become necessary that
implementations deviate from API specifications in respect to the
asynchronous/synchronous behaviour.
8.3.1 EthSM_Init
[SWS_EthSM_00043] ⌈
Service name: EthSM_Init
Syntax: void EthSM_Init(
void
)
Service ID[hex]: 0x07
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): None
Parameters None
(inout):
Parameters (out): None
Return value: None
Description: This function initialize the EthSM.
Available via: EthSM.h
⌋ (SRS_BSW_00405, SRS_BSW_00101, SRS_BSW_00358, SRS_BSW_00414)
8.3.2 EthSM_GetVersionInfo
[SWS_EthSM_00046] ⌈
Service name: EthSM_GetVersionInfo
Syntax: void EthSM_GetVersionInfo(
Std_VersionInfoType* versioninfo
)
Service ID[hex]: 0x02
Sync/Async: Synchronous
Reentrancy: Reentrant
Parameters (in): None
Parameters None
(inout):
Parameters (out): versioninfo Pointer where to put out the version information.
Return value: None
Description: This service puts out the version information of this module.
Available via: EthSM.h
⌋ (SRS_BSW_00407, SRS_BSW_00003)
8.3.3 EthSM_RequestComMode
[SWS_EthSM_00050] ⌈
39 of 54 Document ID 415: AUTOSAR_SWS_EthernetStateManager
- AUTOSAR confidential -
Specification of Ethernet State Manager
AUTOSAR CP Release 4.4.0
[SWS_EthSM_00051] ⌈
The function EthSM_RequestComMode checks the network handle of the request. It
only accepts the request, if the network handle of the request is a handle contained in
the EthSM configuration (configuration parameter EthSMNetworkHandle). In this case
the return value is set to E_OK.
If it is not contained in the configuration, the function denies the request. In this case the
return value is set to E_NOT_OK.⌋ ()
[SWS_EthSM_00052] ⌈
The function EthSM_RequestComMode shall report
ETHSM_E_INVALID_NETWORK_HANDLE to the DET, if it does not accept the network
handle of the request.⌋ ()
[SWS_EthSM_00095] ⌈
The function EthSM_RequestComMode shall report
ETHSM_E_INVALID_NETWORK_MODE to the DET, if it does not accept the ComM_Mode
of the request.⌋ ()
[SWS_EthSM_00053] ⌈
If the function EthSM_RequestComMode accepts the function call, it shall store the
communication mode for the network handle and the corresponding network mode
switch of the state machine shall be initiated in the next main function cycle latest.⌋ ()
[SWS_EthSM_00054] ⌈
The function EthSM_RequestComMode shall report ETHSM_E_UNINIT to the DET, if
the EthSM is not initialized yet.⌋ (SRS_BSW_00406)
[SWS_EthSM_00199]⌈
8.3.4 EthSM_GetCurrentComMode
[SWS_EthSM_00055] ⌈
Service name: EthSM_GetCurrentComMode
Syntax: Std_ReturnType EthSM_GetCurrentComMode(
NetworkHandleType NetworkHandle,
ComM_ModeType* ComM_ModePtr
)
Service ID[hex]: 0x04
Sync/Async: Synchronous
Reentrancy: Non Reentrant
NetworkHandle Network handle whose current communication mode shall be put
Parameters (in):
out
Parameters None
(inout):
Parameters (out): ComM_ModePtr Pointer where to put out the current communication mode
Std_ReturnType E_OK: Service accepted
Return value:
E_NOT_OK: Service denied
Description: This service shall put out the current communication mode of a Ethernet network.
Available via: EthSM.h
⌋ ()
[SWS_EthSM_00057] ⌈
The function EthSM_GetCurrentComMode checks the network handle of the service
request. It only accepts the service, if the network handle of the request is a handle
contained in the EthSM configuration (configuration parameter EthSMNetworkHandle).
In this case the return value is set to E_OK.
If it is not contained in the configuration, the function denies the request. In this case the
return value is set to E_NOT_OK.⌋ ()
[SWS_EthSM_00058] ⌈
The function EthSM_GetCurrentComMode shall report
ETHSM_E_INVALID_NETWORK_HANDLE to the DET, if it does not accept the network
handle of the request.⌋ ()
[SWS_EthSM_00059] ⌈
The function EthSM_GetCurrentComMode puts out the current communication mode
for the network handle to the designated pointer of type ComM_ModeType, if it accepts
the request.⌋ ()
Remark: Because the Ethernet hardware needs a certain time to proceed with the
request and there is currently no notification mechanism specified, the real hardware
mode and the mode notified by the EthSM might be different until the hardware is ready.
[SWS_EthSM_00060] ⌈
The function EthSM_GetCurrentComMode shall report ETHSM_E_UNINIT to the
DET, if the EthSM is not initialized yet. ⌋ (SRS_BSW_00406, SRS_BSW_00374,
SRS_BSW_00003, SRS_BSW_00318)
41 of 54 Document ID 415: AUTOSAR_SWS_EthernetStateManager
- AUTOSAR confidential -
Specification of Ethernet State Manager
AUTOSAR CP Release 4.4.0
8.4.1 EthSM_CtrlModeIndication
[SWS_EthSM_00190] ⌈
Service name: EthSM_CtrlModeIndication
Syntax: void EthSM_CtrlModeIndication(
uint8 CtrlIdx,
Eth_ModeType CtrlMode
)
Service ID[hex]: 0x09
Sync/Async: Synchronous
Reentrancy: Reentrant (only for different Ethernet controllers)
CtrlIdx Ethernet Interface Controller whose mode has changed
Parameters (in):
CtrlMode Notified Ethernet Interface Controller mode
Parameters None
(inout):
Parameters (out): None
Return value: None
Description: Called when mode has been read out. Either triggered by previous
EthIf_GetControllerMode or by EthIf_SetControllerMode call. Can directly be
called within the trigger functions.
Available via: EthSM.h
⌋ ()
[SWS_EthSM_00191]⌈
If the function EthSM_CtrlModeIndication gets a CtrlIdx, which is not
configured in the configuration of the EthSM module, it shall call the function
Det_ReportError with ErrorId parameter ETHSM_E_PARAM_CONTROLLER.⌋ ()
[SWS_EthSM_00192]⌈
If the EthSM module is not initialized, when the function
EthSM_CtrlModeIndication is called, then the function
EthSM_CtrlModeIndication shall call the function Det_ReportError with
ErrorId parameter ETHSM_E_UNINIT.⌋ ()
8.4.2 EthSM_TrcvLinkStateChg
[SWS_EthSM_00109] ⌈
Service name: EthSM_TrcvLinkStateChg
Syntax: void EthSM_TrcvLinkStateChg(
uint8 CtrlIdx,
EthTrcv_LinkStateType TransceiverLinkState
)
Service ID[hex]: 0x06
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): CtrlIdx Index of the Ethernet controller within the context of the
Ethernet Interface
TransceiverLinkState Actual transceiver link state of the specific network handle
Parameters None
(inout):
Parameters (out): None
Return value: None
Description: This service is called by the Ethernet Interface to report a transceiver link state
change.
Available via: EthSM.h
⌋ ()
[SWS_EthSM_00112] ⌈
The function EthSM_TrcvLinkStateChg shall report
ETHSM_E_PARAM_CONTROLLER to the DET, if it does not accept the CtrlIdx of the
function call.⌋ ()
[SWS_EthSM_00114] ⌈
If the function EthSM_TrcvLinkStateChg does not report a DET error, it shall store
the transceiver link state for the affected network handle and the corresponding network
mode switch of the state machine shall be initiated in the next main function cycle latest.
⌋ ()
[SWS_EthSM_00115] ⌈
The function EthSM_TrcvLinkStateChg shall report ETHSM_E_UNINIT to the DET,
if the EthSM is not initialized yet.⌋ (SRS_BSW_00406)
8.4.3 EthSM_TcpIpModeIndication
[SWS_EthSM_00110] ⌈
Service name: EthSM_TcpIpModeIndication
Syntax: void EthSM_TcpIpModeIndication(
uint8 CtrlIdx,
TcpIp_StateType TcpIpState
)
Service ID[hex]: 0x08
Sync/Async: Synchronous
Reentrancy: Non Reentrant
CtrlIdx EthIf controller index to identify the communication network where the
Parameters (in): TcpIp state is changed
TcpIpState Actual TcpIp state of the specific network handle
Parameters None
(inout):
Parameters (out): None
Return value: None
Description: This service is called by the TcpIp to report the actual TcpIp state (e.g. online,
offline).
Available via: EthSM_TcpIp.h
⌋ ()
[SWS_EthSM_00116] ⌈
[SWS_EthSM_00118] ⌈
If development error detection is enabled, the parameter TcpIpState shall be checked for
being in the allowed range.
In case it is outside of the allowed range, the function EthSM_TcpIpModeIndication
shall ignore the state indication and report development error
ETHSM_E_INVALID_TCP_IP_MODE to the DET.⌋ ()
[SWS_EthSM_00119] ⌈
If the function EthSM_TcpIpModeIndication accepts the function call, it shall store
the TcpIp state for the affected network handle and the corresponding network mode
switch of the state machine shall be initiated in the next main function cycle latest.⌋ ()
[SWS_EthSM_00120] ⌈
The function EthSM_TcpIpModeIndication shall report ETHSM_E_UNINIT to the
DET, if the EthSM is not initialized yet.⌋ (SRS_BSW_00406)
8.5.1 EthSM_MainFunction
[SWS_EthSM_00035] ⌈
Service name: EthSM_MainFunction
Syntax: void EthSM_MainFunction(
void
)
Service ID[hex]: 0x01
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): None
Parameters None
(inout):
Parameters (out): None
Return value: None
Description: Cyclic Main Function which is called from the Scheduler.
Available via: EthSM_SchM.h
⌋ ()
[SWS_EthSM_00093] ⌈
The function EthSM_MainFunction shall be called cyclically with a fixed cycle time.
The cycle time could be defined via the configuration parameter
ETHSM_MAIN_FUNCTION_PERIOD. ⌋ ()
44 of 54 Document ID 415: AUTOSAR_SWS_EthernetStateManager
- AUTOSAR confidential -
Specification of Ethernet State Manager
AUTOSAR CP Release 4.4.0
[SWS_EthSM_00197] ⌈
The main function of the EthSM module shall operate the effects of the EthSM state
machine, which the EthSM module shall implement for each configured network. ⌋()
[SWS_EthSM_00198] ⌈
The EthSM shall monitor the requested and current state of the Ethernet Interface
Controller. If the EthSM detects a mismatch, it shall bring the hardware back to the
corresponding state. (i.e. FullCOM requires the state ETH_MODE_ACTIVE; NoCom
requires ETH_MODE_DOWN) ⌋()
9 Sequence diagrams
«module» «module» «module» «module» «module»
TcpIp BswM ComM EthSM EthIf
EthSM_RequestComMode(NetworkHandle,
ComM_Mode := COMM_FULL_COMMUNICATION)
EthSM Initial State:
EthSM_STATE_OFFLINE
EthIf_SetControllerMode(CtrlIdx,
CtrlMode := ETH_MODE_ACTIVE)
EthSM_CtrlModeIndication(CtrlIdx,
CtrlMode := ETH_MODE_ACTIVE)
ETHSM_STATE_WAIT_TRCVLINK
BswM_EthSM_CurrentState(Network, CurrentState :
= ETHSM_STATE_WAIT_TRCVLINK)
EthSM_TrcvLinkStateChg(NetworkHandle,
TransceiverLinkState :=
ETHTRCV_LINK_STATE_ACTIVE)
TcpIp_RequestComMode(CtrlIdx,
State := TCPIP_STATE_ONLINE)
BswM_EthSM_CurrentState(Network,
ETHSM_STATE_WAIT_ONLINE CurrentState := ETHSM_STATE_WAIT_ONLINE)
EthSM_TcpIpModeIndication(CtrlIdx,
TcpIpState := TCPIP_STATE_ONLINE)
BswM_EthSM_CurrentState(Network,
ETHSM_STATE_ONLINE CurrentState := ETHSM_STATE_ONLINE)
ComM_BusSM_ModeIndication(Channel,
ComMode := COMM_FULL_COMMUNICATION)
Figure 9-1: Network mode state machine – transition from no to full communication
EthSM_RequestComMode(NetworkHandle,
EthSM Initial State:
EthSM_STATE_ONLINE
ComM_Mode := COMM_NO_COMMUNICATION)
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_WAIT_OFFLINE)
EthIf_SetControllerMode(CtrlIdx,
CtrlMode = ETH_MODE_DOWN)
EthSM_CtrlModeIndication(CtrlIdx,
CtrlMode := ETH_MODE_DOWN)
ETHSM_STATE_OFFLINE
BswM_EthSM_CurrentState(Network,
CurrentState := ETHSM_STATE_OFFLINE)
ComM_BusSM_ModeIndication(Channel,
ComMode := COMM_NO_COMMUNICATION)
Figure 9-2: Network mode state machine – transition from full to no communication
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_ONHOLD ETHSM_STATE_ONHOLD)
alt
EthSM_TrcvLinkStateChg(NetworkHandle,
[ETHSM_STATE_ONHOLD -> ETHSM_STATE_ONLINE] TransceiverLinkState := ETHTRCV_LINK_STATE_ACTIVE)
ETHSM_STATE_ONHOLD
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_ONLINE ETHSM_STATE_ONLINE)
BswM_EthSM_CurrentState(Network, CurrentState :=
ETHSM_STATE_WAIT_TRCVLINK)
ETHSM_STATE_WAIT_TRCVLINK
ComM_BusSM_ModeIndication(Channel,
ComMode := COMM_NO_COMMUNICATION)
EthIf_SetControllerMode(CtrlIdx,
CtrlMode := ETH_MODE_DOWN)
EthSM_CtrlModeIndication(CtrlIdx,
CtrlMode := ETH_MODE_DOWN)
BswM_EthSM_CurrentState(Network,
CurrentState := ETHSM_STATE_OFFLINE)
ETHSM_STATE_OFFLINE
ComM_BusSM_ModeIndication(Channel,
ComMode := COMM_NO_COMMUNICATION)
10 Configuration specification
In general, this chapter defines configuration parameters and their clustering into
containers. In order to support the specification Chapter 10.1 describes
fundamentals. It also specifies a template (table) you shall use for the parameter
specification. We intend to leave Chapter 10.1 in the specification to guarantee
comprehension.
Chapter 10.2 specifies the structure (containers) and the parameters of the module
EthSM.
10.2.2 EthSM
SWS Item ECUC_EthSM_00108 :
Module Name EthSM
Module Description Configuration of the Ethernet State Manager
Post-Build Variant Support false
Supported Config Variants VARIANT-PRE-COMPILE
Included Containers
Container Name Multiplicity Scope / Dependency
This container contains the global parameter of the Ethernet
EthSMGeneral 1
State Manager.
This container contains the Ethernet network-specific
parameters of each Ethernet network. It also contains the
EthSMNetwork 1..*
reference to combination of controller and transceiver
assigned to an Ethernet network.
EthSM :EcucModuleDef
EthSMGeneral : EthSMDevErrorDetect :
EcucParamConfContainerDef +parameter
lowerMultiplicity = 0 EcucBooleanParamDef
upperMultiplicity = 1
defaultValue = false
EthSMMainFunctionPeriod :
+parameter EcucFloatParamDef
+container min = 0
max = INF
+parameter EthSMDummyMode :
EcucBooleanParamDef
+parameter EthSMVersionInfoApi :
EcucBooleanParamDef
defaultValue = false
EthSMNetwork : ComMChannel :
+reference EthSMComMNetworkHandleRef : +destination EcucParamConfContainerDef
EcucParamConfContainerDef EcucSymbolicNameReferenceDef
lowerMultiplicity = 1 lowerMultiplicity = 1
upperMultiplicity = * upperMultiplicity = 256
(from ComM)
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = 1
+destination
DemEventId :
DemEventParameter :
EcucIntegerParamDef
EcucParamConfContainerDef +parameter
max = 65535
upperMultiplicity = 65535
min = 1
lowerMultiplicity = 1
symbolicNameValue = true
(from Dem)
(from Dem)
10.2.3 EthSMGeneral
SWS Item ECUC_EthSM_00063 :
Container Name EthSMGeneral
This container contains the global parameter of the Ethernet State
Description
Manager.
Configuration Parameters
No Included Containers
10.2.4 EthSMNetwork
SWS Item ECUC_EthSM_00067 :
Container Name EthSMNetwork
This container contains the Ethernet network-specific parameters of each
Description Ethernet network. It also contains the reference to combination of
controller and transceiver assigned to an Ethernet network.
Configuration Parameters
Name EthSMComMNetworkHandleRef
Parent Container EthSMNetwork
Description Unique handle to identify one certain Ethernet network. Reference to one
of the network handles configured for the ComM.
Multiplicity 1
Type Symbolic name reference to [ ComMChannel ]
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Included Containers
Container Name Multiplicity Scope / Dependency
Container for the references to DemEventParameter
elements which shall be invoked using the API
Dem_SetEventStatus in case the corresponding error
EthSMDemEventParameterRef
0..1 occurs. The EventId is taken from the referenced
s
DemEventParameter's DemEventId symbolic value. The
standardized errors are provided in this container and can
be extended by vendor-specific error references.
10.2.5 EthSMDemEventParameterRefs
SWS Item ECUC_EthSM_00106 :
Container Name EthSMDemEventParameterRefs
Container for the references to DemEventParameter elements which shall
be invoked using the API Dem_SetEventStatus in case the corresponding
error occurs. The EventId is taken from the referenced
Description
DemEventParameter's DemEventId symbolic value. The standardized
errors are provided in this container and can be extended by vendor-
specific error references.
Configuration Parameters
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Multiplicity Configuration Pre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
No Included Containers