namespace PlcSiemens.Protocol.Common
{
    public enum ConnectionType
    {
        // ReSharper disable once InconsistentNaming
        PG = 1,

        // ReSharper disable once InconsistentNaming
        OP = 2,

        // ReSharper disable once InconsistentNaming
        S7BASIC = 3,
    }

    /// <summary>
    /// 读写等级
    /// </summary>
    // ReSharper disable once InconsistentNaming
    public enum RWLevel
    {
        Unknown = 0x00,

        // ReSharper disable once InconsistentNaming
        RW = 0x01,

        R = 0x02,
    }

    public enum ProtectionLevel
    {
        NoPassword = 0x00,
        SelectorPassword = 0x01,
        WritePassword = 0x02,
        ReadWritePasswod = 0x03
    }

    public enum CpuLevel
    {
        Unknown = 0x00,
        AccessGrant = 0x01,
        ReadOnly = 0x02,
        ReadWritePasswod = 0x03
    }

    public enum RunStatus
    {
        Unknown = 0x00,
        Run = 0x01,
        RunP = 0x02,
        Stop = 0x03,
        Mres = 0x04,
    }

    public enum StartupSwitch
    {
        Unknown = 0x00,
        Crst = 0x01,
        Wrst = 0x02
    }

    public enum BlockType
    {
        OB = 0x38,
        DB = 0x41,
        SDB = 0x42,
        FC = 0x43,
        SFC = 0x44,
        FB = 0x45,
        SFB = 0x46,
    }

    public enum SubBlockType
    {
        OB = 0x08,
        DB = 0x0A,
        SDB = 0x0B,
        FC = 0x0C,
        SFC = 0x0D,
        FB = 0x0E,
        SFB = 0x0F
    }

    public enum BlockLangType
    {
        // Block languages
        AWL = 0x01,

        KOP = 0x02,
        FUP = 0x03,
        SCL = 0x04,
        DB = 0x05,
        GRAPH = 0x06,
    }
}
