using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace AR
{

    public enum eDIPin : byte
    {
        X00, X01, X02, X03, X04, X05, X06, X07,
        X08, X09, X0A, X0B, X0C, X0D, X0E, X0F,
        X10, X11, X12, X13, X14, X15, X16, X17,
        X18, X19, X1A, X1B, X1C, X1D, X1E, X1F,
        X20, X21, X22, X23, X24, X25, X26, X27,
        X28, X29, X2A, X2B, X2C, X2D, X2E, X2F,
        X30, X31, X32, X33, X34, X35, X36, X37,
        X38, X39, X3A, X3B, X3C, X3D, X3E, X3F
    }

    public enum eDIName : byte
    {
        BUT_STARTF = 0x00, BUT_STOPF, BUT_RESETF, BUT_EMGF, BUT_AIRF,
        AIR_DETECT = 0x05, PICKER_SAFE = 0x08,

        DOORF1 = 0x0A, DOORF2, DOORF3,
        DOORR1 = 0x0D, DOORR2, DOORR3,

        PORT0_SIZE_07 = 0x1A, PORT0_SIZE_13, PORTL_LIM_UP, PORTL_LIM_DN, PORTL_DET_UP,
        PORT1_SIZE_07 = 0x10, PORT1_SIZE_13, PORTC_LIM_UP, PORTC_LIM_DN, PORTC_DET_UP,
        PORT2_SIZE_07 = 0x15, PORT2_SIZE_13, PORTR_LIM_UP, PORTR_LIM_DN, PORTR_DET_UP,

        R_PICK_BW = 0x20, R_PICK_FW, R_PICK_VAC,
        L_PICK_BW = 0x24, L_PICK_FW, L_PICK_VAC,

        L_CONV1 = 0x30,  L_CONV4 = 0x33,
        R_CONV1 = 0x34,  R_CONV4 = 0x37,

        R_CYLUP = 0x38, R_CYLDN,
        L_CYLDN = 0x3A, L_CYLUP,

        L_EXT_READY = 0x3E,
        R_EXT_READY = 0x3F,
    }

    public enum eDOPin : byte
    {
        Y00, Y01, Y02, Y03, Y04, Y05, Y06, Y07,
        Y08, Y09, Y0A, Y0B, Y0C, Y0D, Y0E, Y0F,
        Y10, Y11, Y12, Y13, Y14, Y15, Y16, Y17,
        Y18, Y19, Y1A, Y1B, Y1C, Y1D, Y1E, Y1F,
        Y20, Y21, Y22, Y23, Y24, Y25, Y26, Y27,
        Y28, Y29, Y2A, Y2B, Y2C, Y2D, Y2E, Y2F,
        Y30, Y31, Y32, Y33, Y34, Y35, Y36, Y37,
        Y38, Y39, Y3A, Y3B, Y3C, Y3D, Y3E, Y3F
    }

    public enum eDOName : byte
    {
        BUT_STARTF = 0x00, BUT_STOPF, BUT_RESETF, BUT_EMGF, BUT_AIRF,

        SOL_AIR = 0x07, BUZZER,
        ROOMLIGHT = 0x0A,

        TWR_GRNF = 0x0D, TWR_YELF, TWR_REDF,

        PORTL_MOT_RUN = 0x1A, PORTL_MOT_DIR, PORTL_MAGNET,
        PORTC_MOT_RUN = 0x10, PORTC_MOT_DIR, PORTC_MAGNET,
        PORTR_MOT_RUN = 0x14, PORTR_MOT_DIR, PORTR_MAGNET,
        
        PRINTL_VACO = 0x1E, PRINTL_VACI,
        PRINTR_VACO = 0x18, PRINTR_VACI,
        PRINTL_AIRON = 0x20, PRINTR_AIRON,
        PICK_VAC1 = 0x23, PICK_VAC2, PICK_VAC3, PICK_VAC4,

        SVR_PWR_0 = 0x28, SVR_PWR_1, SVR_PWR_2, SVR_PWR_3, SVR_PWR_4, SVR_PWR_5, SVR_PWR_6,
        PRINTL_FWD = 0x38,  R_CYLDN = 0x39,
        LEFT_CONV = 0x3A, RIGHT_CONV = 0x3B, 
        PRINTR_FWD = 0x3C, L_CYLDN = 0x3D,
    }
}
