@@ -43,6 +43,39 @@ public interface IFocasClient : IDisposable
|
||||
object? value,
|
||||
CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Write a CNC parameter value via <c>cnc_wrparam</c> (FWLIB <c>IODBPSD</c> packet —
|
||||
/// byte layout symmetric with the <c>cnc_rdparam</c> read side). Plan PR F4-b
|
||||
/// (issue #269). The <paramref name="address"/> is parsed from a <c>PARAM:N</c>
|
||||
/// tag string; <paramref name="type"/> drives the payload width (Byte / Int16 /
|
||||
/// Int32). Default impl returns <see cref="FocasStatusMapper.BadNotSupported"/>
|
||||
/// so transports that haven't yet routed the write keep compiling.
|
||||
/// <para>EW_PASSWD from the CNC (parameter-write switch off / unlock required)
|
||||
/// surfaces as <see cref="FocasStatusMapper.BadUserAccessDenied"/>; F4-d will
|
||||
/// wire the unlock workflow on top.</para>
|
||||
/// </summary>
|
||||
Task<uint> WriteParameterAsync(
|
||||
FocasAddress address,
|
||||
FocasDataType type,
|
||||
object? value,
|
||||
CancellationToken cancellationToken)
|
||||
=> Task.FromResult(FocasStatusMapper.BadNotSupported);
|
||||
|
||||
/// <summary>
|
||||
/// Write a CNC macro variable value via <c>cnc_wrmacro</c> (FWLIB <c>ODBM</c> packet
|
||||
/// symmetric with the <c>cnc_rdmacro</c> read side). Plan PR F4-b (issue #269).
|
||||
/// The implementation encodes <paramref name="value"/> as <c>(intValue,
|
||||
/// decimalPointCount)</c>; today we ship integer-only (<c>decimalPointCount = 0</c>)
|
||||
/// to match the most common HMI pattern, and a future <c>WriteMacroScaled</c>
|
||||
/// overload can land if the field calls for fractional macro setpoints.
|
||||
/// Default impl returns <see cref="FocasStatusMapper.BadNotSupported"/>.
|
||||
/// </summary>
|
||||
Task<uint> WriteMacroAsync(
|
||||
FocasAddress address,
|
||||
object? value,
|
||||
CancellationToken cancellationToken)
|
||||
=> Task.FromResult(FocasStatusMapper.BadNotSupported);
|
||||
|
||||
/// <summary>
|
||||
/// Cheap health probe — e.g. <c>cnc_rdcncstat</c>. Returns <c>true</c> when the CNC
|
||||
/// responds with any valid status.
|
||||
|
||||
Reference in New Issue
Block a user