LAPTOP-SNT8I5JK\Boounion
2025-06-10 452e31fbe5404d2ec8eb4c5b2e02138d837c146c
SourceCode/Bond/Servo/Common.h
@@ -1,6 +1,8 @@
#pragma once
#define TESTMODE                  1
/* Rx Code */
#define RX_CODE_TEST               0
#define RX_CODE_LOG                  1000
@@ -13,6 +15,9 @@
#define RX_CODE_SELECT_STEP            1007
#define RX_CODE_ALARM_SET            1008
#define RX_CODE_ALARM_CLEAR            1009
#define RX_CODE_EQ_DATA_CHANGED         1010
#define RX_CODE_MASTER_STATE_CHANGED   1011
#define RX_CODE_EQ_ROBOT_TASK         1012
/* Channel Name */
@@ -31,7 +36,13 @@
#define EQ_BOX_ONLINE                  RGB(0, 176, 80)
#define EQ_BOX_FRAME1                  RGB(22, 22, 22)
#define EQ_BOX_FRAME2                  RGB(255, 127, 39)
#define CR_MSGBOX_BKGND                  RGB(7, 71, 166)
#define CR_MSGBOX_TITLE                  RGB(200, 216, 246)
#define CR_MSGBOX_MESSAGE               RGB(200, 216, 246)
#define TOP_TOOLBAR_BACKGROUND            RGB(240, 240, 240)
#define STATUSBAR_BK_NORMAL               RGB(195, 195, 195)
#define STATUSBAR_BK_RUNNING            RGB(34, 177, 76)
#define STATUSBAR_BK_ALARM               RGB(255, 127, 39)
/* LOG BTN */
#define BTN_LOG_FRAME_NORMAL         RGB(88, 88, 88)
@@ -50,35 +61,337 @@
#define BTN_ALARM_BKGND_PRESS         RGB(133, 203, 225)
/* Equipment ID */
#define EQ_ID_EFEM         1
#define EQ_ID_Bonder1      2
#define EQ_ID_Bonder2      3
#define EQ_ID_LOADPORT1      4
#define EQ_ID_LOADPORT2      5
#define EQ_ID_LOADPORT3      6
#define EQ_ID_LOADPORT4      7
#define EQ_ID_FLIPER      8
#define EQ_ID_VACUUMBAKE   9
#define EQ_ID_ALIGNER      10
#define EQ_ID_BAKE_COOLING   11
#define EQ_ID_LOADPORT1         1
#define EQ_ID_LOADPORT2         2
#define EQ_ID_LOADPORT3         3
#define EQ_ID_LOADPORT4         4
#define EQ_ID_ARM_TRAY1         5
#define EQ_ID_ARM_TRAY2         6
#define EQ_ID_ALIGNER         7
#define EQ_ID_FLIPER         8
#define EQ_ID_VACUUMBAKE      9
#define EQ_ID_Bonder1         10
#define EQ_ID_Bonder2         11
#define EQ_ID_BAKE_COOLING      12
#define EQ_ID_MEASUREMENT      13
#define EQ_ID_EFEM            100
#define EQ_ID_ARM            101
#define EQ_ID_OPERATOR_REMOVE   102
/* step name */
#define STEP_MODE            _T("EQMode")
#define STEP_STATUS            _T("EQStatus")
#define STEP_ALARM_START      _T("EQAlarm")
#define STEP_ALARM_BLOCK1      _T("EQAlarm1")
#define STEP_ALARM_BLOCK2      _T("EQAlarm2")
#define STEP_ALARM_BLOCK3      _T("EQAlarm3")
#define STEP_ALARM_BLOCK4      _T("EQAlarm4")
#define STEP_ALARM_BLOCK5      _T("EQAlarm5")
#define STEP_PROCESS         _T("EQProcess")
#define STEP_CIM_MODE_CHANGE   _T("EQCimModeChange")
#define STEP_EQ_MODE_CHANGE      _T("EQModeChange")
#define STEP_CIM_MESSAGE_CMD   _T("EQCimMessageCmd")
#define STEP_CIM_MESSAGE_CLEAR   _T("EQCimMessageClear")
#define STEP_DATETIME_SET_CMD   _T("EQDateTimeSetCmd")
#define STEP_EQ_VCR_ENABLE      _T("EQVCREnable")
#define STEP_MODE                  _T("EQMode")
#define STEP_STATUS                  _T("EQStatus")
#define STEP_ALARM_START            _T("EQAlarm")
#define STEP_ALARM_BLOCK1            _T("EQAlarm1")
#define STEP_ALARM_BLOCK2            _T("EQAlarm2")
#define STEP_ALARM_BLOCK3            _T("EQAlarm3")
#define STEP_ALARM_BLOCK4            _T("EQAlarm4")
#define STEP_ALARM_BLOCK5            _T("EQAlarm5")
#define STEP_PROCESS               _T("EQProcess")
#define STEP_CIM_MODE_CHANGE         _T("EQCimModeChange")
#define STEP_EQ_MODE_CHANGE            _T("EQModeChange")
#define STEP_CIM_MESSAGE_CMD         _T("EQCimMessageCmd")
#define STEP_CIM_MESSAGE_CLEAR         _T("EQCimMessageClear")
#define STEP_DATETIME_SET_CMD         _T("EQDateTimeSetCmd")
#define STEP_EQ_VCR_ENABLE            _T("EQVCREnable")
#define STEP_EQ_PORT1_TYPE            _T("EQPort1Type")
#define STEP_EQ_PORT1_MODE            _T("EQPort1Mode")
#define STEP_EQ_PORT1_CASSETTE_TYPE      _T("EQPort1CassetteType")
#define STEP_EQ_PORT1_TRANSFER_MODE      _T("EQPort1TransferMode")
#define STEP_EQ_PORT1_ENABLE         _T("EQPort1Enable")
#define STEP_EQ_PORT1_TYPE_ATUO         _T("EQPort1TypeAuto")
#define STEP_EQ_PORT2_TYPE            _T("EQPort2Type")
#define STEP_EQ_PORT2_MODE            _T("EQPort2Mode")
#define STEP_EQ_PORT2_CASSETTE_TYPE      _T("EQPort2CassetteType")
#define STEP_EQ_PORT2_TRANSFER_MODE      _T("EQPort2TransferMode")
#define STEP_EQ_PORT2_ENABLE         _T("EQPort2Enable")
#define STEP_EQ_PORT2_TYPE_ATUO         _T("EQPort2TypeAuto")
#define STEP_EQ_PORT3_TYPE            _T("EQPort3Type")
#define STEP_EQ_PORT3_MODE            _T("EQPort3Mode")
#define STEP_EQ_PORT3_CASSETTE_TYPE      _T("EQPort3CassetteType")
#define STEP_EQ_PORT3_TRANSFER_MODE      _T("EQPort3TransferMode")
#define STEP_EQ_PORT3_ENABLE         _T("EQPort3Enable")
#define STEP_EQ_PORT3_TYPE_ATUO         _T("EQPort3TypeAuto")
#define STEP_EQ_PORT4_TYPE            _T("EQPort4Type")
#define STEP_EQ_PORT4_MODE            _T("EQPort4Mode")
#define STEP_EQ_PORT4_CASSETTE_TYPE      _T("EQPort4CassetteType")
#define STEP_EQ_PORT4_TRANSFER_MODE      _T("EQPort4TransferMode")
#define STEP_EQ_PORT4_ENABLE         _T("EQPort4Enable")
#define STEP_EQ_PORT4_TYPE_ATUO         _T("EQPort4TypeAuto")
#define STEP_EQ_PORT1_EMPTY            _T("EQPort1Empty")
#define STEP_EQ_PORT1_LOAD_EADY         _T("EQPort1LoadReady")
#define STEP_EQ_PORT1_LOADED         _T("EQPort1Loaded")
#define STEP_EQ_PORT1_INUSE            _T("EQPort1InUse")
#define STEP_EQ_PORT1_UNLOAD_EADY      _T("EQPort1UnloadReady")
#define STEP_EQ_PORT1_BLOCKED         _T("EQPort1Blocked")
#define STEP_EQ_PORT2_EMPTY            _T("EQPort2Empty")
#define STEP_EQ_PORT2_LOAD_EADY         _T("EQPort2LoadReady")
#define STEP_EQ_PORT2_LOADED         _T("EQPort2Loaded")
#define STEP_EQ_PORT2_INUSE            _T("EQPort2InUse")
#define STEP_EQ_PORT2_UNLOAD_EADY      _T("EQPort2UnloadReady")
#define STEP_EQ_PORT2_BLOCKED         _T("EQPort2Blocked")
#define STEP_EQ_PORT3_EMPTY            _T("EQPort3Empty")
#define STEP_EQ_PORT3_LOAD_EADY         _T("EQPort3LoadReady")
#define STEP_EQ_PORT3_LOADED         _T("EQPort3Loaded")
#define STEP_EQ_PORT3_INUSE            _T("EQPort3InUse")
#define STEP_EQ_PORT3_UNLOAD_EADY      _T("EQPort3UnloadReady")
#define STEP_EQ_PORT3_BLOCKED         _T("EQPort3Blocked")
#define STEP_EQ_PORT4_EMPTY            _T("EQPort4Empty")
#define STEP_EQ_PORT4_LOAD_EADY         _T("EQPort4LoadReady")
#define STEP_EQ_PORT4_LOADED         _T("EQPort4Loaded")
#define STEP_EQ_PORT4_INUSE            _T("EQPort4InUse")
#define STEP_EQ_PORT4_UNLOAD_EADY      _T("EQPort4UnloadReady")
#define STEP_EQ_PORT4_BLOCKED         _T("EQPort4Blocked")
#define STEP_EQ_P1_CASSETTE_CTRL_CMD   _T("EQPort1CassetteCtrlCmd")
#define STEP_EQ_P2_CASSETTE_CTRL_CMD   _T("EQPort2CassetteCtrlCmd")
#define STEP_EQ_P3_CASSETTE_CTRL_CMD   _T("EQPort3CassetteCtrlCmd")
#define STEP_EQ_P4_CASSETTE_CTRL_CMD   _T("EQPort4CassetteCtrlCmd")
#define STEP_EQ_CIM_MESSAGE_CONFIRM      _T("EQCimMessageConfirm")
#define STEP_EQ_RECEIVED_JOB_UPSn      _T("EQJEReceivedJobUps")
#define STEP_EQ_RECEIVED_JOB_UPS1      _T("EQJEReceivedJobUps1")
#define STEP_EQ_RECEIVED_JOB_UPS2      _T("EQJEReceivedJobUps2")
#define STEP_EQ_RECEIVED_JOB_UPS3      _T("EQJEReceivedJobUps3")
#define STEP_EQ_RECEIVED_JOB_UPS4      _T("EQJEReceivedJobUps4")
#define STEP_EQ_RECEIVED_JOB_UPS5      _T("EQJEReceivedJobUps5")
#define STEP_EQ_RECEIVED_JOB_UPS6      _T("EQJEReceivedJobUps6")
#define STEP_EQ_RECEIVED_JOB_UPS7      _T("EQJEReceivedJobUps7")
#define STEP_EQ_RECEIVED_JOB_UPS8      _T("EQJEReceivedJobUps8")
#define STEP_EQ_RECEIVED_JOB_UPS9      _T("EQJEReceivedJobUps9")
#define STEP_EQ_SENT_OUT_JOB_DOWNSn      _T("EQJESentOutJobDowns")
#define STEP_EQ_SENT_OUT_JOB_DOWNS1      _T("EQJESentOutJobDowns1")
#define STEP_EQ_SENT_OUT_JOB_DOWNS2      _T("EQJESentOutJobDowns2")
#define STEP_EQ_SENT_OUT_JOB_DOWNS3      _T("EQJESentOutJobDowns3")
#define STEP_EQ_SENT_OUT_JOB_DOWNS4      _T("EQJESentOutJobDowns4")
#define STEP_EQ_SENT_OUT_JOB_DOWNS5      _T("EQJESentOutJobDowns5")
#define STEP_EQ_SENT_OUT_JOB_DOWNS6      _T("EQJESentOutJobDowns6")
#define STEP_EQ_SENT_OUT_JOB_DOWNS7      _T("EQJESentOutJobDowns7")
#define STEP_EQ_SENT_OUT_JOB_DOWNS8      _T("EQJESentOutJobDowns8")
#define STEP_EQ_SENT_OUT_JOB_DOWNS9      _T("EQJESentOutJobDowns9")
#define STEP_EQ_VCR1_EVENT_REPORT      _T("EQVcr1EventReport")
#define STEP_EQ_RURRENT_RECIPE_CHANGE   _T("EQCurrentRecipeChange")
#define STEP_EQ_MASTER_RECIPE_LIST_REQ   _T("EQMasterRecipeListReq")
#define STEP_EQ_MASTER_RECIPE_LIST      _T("EQMasterRecipeListReport")
#define STEP_EQ_RECIPE_PARAMETER_REQ   _T("EQRecipeParameterReq")
#define STEP_EQ_RECIPE_PARAMETER      _T("EQRecipeParameterReport")
#define STEP_EQ_RECEIVED_JOBn         _T("EQReceivedJobReport")
#define STEP_EQ_RECEIVED_JOB1         _T("EQReceivedJobReport1")
#define STEP_EQ_RECEIVED_JOB2         _T("EQReceivedJobReport2")
#define STEP_EQ_RECEIVED_JOB3         _T("EQReceivedJobReport3")
#define STEP_EQ_RECEIVED_JOB4         _T("EQReceivedJobReport4")
#define STEP_EQ_RECEIVED_JOB5         _T("EQReceivedJobReport5")
#define STEP_EQ_RECEIVED_JOB6         _T("EQReceivedJobReport6")
#define STEP_EQ_RECEIVED_JOB7         _T("EQReceivedJobReport7")
#define STEP_EQ_RECEIVED_JOB8         _T("EQReceivedJobReport8")
#define STEP_EQ_RECEIVED_JOB9         _T("EQReceivedJobReport9")
#define STEP_EQ_FETCHED_OUT_JOBn      _T("EQFetchedOutJobReport")
#define STEP_EQ_FETCHED_OUT_JOB1      _T("EQFetchedOutJobReport1")
#define STEP_EQ_FETCHED_OUT_JOB2      _T("EQFetchedOutJobReport2")
#define STEP_EQ_FETCHED_OUT_JOB3      _T("EQFetchedOutJobReport3")
#define STEP_EQ_FETCHED_OUT_JOB4      _T("EQFetchedOutJobReport4")
#define STEP_EQ_FETCHED_OUT_JOB5      _T("EQFetchedOutJobReport5")
#define STEP_EQ_FETCHED_OUT_JOB6      _T("EQFetchedOutJobReport6")
#define STEP_EQ_FETCHED_OUT_JOB7      _T("EQFetchedOutJobReport7")
#define STEP_EQ_FETCHED_OUT_JOB8      _T("EQFetchedOutJobReport8")
#define STEP_EQ_FETCHED_OUT_JOB9      _T("EQFetchedOutJobReport9")
#define STEP_EQ_FETCHED_OUT_JOB10      _T("EQFetchedOutJobReport10")
#define STEP_EQ_FETCHED_OUT_JOB11      _T("EQFetchedOutJobReport11")
#define STEP_EQ_FETCHED_OUT_JOB12      _T("EQFetchedOutJobReport12")
#define STEP_EQ_FETCHED_OUT_JOB13      _T("EQFetchedOutJobReport13")
#define STEP_EQ_FETCHED_OUT_JOB14      _T("EQFetchedOutJobReport14")
#define STEP_EQ_FETCHED_OUT_JOB15      _T("EQFetchedOutJobReport15")
#define STEP_EQ_STORED_JOBn            _T("EQStoredJobReport")
#define STEP_EQ_STORED_JOB1            _T("EQStoredJobReport1")
#define STEP_EQ_STORED_JOB2            _T("EQStoredJobReport2")
#define STEP_EQ_STORED_JOB3            _T("EQStoredJobReport3")
#define STEP_EQ_STORED_JOB4            _T("EQStoredJobReport4")
#define STEP_EQ_STORED_JOB5            _T("EQStoredJobReport5")
#define STEP_EQ_STORED_JOB6            _T("EQStoredJobReport6")
#define STEP_EQ_STORED_JOB7            _T("EQStoredJobReport7")
#define STEP_EQ_STORED_JOB8            _T("EQStoredJobReport8")
#define STEP_EQ_STORED_JOB9            _T("EQStoredJobReport9")
#define STEP_EQ_STORED_JOB10         _T("EQStoredJobReport10")
#define STEP_EQ_STORED_JOB11         _T("EQStoredJobReport11")
#define STEP_EQ_STORED_JOB12         _T("EQStoredJobReport12")
#define STEP_EQ_STORED_JOB13         _T("EQStoredJobReport13")
#define STEP_EQ_STORED_JOB14         _T("EQStoredJobReport14")
#define STEP_EQ_STORED_JOB15         _T("EQStoredJobReport15")
#define STEP_EQ_DISPATCHINT_MODE_CHANGE   _T("EQDispatchingModeChangeCommand")
#define STEP_EFEM_ROBOT_CMD            _T("EFEMRobotCmd")
#define STEP_EFEM_IN_OP_MODE_CHANGE      _T("EFEMIndexerOperationModeChangeCommand")
#define STEP_PORT1_TYPE_CHANGE         _T("Port1TypeChange")
#define STEP_PORT2_TYPE_CHANGE         _T("Port2TypeChange")
#define STEP_PORT3_TYPE_CHANGE         _T("Port3TypeChange")
#define STEP_PORT4_TYPE_CHANGE         _T("Port4TypeChange")
#define STEP_PORT1_MODE_CHANGE         _T("Port1ModeChange")
#define STEP_PORT2_MODE_CHANGE         _T("Port2ModeChange")
#define STEP_PORT3_MODE_CHANGE         _T("Port3ModeChange")
#define STEP_PORT4_MODE_CHANGE         _T("Port4ModeChange")
#define STEP_PORT1_TRANSFER_MODE_CHANGE   _T("Port1TransferModeChange")
#define STEP_PORT2_TRANSFER_MODE_CHANGE   _T("Port2TransferModeChange")
#define STEP_PORT3_TRANSFER_MODE_CHANGE   _T("Port3TransferModeChange")
#define STEP_PORT4_TRANSFER_MODE_CHANGE   _T("Port4TransferModeChange")
#define STEP_PORT1_ENABLE_MODE_CHANGE   _T("Port1EnableModeChange")
#define STEP_PORT2_ENABLE_MODE_CHANGE   _T("Port2EnableModeChange")
#define STEP_PORT3_ENABLE_MODE_CHANGE   _T("Port3EnableModeChange")
#define STEP_PORT4_ENABLE_MODE_CHANGE   _T("Port4EnableModeChange")
#define STEP_PORT1_TYPE_AUTO_CHANGE      _T("Port1TypeAutoChange")
#define STEP_PORT2_TYPE_AUTO_CHANGE      _T("Port2TypeAutoChange")
#define STEP_PORT3_TYPE_AUTO_CHANGE      _T("Port3TypeAutoChange")
#define STEP_PORT4_TYPE_AUTO_CHANGE      _T("Port4TypeAutoChange")
#define STEP_PORT1_CASSETTE_TYPE_CHANGE   _T("Port1CassetteTypeChange")
#define STEP_PORT2_CASSETTE_TYPE_CHANGE   _T("Port2CassetteTypeChange")
#define STEP_PORT3_CASSETTE_TYPE_CHANGE   _T("Port3CassetteTypeChange")
#define STEP_PORT4_CASSETTE_TYPE_CHANGE   _T("Port4CassetteTypeChange")
#define STEP_EQ_PANEL_DATA_REPORT      _T("EQPanelDataReport")
/* Step ID */
#define STEP_ID_CIMMODE_CHANGED_CMD_REPLY      0x550
#define STEP_ID_CIM_MSG_SET_CMD_REPLY         0x551
#define STEP_ID_CIM_MSG_CLEAR_CMD_REPLY         0x552
#define STEP_ID_DATETIME_SET_CMD_REPLY         0x553
#define STEP_ID_VCR_ENABLE_CMD_REPLY         0x554
#define STEP_ID_EQMODE_CHANGE_CMD_REPLY         0x555
#define STEP_ID_MASTER_RECIPE_LIST_CMD_REPLY   0x556
#define STEP_ID_RECIPE_PARAMETER_CMD_REPLY      0x557
#define STEP_ID_EQMODE_CHANGED               0x560
#define STEP_ID_EQSTATUS_CHANGED            0x561
#define STEP_ID_EQALARM1                  0x562
#define STEP_ID_EQALARM2                  0x563
#define STEP_ID_EQALARM3                  0x564
#define STEP_ID_EQALARM4                  0x565
#define STEP_ID_EQALARM5                  0x566
#define STEP_ID_PROCESS_DATA_REPORT            0x567
#define STEP_ID_CURRENT_RECIPE_CHANGE_REPORT   0x568
#define STEP_ID_CIM_MSG_CONFIRM_REPORT         0x569
#define STEP_ID_VCR1_EVENT_REPORT            0x56A
#define STEP_ID_MASTER_RECIPE_LIST_REPORT      0x56B
#define STEP_ID_RECIPE_PARAMETER_REPORT         0x56C
#define STEP_ID_RECIVE_JOB_UPS1               0x580
#define STEP_ID_RECIVE_JOB_UPS2               0x581
#define STEP_ID_RECIVE_JOB_UPS3               0x582
#define STEP_ID_RECIVE_JOB_UPS4               0x583
#define STEP_ID_RECIVE_JOB_UPS5               0x584
#define STEP_ID_RECIVE_JOB_UPS6               0x585
#define STEP_ID_RECIVE_JOB_UPS7               0x586
#define STEP_ID_RECIVE_JOB_UPS8               0x587
#define STEP_ID_RECIVE_JOB_UPS9               0x588
#define STEP_ID_SENT_OUT_JOB_DOWNS1            0x590
#define STEP_ID_SENT_OUT_JOB_DOWNS2            0x591
#define STEP_ID_SENT_OUT_JOB_DOWNS3            0x592
#define STEP_ID_SENT_OUT_JOB_DOWNS4            0x593
#define STEP_ID_SENT_OUT_JOB_DOWNS5            0x594
#define STEP_ID_SENT_OUT_JOB_DOWNS6            0x595
#define STEP_ID_SENT_OUT_JOB_DOWNS7            0x596
#define STEP_ID_SENT_OUT_JOB_DOWNS8            0x597
#define STEP_ID_SENT_OUT_JOB_DOWNS9            0x598
#define STEP_ID_STORE_JOB_REPORT1            0x5A0
#define STEP_ID_STORE_JOB_REPORT2            0x5A1
#define STEP_ID_STORE_JOB_REPORT3            0x5A2
#define STEP_ID_STORE_JOB_REPORT4            0x5A3
#define STEP_ID_STORE_JOB_REPORT5            0x5A4
#define STEP_ID_STORE_JOB_REPORT6            0x5A5
#define STEP_ID_STORE_JOB_REPORT7            0x5A6
#define STEP_ID_STORE_JOB_REPORT8            0x5A7
#define STEP_ID_STORE_JOB_REPORT9            0x5A8
#define STEP_ID_STORE_JOB_REPORT10            0x5A9
#define STEP_ID_STORE_JOB_REPORT11            0x5AA
#define STEP_ID_STORE_JOB_REPORT12            0x5AB
#define STEP_ID_STORE_JOB_REPORT13            0x5AC
#define STEP_ID_STORE_JOB_REPORT14            0x5AD
#define STEP_ID_STORE_JOB_REPORT15            0x5AE
#define STEP_ID_FETCHED_OUT_JOB_REPORT1         0x5AF
#define STEP_ID_FETCHED_OUT_JOB_REPORT2         0x5B0
#define STEP_ID_FETCHED_OUT_JOB_REPORT3         0x5B1
#define STEP_ID_FETCHED_OUT_JOB_REPORT4         0x5B2
#define STEP_ID_FETCHED_OUT_JOB_REPORT5         0x5B3
#define STEP_ID_FETCHED_OUT_JOB_REPORT6         0x5B4
#define STEP_ID_FETCHED_OUT_JOB_REPORT7         0x5B5
#define STEP_ID_FETCHED_OUT_JOB_REPORT8         0x5B6
#define STEP_ID_FETCHED_OUT_JOB_REPORT9         0x5B7
#define STEP_ID_FETCHED_OUT_JOB_REPORT10      0x5B8
#define STEP_ID_FETCHED_OUT_JOB_REPORT11      0x5B9
#define STEP_ID_FETCHED_OUT_JOB_REPORT12      0x5BA
#define STEP_ID_FETCHED_OUT_JOB_REPORT13      0x5BB
#define STEP_ID_FETCHED_OUT_JOB_REPORT14      0x5BC
#define STEP_ID_FETCHED_OUT_JOB_REPORT15      0x5BD
#define STEP_ID_IN_OP_CMD_REPLY               0x5F0
#define STEP_ID_DISPATCHING_MODE_CHANGE_REPLY   0x5F1
#define STEP_ID_PORT1_TYPE_CHANGE            0x600
#define STEP_ID_PORT2_TYPE_CHANGE            0x601
#define STEP_ID_PORT3_TYPE_CHANGE            0x602
#define STEP_ID_PORT4_TYPE_CHANGE            0x603
#define STEP_ID_PORT1_MODE_CHANGE            0x608
#define STEP_ID_PORT2_MODE_CHANGE            0x609
#define STEP_ID_PORT3_MODE_CHANGE            0x60A
#define STEP_ID_PORT4_MODE_CHANGE            0x60B
#define STEP_ID_PORT1_CASSETTE_TYPE_CHANGE      0x610
#define STEP_ID_PORT2_CASSETTE_TYPE_CHANGE      0x611
#define STEP_ID_PORT3_CASSETTE_TYPE_CHANGE      0x612
#define STEP_ID_PORT4_CASSETTE_TYPE_CHANGE      0x613
#define STEP_ID_PORT1_TRANSFER_MODE_CHANGE      0x618
#define STEP_ID_PORT2_TRANSFER_MODE_CHANGE      0x619
#define STEP_ID_PORT3_TRANSFER_MODE_CHANGE      0x61A
#define STEP_ID_PORT4_TRANSFER_MODE_CHANGE      0x61B
#define STEP_ID_PORT1_ENABLE_MODE_CHANGE      0x620
#define STEP_ID_PORT2_ENABLE_MODE_CHANGE      0x621
#define STEP_ID_PORT3_ENABLE_MODE_CHANGE      0x622
#define STEP_ID_PORT4_ENABLE_MODE_CHANGE      0x623
#define STEP_ID_PORT1_TYPE_AUTO_CHANGE         0x628
#define STEP_ID_PORT2_TYPE_AUTO_CHANGE         0x629
#define STEP_ID_PORT3_TYPE_AUTO_CHANGE         0x62A
#define STEP_ID_PORT4_TYPE_AUTO_CHANGE         0x62B
#define STEP_ID_PORT1_EMPTY                  0x638
#define STEP_ID_PORT1_LOAD_READY            0x640
#define STEP_ID_PORT1_LOADED               0x648
#define STEP_ID_PORT1_INUSE                  0x650
#define STEP_ID_PORT1_UNLOAD_READY            0x658
#define STEP_ID_PORT1_BLOCKED               0x660
#define STEP_ID_PORT2_EMPTY                  0x639
#define STEP_ID_PORT2_LOAD_READY            0x641
#define STEP_ID_PORT2_LOADED               0x649
#define STEP_ID_PORT2_INUSE                  0x651
#define STEP_ID_PORT2_UNLOAD_READY            0x659
#define STEP_ID_PORT2_BLOCKED               0x661
#define STEP_ID_PORT3_EMPTY                  0x63a
#define STEP_ID_PORT3_LOAD_READY            0x642
#define STEP_ID_PORT3_LOADED               0x64a
#define STEP_ID_PORT3_INUSE                  0x652
#define STEP_ID_PORT3_UNLOAD_READY            0x65a
#define STEP_ID_PORT3_BLOCKED               0x662
#define STEP_ID_PORT4_EMPTY                  0x63b
#define STEP_ID_PORT4_LOAD_READY            0x643
#define STEP_ID_PORT4_LOADED               0x64b
#define STEP_ID_PORT4_INUSE                  0x653
#define STEP_ID_PORT4_UNLOAD_READY            0x65b
#define STEP_ID_PORT4_BLOCKED               0x663
#define STEP_ID_PROT1_TYPE_CHANGE_REPLY         0x670
#define STEP_ID_PROT2_TYPE_CHANGE_REPLY         0x671
#define STEP_ID_PROT3_TYPE_CHANGE_REPLY         0x672
#define STEP_ID_PROT4_TYPE_CHANGE_REPLY         0x673
#define STEP_ID_PROT1_MODE_CHANGE_REPLY         0x678
#define STEP_ID_PROT2_MODE_CHANGE_REPLY         0x679
#define STEP_ID_PROT3_MODE_CHANGE_REPLY         0x67A
#define STEP_ID_PROT4_MODE_CHANGE_REPLY         0x67B
#define STEP_ID_PROT1_TRANSFER_MODE_CHANGE_REPLY   0x680
#define STEP_ID_PROT2_TRANSFER_MODE_CHANGE_REPLY   0x681
#define STEP_ID_PROT3_TRANSFER_MODE_CHANGE_REPLY   0x682
#define STEP_ID_PROT4_TRANSFER_MODE_CHANGE_REPLY   0x683
#define STEP_ID_PROT1_ENABLE_MODE_CHANGE_REPLY      0x688
#define STEP_ID_PROT2_ENABLE_MODE_CHANGE_REPLY      0x689
#define STEP_ID_PROT3_ENABLE_MODE_CHANGE_REPLY      0x68A
#define STEP_ID_PROT4_ENABLE_MODE_CHANGE_REPLY      0x68B
#define STEP_ID_PROT1_TYPE_AUTO_CHANGE_REPLY      0x690
#define STEP_ID_PROT2_TYPE_AUTO_CHANGE_REPLY      0x691
#define STEP_ID_PROT3_TYPE_AUTO_CHANGE_REPLY      0x692
#define STEP_ID_PROT4_TYPE_AUTO_CHANGE_REPLY      0x693
#define STEP_ID_PROT1_CASSETTE_TYPE_CHANGE_REPLY   0x698
#define STEP_ID_PROT2_CASSETTE_TYPE_CHANGE_REPLY   0x699
#define STEP_ID_PROT3_CASSETTE_TYPE_CHANGE_REPLY   0x69A
#define STEP_ID_PROT4_CASSETTE_TYPE_CHANGE_REPLY   0x69B
#define STEP_ID_ROBOT_CMD_REPLY                  0x6b0
#define STEP_ID_PANEL_DATA_REPORT               0x5D1
/* base alarm */
@@ -98,9 +411,81 @@
/* 流程控制相关代码 */
#define FLOW_REJECT               0x0
#define FLOW_ACCEPT               0x1
#define FLOW_TEST               0x1000
#define FLOW_SIGNAL               0x1001
#define FLOW_DATA               0x1002
#define FLOW_MOVE_MATERIAL         0x1003
/* Port Status */
#define PORT_LOAD_READY            1
#define PORT_LOAD_REQUEST         PORT_LOAD_READY
#define PORT_LOADED               2
#define PORT_INUSE               3
#define PORT_LOAD_COMPLETE         PORT_INUSE
#define PORT_UNLOAD_READY         4
#define PORT_UNLOAD_REQUEST         PORT_RNLOAD_READY
#define PORT_EMPTY               5
#define PORT_UNLOAD_COMPLETE      PORT_EMPTY
#define PORT_BLOCKED            6
/* Loading Cassette Type */
#define PORT_LOADING_CASSETTE_ACTUAL   1
#define PORT_LOADING_CASSETTE_EMPTY      2
/* Q-Time flag */
#define Q_TIME_NORMAL               1
#define Q_TIME_OVER                  2
/* m_nCassetteMappingState */
#define CASSETTE_MAPPING_USE         1
#define CASSETTE_MAPPING_NOT_USE      2
/* Cassette Status */
#define CASSETTE_NO_EXIST            1
#define CASSETTE_WAITING_DATA         2
#define CASSETTE_WAITING_START         3
#define CASSETTE_WAITING_PROCCESSING   4
#define CASSETTE_IN_PROCCESSING         5
#define CASSETTE_PROCCESS_PAUSED      6
#define CASSETTE_PROCCESS_COMPLETED      7
/*
   Master Recipe List Return Code Block   Description
      1   OK : Recipe List Received Result is all ok
      2   Continue : Equipment still has to send the master recipe list to EAS because EAS is not yet received all master recipe list.
      3   Master Recipe list Count NG : Total Group Count is same as Current Group Count but it’s different with Total Master Recipe List Count.
      4   Group Count NG : Total Group Count is different with Current Group Count but it’s same with Total Master Recipe Count.
      5   Duplication Group Count NG : Current Group Count is duplicate with previous group count.Equipment has to send the next group count to EAS.
      6   Order by Group Count NG : Group Count is not sent order by next group count to EAS.Group Count has to send by order the next group count
*/
#define MRLRC_CURRENT_RECIPE_COMPLETE      0
#define MRLRC_OK                     1
#define MRLRC_NG                     2
#define MRLRC_CONTINUE                  3
#define MRLRC_MASTER_RECIPE_LIST_COUNT_NG   4
#define MRLRC_GROUP_COUNT_NG            5
#define MRLRC_DUPLICATION_GROUP_COUNT_NG   6
#define ORDER_BY_GROUP_COUNT_NG            7
/*
 Report type
 1: Create
 2: Modify
 3: Delete
 4: Request from EAS
 */
#define RT_CREATE            1
#define RT_MODIFY            2
#define RT_DELETE            3
#define RT_REQUEST_FROM_EAS      4
 /* Robot Task Status */
#define ROBOT_EVENT_CREATE      0   // 新任务创建
#define ROBOT_EVENT_FINISH      1   // 正常完成
#define ROBOT_EVENT_ERROR      2   // 出现错误
#define ROBOT_EVENT_ABORT      3   // 人为中止