From 7605115b6dbbddf6ad0435e25de085a580467959 Mon Sep 17 00:00:00 2001 From: Klaus Schuch Date: Wed, 18 Dec 2024 17:27:34 +0100 Subject: [PATCH] Rewrite text regarding BusNotifications parameter for CAN --- docs/4_4_1_can.adoc | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/docs/4_4_1_can.adoc b/docs/4_4_1_can.adoc index 9c942351..92dc1652 100644 --- a/docs/4_4_1_can.adoc +++ b/docs/4_4_1_can.adoc @@ -268,10 +268,10 @@ The following applies for this operation: `Length = 12`. |The ID of the confirmed CAN message. h|Behavior -3+|This operation shall be produced by the Bus Simulation and consumed by Network FMUs. +3+|This operation shall be produced by the Bus Simulation and consumed by Network FMUs. + Only Network FMUs with the corresponding optionally exposed <> parameter set to `true` might wait for this operation. -A Network FMU shall ignore this operation if it doesn't wait for this operation. -Depending on the <> of the specified Network FMU further restrictions for <> operations <>. +A Network FMU shall ignore this operation if it doesn't wait for this operation. + +Depending on the <> of the receiving Network FMU further restrictions for <> operations <>. |==== @@ -311,9 +311,9 @@ h|Behavior 3+|During simulation, several <> operations can be sent by Network FMUs to a Bus Simulation at the same time. In such case, the Bus Simulation has to decide which <> operation should be processed first. Depending on the configuration (see the `Arbitration Lost Behavior` argument of the <> operation), the deferred <> operations shall either be buffered or they shall be discarded and the <> operation shall be sent back to the respective Network FMUs. -A Network FMU receiving the <> operation can decide to provide the <> operation again or e.g., to raise an internal transmit timeout failure after a while. -Only Network FMUs with the corresponding optionally exposed <> parameter set to `true` might wait for this operation. -A Network FMU shall ignore this operation if it doesn't wait for this operation. +A Network FMU receiving the <> operation can decide to provide the <> operation again or e.g., to raise an internal transmit timeout failure after a while. + +Only Network FMUs with the corresponding optionally exposed <> parameter set to `true` might wait for this operation and respond accordingly. +A Network FMU shall ignore this operation if it doesn't wait for a response operation. |==== @@ -365,9 +365,9 @@ Based on consumed <> operations, N To determine the CAN node state properly, Network FMUs need the information about their role at the time when the simulated error happened. For a Network FMU that initiated the <> operation, the argument `Is Sender` shall be set to `TRUE` in the corresponding <> operation. For a Network FMU considered to be the one detecting the error first, the argument `Error Flag = PRIMARY_ERROR_FLAG` shall be set. -The arguments `Is Sender = TRUE` and `Error Flag = PRIMARY_ERROR_FLAG` must only be set once per simulated error. -Only Network FMUs with the corresponding optionally exposed <> parameter set to `true` might wait for this operation. -A Network FMU shall ignore this operation if it doesn't wait for this operation. +The arguments `Is Sender = TRUE` and `Error Flag = PRIMARY_ERROR_FLAG` must only be set once per simulated error. + +Only Network FMUs with the corresponding optionally exposed <> parameter set to `true` might wait for this operation and respond accordingly. +A Network FMU shall ignore this operation if it doesn't wait for a response operation. |==== @@ -487,7 +487,6 @@ A Network FMU shall ignore this operation on the consumer side. <> operations can be produced multiple times during the runtime of a Network FMU. In context of CAN FD, also a CAN baud rate should be configured by using `Parameter Type = CAN_BAUDRATE`. If configuration parameters are not adjusted by a Network FMU, the Bus Simulation shall choose a default behavior by itself. - |==== The following configuration parameters are defined: @@ -612,21 +611,19 @@ If a Network FMU does not support wake up, this operation can be ignored on the |==== ===== Network Parameters [[low-cut-can-network-parameters]] -By using configuration parameters on Bus Terminal level, Network FMUs can be parameterized by the user or the Bus Simulation (by using e.g. the parameter propagation mechanism). -This chapter specifies the configuration parameters that each CAN-specific Network FMU shall provide. +This chapter defines parameters that Network FMU might provide to configure CAN-specific behavior. ====== Bus Notification Parameter [[low-cut-can-bus-notification-parameter]] For a detailed simulation, the CAN bus behavior regarding acknowledgment, bus errors and arbitration losses must be considered. A Bus Simulation can simulate these effects by sending bus notifications in terms of <>, <> and <> operations to the Network FMUs. However, in scenarios where Network FMUs are connected directly to each other, or where the Bus Simulation does not simulate such effects, it must be possible to configure the Network FMU such that it does not wait for any response after a <> operation. -Therefore, the <> configuration parameter is introduced for each CAN Bus Terminal. -If a Network FMU is not supporting bus notifications at all, the configuration parameter shall be omitted. -If a Network FMU supports bus notifications, the configuration parameter shall be defined with a default value set to `false` to allow the Network FMU to be run natively in each simulation scenario. -If the value of the configuration parameter is set to `false`, the Network FMU must not wait for any response after a <> operation ("fire-and-forget"). -If the Network FMU shall be configured to handle responses in the form of <>, <> and <> operations, the <> configuration parameter shall be set to `true`. -A Network FMU must always be able to handle the case that the Bus Simulation does not provide <>, <> or <> operations. -Since a Bus Simulation is allowed to provide bus notification regardless of the <> configuration parameter, Network FMUs must silently ignore such notifications if the value of <> is set to `false` or the parameter is omitted. + +Therefore, a parameter with memberName=<> can be added to a CAN Bus Terminal. + +If a Network FMU supports bus notifications, the <> parameter shall be exposed. +The default value of this parameter shall be `false`. + +_[The default value `false` allows a simple integration of Network FMUs to simulation scenarios where <>, <> or <> operations are not used.]_ + +Only Network FMUs with the corresponding optionally exposed <> parameter set to `true` might wait for <>, <> and <> operations and respond accordingly, Network FMUs must not wait otherwise ("fire-and-forget"). + _[This does not necessarily mean the FMU must fully support CAN error handling or sophisticated arbitration mechanisms._ _A simple Network FMU might also choose to treat Bus Error or Arbitration operations in a simplified manner, e.g., by treating them as a positive confirmation.]_