Skip to content

LssMasterOptions Class

Timeouts of an ILssMaster. CiA 305 leaves them to the implementation and asks that they be adjustable (annex A.2, A.3.3). A slave must answer inside the timeout. Fastscan and identify occupy that whole window from the request, so a late reply is consumed before the next master frame.

public sealed class LssMasterOptions

Inheritance Object → LssMasterOptions

Properties

LssMasterOptions.BitRateSwitch Property

Called from ActivateBitTimingAsync(ushort, Nullable<int>, bool, CancellationToken) after the first switch-delay period, with the bit rate the caller named. The callback retunes the channel this master is already reading. It must not dispose that bus: the second delay, and the waiting frame returnToWaiting sends after both periods, still use it. With returnToWaiting and a positive delay the token is the master's lifetime, not the caller's: the switch follows the slaves even when the caller has cancelled, and disposing the master cancels it. Specifying a bit rate on the call requires this callback. Leave both unset to leave the adapter alone. A caller whose adapter cannot change rate while open omits returnToWaiting, disposes this master after the call returns, and sends switch state global from a new master on the new bus.

public System.Func<int,System.Threading.CancellationToken,System.Threading.Tasks.Task>? BitRateSwitch { get; init; }

Property Value

Func<Int32,CancellationToken,Task>

LssMasterOptions.FastscanCycleTime Property

Extra gap after a Fastscan step's response window, before the next Fastscan request (annex A.3.3, master cycle time), including a new scan. The completed scan returns without waiting for this gap. The window itself is FastscanTimeout. Defaults to 1 ms. Zero disables the extra gap.

public System.TimeSpan FastscanCycleTime { get; init; }

Property Value

TimeSpan

LssMasterOptions.FastscanTimeout Property

How long one Fastscan step occupies, measured from the request (annex A.3.3, master response timeout). The step waits out the whole window even after the first response, so a later reply is not read as the next bit. A miss means "this bit is 1" or "no slave", so this should be only as long as the slowest slave needs. Defaults to 50 ms.

public System.TimeSpan FastscanTimeout { get; init; }

Property Value

TimeSpan

LssMasterOptions.IdentificationTimeout Property

How long an identify service waits, measured from the request. The call occupies the whole window and returns true when any slave answered. Defaults to 100 ms.

public System.TimeSpan IdentificationTimeout { get; init; }

Property Value

TimeSpan

LssMasterOptions.ResponseTimeout Property

How long a confirmed service (configure, store, inquire, selective switch) waits for the slave. Selective switch treats the timeout as "no slave matched", not as a failure. Defaults to 1 second, the same order as the SDO client timeout.

public System.TimeSpan ResponseTimeout { get; init; }

Property Value

TimeSpan