A "signal" is transported in the data field of a LIN frame. Each signal has exactly one publisher, i.e. it is always written by the same node in the cluster. Zero, one or multiple nodes may subscribe to the signal. All signals have initial values. The initial value for a published signal is valid until the node writes a new value to this signal. The initial value for a subscribed signal is valid until a new updated value is received from another node.
For a given data frame, a signal is either a scalar value or a byte array.
- A scalar signal is between 1 and 16 bits long.
- A 1-bit scalar signal is called a boolean signal
- Scalar signals in the size of 2 to 16 bits are treated as unsigned integers.
- A byte array is an array of between one and eight bytes.
Signal Distribution Example
The following data frame depicts 4 varying-width scalar value signals (A, B, C, D, E):