namespace ZB.MOM.WW.LmxProxy.Client.Domain;
///
/// OPC-style quality codes for SCADA data values.
/// Based on OPC DA quality encoding as a single byte:
/// bits 7–6 = major (00=Bad, 01=Uncertain, 11=Good),
/// bits 5–2 = substatus, bits 1–0 = limit (00=None, 01=Low, 10=High, 11=Constant).
///
public enum Quality : byte
{
/// Bad – non-specific.
Bad = 0,
/// Bad – configuration error in the server.
Bad_ConfigError = 4,
/// Bad – input source is not connected.
Bad_NotConnected = 8,
/// Bad – device failure detected.
Bad_DeviceFailure = 12,
/// Bad – sensor failure detected.
Bad_SensorFailure = 16,
/// Bad – last known value (communication lost, value stale).
Bad_LastKnownValue = 20,
/// Bad – communication failure.
Bad_CommFailure = 24,
/// Bad – item is out of service.
Bad_OutOfService = 28,
/// Uncertain – non-specific.
Uncertain = 64,
/// Uncertain – non-specific, low limited.
Uncertain_LowLimited = 65,
/// Uncertain – non-specific, high limited.
Uncertain_HighLimited = 66,
/// Uncertain – non-specific, constant.
Uncertain_Constant = 67,
/// Uncertain – last usable value.
Uncertain_LastUsable = 68,
/// Uncertain – last usable value, low limited.
Uncertain_LastUsable_LL = 69,
/// Uncertain – last usable value, high limited.
Uncertain_LastUsable_HL = 70,
/// Uncertain – last usable value, constant.
Uncertain_LastUsable_Cnst = 71,
/// Uncertain – sensor not accurate.
Uncertain_SensorNotAcc = 80,
/// Uncertain – sensor not accurate, low limited.
Uncertain_SensorNotAcc_LL = 81,
/// Uncertain – sensor not accurate, high limited.
Uncertain_SensorNotAcc_HL = 82,
/// Uncertain – sensor not accurate, constant.
Uncertain_SensorNotAcc_C = 83,
/// Uncertain – engineering units exceeded.
Uncertain_EuExceeded = 84,
/// Uncertain – engineering units exceeded, low limited.
Uncertain_EuExceeded_LL = 85,
/// Uncertain – engineering units exceeded, high limited.
Uncertain_EuExceeded_HL = 86,
/// Uncertain – engineering units exceeded, constant.
Uncertain_EuExceeded_C = 87,
/// Uncertain – sub-normal operating conditions.
Uncertain_SubNormal = 88,
/// Uncertain – sub-normal, low limited.
Uncertain_SubNormal_LL = 89,
/// Uncertain – sub-normal, high limited.
Uncertain_SubNormal_HL = 90,
/// Uncertain – sub-normal, constant.
Uncertain_SubNormal_C = 91,
/// Good – non-specific.
Good = 192,
/// Good – low limited.
Good_LowLimited = 193,
/// Good – high limited.
Good_HighLimited = 194,
/// Good – constant.
Good_Constant = 195,
/// Good – local override active.
Good_LocalOverride = 216,
/// Good – local override active, low limited.
Good_LocalOverride_LL = 217,
/// Good – local override active, high limited.
Good_LocalOverride_HL = 218,
/// Good – local override active, constant.
Good_LocalOverride_C = 219
}