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.
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.
Property Value¶
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.
Property Value¶
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.
Property Value¶
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.