BSWM Actions
The Basic Software Mode Manager controls multiple parts of BSW modules through actions. Learn the available actions in this article
As we mentioned previously, in our first article related to the BSW Mode Manager (BswM), its job is to implement mode management for your Autosar-based ECU. This process is performed by mode arbitration, evaluating if a mode switch can be performed, based on mode indications, and mode control, performing the switched through the execution of a set of actions, named action lists. Hopefully, by this time you have read our article BswM Overview (opens in a new tab), and if not, please do. This article is a follow-up on it.
Today, let's build up our BSWM knowledge by checking which actions are available for the BSWM, actions we can use to interact with other BSW modules:
-
BswMClearEventRequest - Clear an event request referenced by the BswMEventRequestPort, which will be put into the CLEAR state upon executing this action
-
BswMComMAllowCom - Allow or block communication from a ComM channel. The initial value is gathered by calling ComM_CommunicationAllowed
-
BswMComMModeLimitation - Limits the communication mode for a ComM channel, such as no / silent / full communication. All ComM channels are configured through an API call to ComM_LimitChannelToNoComMode, when the action is configured
-
BswMComMModeSwitch - Switch the communication mode for a ComM user. The ComM user is configured through an API call to ComM_RequestComMode, upon action configuration
-
BswMCoreHaltMode - Select the halt mode to apply into the ECU. These halt modes are dependent on the OS implementation and underlying CPU. The available modes are defined as strings by the OS
-
BswMDeadlineMonitoringControl - Enable and disable deadline monitoring for one or mode PDUs in the COM
-
BswMEcuMDriverInitListBswM - Action to trigger an EcuM driver initialization list
-
BswMEcuMGoDownHaltPoll - Action to trigger the EcuM action EcuM_GoDownHaltPoll, which will instruct the ECU to go into a sleep, reset or OFF mode, depending on the previously selected shutdown target
-
BswMEcuMSelectShutdownTarget - Define the shutdown target, which will then be executed by the BswM action BswMEcuMGoDownHaltPoll
-
BswMEcuMStateSwitch - Switch the state of the EcuM. In case you want to learn about the available modes, you can read our article Mode Management (opens in a new tab)
-
BswMEthIfSwitchPortGroupRequestMode - Request a mode for the EthIfSwtPortGroup. Upon action execution, the API EthIf_SwitchPortGroupRequestMode is called
-
BswMFrSMAllSlots - Request an exit from from FlexRay KeySlotOnlyMode. The API FrSM_AllSlots is called upon action execution
-
BswMJ1939DcmStateSwitch - Switch a J1939 DCM network state for a J1939 node. The API J1939Dcm_SetState is called when this action is executed. You can learn mode about J1939 in our article What is J1939 (opens in a new tab)
-
BswMJ1939RmStateSwitch - Switch the state of a J1939 Request Manager of a J1939 node. The API J1939Rm_SetState is called when this action is executed
-
BswMLinScheduleSwitch - Switch a LIN schedule table. The API LinSM_ScheduleRequest is called to execute the action. If you want to learn mode about LIN, you can read our article What is LIN (opens in a new tab)
-
BswMNMControl - Enable or disable NM (Network Management) communication, which calls either Nm_EnableCommunication or Nm_DisableCommunication APIs upon action execution. This is usually requested from the DCM (Diagnostics Communication Manager) module
-
BswMPduGroupSwitch - Enable or disable a PDU group defined in the PDUR (PDU Router)
-
BswMPduRouterControl - Enable or disable routing of routing path groups defined in the PDUR. This action can call either the PduR_EnableRouting or the PduR_DisableRouting APIs
-
BswMRteModeRequest - Mode request that the BswM will send to a SW-C which is acting as a mode manager. The API RTE_Write is called when this action is configured
-
BswMRteStart - Action to call the RTE_Start API
-
BswMRteStop - Action to call the RTE_Stop API
-
BswMRteSwitch - Define a mode switch indication that the BswM provides to a SW-C that needs to be notified on a mode switch from the RTE. The API Rte_Switch is called upon action configuration
-
BswMSchMSwitch - Define a mode switch indication that the BswM provides to a SW-C that needs to be notified on a mode switch from the SchM (Scheduler Manager). The API SchM_Switch is called upon action configuration
-
BswMSdClientServiceModeRequest - Select a client service of SD (Service Discovery). The API Sd_ClientServiceSetState is called when the action is configured
-
BswMSdConsumedEventGroupModeRequest - Select a consumed EventGroup of SD. The API Sd_ConsumedEventGroupSetState is called when the action is configured
-
BswMSdServerServiceModeRequest - Select a server service of SD. The action configuration calls the API Sd_ServerServiceSetState
-
BswMSwitchIPduMode - Select the transmission mode of an I-PDU, to be sent by the COM. Upon action configuration, the API Com_SwitchIpduTxMode is called
-
BswMTimerControl - Action to start and stop a timer
-
BswMTriggerIPduSend - Action to trigger an I-PDU to be sent by the COM. The API Com_TriggerIPDUSend is called when this action is configured
-
BswMUserCallout - Action to call a user defined function
As you can see by the available actions, the BswM allows you to control many modules, related to communication, network management, scheduling, RTE and mode management, among others. May this act as your cheat sheet every time you need to configure the BswM. Make sure to check our other articles!
Author: Micael Coutinho (opens in a new tab)
References:
© AutosarToday —@LinkedIn