namespace ZB.MOM.WW.OtOpcUa.Driver.Modbus;

/// <summary>
///     The four Modbus register regions a tag can target. Maps directly to function-code
///     selection on the wire: <see cref="Coils"/> uses FC01/FC05/FC15, <see cref="DiscreteInputs"/>
///     uses FC02 (read-only), <see cref="InputRegisters"/> uses FC04 (read-only), and
///     <see cref="HoldingRegisters"/> uses FC03/FC06/FC16.
/// </summary>
/// <remarks>
///     Lives in the shared addressing assembly so Admin UI and the parser library can speak
///     about regions without taking a dependency on the wire driver. The driver-side
///     <c>Driver.Modbus</c> assembly extends the same namespace, so callers see this type as
///     if it lived in one place.
/// </remarks>
public enum ModbusRegion
{
    Coils,
    DiscreteInputs,
    InputRegisters,
    HoldingRegisters,
}
