Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions docs/4_4_3_flexray.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -106,14 +106,16 @@ h|Length

|Symbol
|0x50
|:= 11 +
|:= 13 +
(4 bytes)
|Cycle ID +
(1 byte)
|Channel +
(1 byte)
6+|Type +
1+|Type +
(1 byte)
5+|Slot ID +
(2 byte)

|====

Expand Down Expand Up @@ -610,15 +612,15 @@ h|Description
3+|Operation representing a symbol transmitted in the FlexRay symbol window.
h|OP Code [hex]
3+|0x50
.6+h|Content h|Argument h|Length h|Description
.7+h|Content h|Argument h|Length h|Description
|OP Code
|4 bytes
|Contains the OP Code (0x50) of the operation.

|Length
|4 bytes
|Defines the cumulative length of all arguments in bytes.
The following applies for this operation: `Length = 11`.
The following applies for this operation: `Length = 13`.

|Cycle ID
|1 byte
Expand All @@ -633,6 +635,10 @@ If a FlexRay cycle is not yet running (for example when initiating a startup thr
|1 byte
|The specified symbol type, based on <<table-flexray-symbol-type-values, the table below>>.

|Slot ID
|2 byte
|The Slot ID of the startup frame. In case of `COLLISION_AVOIDANCE_SYMBOL`, the slot ID of the startup frame to be sent must be specified.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@msuevern the additional line break is missing here.


h|Behavior
3+|The specified operation shall be produced by a Network FMU and distributed to all participants, except the <<low-cut-flexray-symbol-operation, `Symbol`>> operation initiator, of the bus using the Bus Simulation.
Depending on the simulation details, the Bus Simulation might respond with a <<low-cut-flexray-bus-error-operation, `Bus Error`>> operation.
Expand Down Expand Up @@ -767,6 +773,7 @@ For starting the FlexRay communication, a coldstart Network FMU shall send a <<l
A Bus Simulation must forward the <<low-cut-flexray-symbol-operation, `Symbol`>> operation immediately to the other Network FMUs.
Network FMUs receiving a `COLLISION_AVOIDANCE_SYMBOL` are not allowed to send the <<low-cut-flexray-symbol-operation, `Symbol`>> operation likewise from this point onwards.
The first communication cycle is then started by sending the <<low-cut-flexray-start-communication-operation, `Start Communication`>> operation.
If more than one Network FMU receives a `COLLISION_AVOIDANCE_SYMBOL` at the same time, only the Network FMU with the lowest startup frame `Slot ID` is allowed to send the `Start Communication` operation afterwards.
Network FMUs must synchronize their internal FlexRay clock based on the received <<table-flexray-bus-start-start-time-parameter,`Start Time`>>.

.Startup initiated by a coldstart Network FMU.
Expand Down
4 changes: 3 additions & 1 deletion headers/fmi3LsBusFlexRay.h
Original file line number Diff line number Diff line change
Expand Up @@ -524,10 +524,12 @@ typedef struct
fmi3LsBusFlexRayCycleId cycleId; /**< The cycle the symbol is transmitted in. */
fmi3LsBusFlexRayChannel channel; /**< The channel(s) on which the symbol is transmitted. */
fmi3LsBusFlexRaySymbolType type; /**< The type of symbol. */
fmi3LsBusFlexRaySlotId slotId; /**< The slot ID of the startup-frame in cases of a COLLISION_AVOIDANCE_SYMBOL */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@msuevern you also had to adapt the other FlexRay header file for creating the operations via C functions. Please be aware that you also had to adapt the specified test afterwards.


} fmi3LsBusFlexRayOperationSymbol;

#if FMI3_LS_BUS_CHECK_OPERATION_SIZE == 1
static_assert(sizeof(fmi3LsBusFlexRayOperationSymbol) == (8 + 1 + 1 + 1),
static_assert(sizeof(fmi3LsBusFlexRayOperationSymbol) == (8 + 1 + 1 + 1 + 2),
"'fmi3LsBusFlexRayOperationSymbol' does not match the expected data size");
#endif

Expand Down