optical/EMBOS/Users/EmbFunc/operator/operator.h

1552 lines
41 KiB
C
Raw Normal View History

2025-09-04 01:45:08 +00:00
#ifndef __OPERATOR_H__
#define __OPERATOR_H__
#include "config.h"
#include "comm.h"
//------------------------------------------------------------------------
//------------------------------------------------------------------------
/*
ͨѶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1. <EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ظ<EFBFBD> ˵<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ UCMD_GET_MC_INFO 0x0001 FLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬ UCMD_GET_MC_STATUS 0x0002 FLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ȡ<EFBFBD>
<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UCMD_GET_MC_PARAS 0x0003 FLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȡ<EFBFBD>ڴ<EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
<EFBFBD><EFBFBD>ȡ<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UCMD_GET_MEM_DATA 0x0004 FLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>SRAM<EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>SRAM<EFBFBD><EFBFBD>NAND FLASH<EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> UCMD_GET_SENSORS 0x0005 FLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȡIO<EFBFBD>ź<EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>Ϣ
<EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ϣ UCMD_GET_FILE_INFO 0x0006 FLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UCMD_GET_TRANS_RESULT 0x0007 FLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD>λͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UCMD_SET_MC_CONFIG 0x0101 VLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʹ<EFBFBD>õĶ˿ڵ<EFBFBD><EFBFBD><EFBFBD>Ϣ
<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>״̬ UCMD_SET_MC_STATUS 0x0102 FLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UCMD_SET_MC_PARAS 0x0103 VLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UCMD_SET_MEM_DATA 0x0104 FLDP <EFBFBD><EFBFBD> <EFBFBD>ı<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>ڴԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>==
<EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UCMD_ACT_BYHAND 0x0201 FLDP <EFBFBD><EFBFBD> <EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>OUTPUT<EFBFBD>źſ<EFBFBD><EFBFBD>صȶ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UCMD_MC_WORK 0x0202 FLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD>
<EFBFBD>ƶ<EFBFBD>XY<EFBFBD><EFBFBD><EFBFBD><EFBFBD> UCMD_MOVE_TO 0x0203 FLDP <EFBFBD><EFBFBD> <EFBFBD>ƶ<EFBFBD>XY<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UCMD_START_TRANS 0x0301 VLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UCMD_TRANS_FILE_DATA 0x0302 VLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>
<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UCMD_MC_UPDATE 0x0401 VLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UCMD_TRA_BOARD 0x0501 FLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵Ľڵ<EFBFBD>
2. <EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ظ<EFBFBD> ˵<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ DCMD_SEND_MC_INFO 0x8001 VLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>״̬ DCMD_SEND_MC_STATUS 0x8002 VLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ȡ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DCMD_SEND_MC_PARAS 0x8003 VLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DCMD_SEND_MEM_DATA 0x8004 VLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>SRAM<EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>SRAM<EFBFBD><EFBFBD>NAND FLASH<EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> DCMD_SEND_SENSORS 0x8005 VLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<EFBFBD>ź<EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>Ϣ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ϣ DCMD_SEND_FILE_INFO 0x8006 VLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DCMD_SEND_TRANS_RESULT 0x8007 VLDP <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD>λͼ
*/
// <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_GET_MC_INFO 0x0001 // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define UCMD_GET_MC_STATUS 0x0002 // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>״̬
#define UCMD_GET_MC_PARAS 0x0003 // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_GET_MEM_DATA 0x0004 // <20><>ȡ<EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_GET_SENSORS 0x0005 // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
#define UCMD_GET_FILE_INFO 0x0006 // <20><>ȡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ
#define UCMD_GET_TRANS_RESULT 0x0007 // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_GET_SENSORS_BMP 0x0008 // <20><>ȡ<EFBFBD><C8A1>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λͼ
#define UCMD_GET_BOARD_VER 0x000A // <20><>ȡ<EFBFBD><C8A1>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_GET_HEAD_PARA 0x000B // <20><>ȡ<EFBFBD><C8A1>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_GET_COLOR_PARA 0x000C // <20><>ȡ<EFBFBD><C8A1>ɫ<EFBFBD><C9AB><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_GET_HEAD_NVPARAS 0x000D // ѡ<><D1A1><EFBFBD>Զ<EFBFBD>ȡ<EFBFBD><C8A1>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>
#define UCMD_SET_MC_CONFIG 0x0101 // <20><><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_SET_MC_STATUS 0x0102 // <20><><EFBFBD>û<EFBFBD><C3BB><EFBFBD>״̬
#define UCMD_SET_MC_PARAS 0x0103 // <20><><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_SET_MEM_DATA 0x0104 // <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_SET_FILE_PARAS 0x0105 // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_SET_EXEC_PROGRESS 0x0106 // <20><><EFBFBD><EFBFBD>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>
#define UCMD_SET_INSTALLMENT 0x0107 // <20><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_SET_ELAPSED_TIME 0x0108 // <20><><EFBFBD>þ<EFBFBD><C3BE><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
#define UCMD_SET_DEF_PARA 0x0109 // <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>
#define UCMD_SET_HEADDEF_PARA 0x010A // <20><><EFBFBD>û<EFBFBD>ͷ<EFBFBD><CDB7>Ĭ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>
#define UCMD_SET_HEAD_PARA 0x010B // <20><><EFBFBD>û<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_SET_COLOR_PARA 0x010C // <20><><EFBFBD>û<EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_SET_MVANGDEF_PARA 0x010D // <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ƕ<EFBFBD>Ĭ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>
#define UCMD_SET_COLORDEF_PARA 0x010E // <20><><EFBFBD>û<EFBFBD>ɫ<EFBFBD><C9AB>Ĭ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>
#define UCMD_SET_FILE_EXDATA 0x010F // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>
#define UCMD_SET_HEAD_NVPARA 0x0110 // ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>
#define UCMD_ACT_BYHAND 0x0201 // <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_MC_WORK 0x0202 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_MOVE_TO 0x0203 // <20>ƶ<EFBFBD>XY<58><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_MOVE_OFST 0x0205 // XY<58>ƶ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
#define UCMD_START_TRANS 0x0301 // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_TRANS_FILE_DATA 0x0302 // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_INVALID_FILE 0x0303 // <20>ļ<EFBFBD>ʧЧ<CAA7><D0A7><EFBFBD><EFBFBD>
#define UCMD_SET_FILE_LIST 0x0304 // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>б<EFBFBD>
#define UCMD_GET_FILE_LIST 0x0305 // <20><>ȡ<EFBFBD><C8A1>λ<EFBFBD><CEBB><EFBFBD>ļ<EFBFBD><C4BC>б<EFBFBD>
#define UCMD_MC_UPDATE 0x0401 // <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_BOARD_UPDATE 0x0402 // <20><>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define UCMD_TRA_BOARD 0x0501 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DCMD_REQUEST_DAT 0x8000 // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
#define DCMD_SEND_MC_INFO 0x8001 // <20><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define DCMD_SEND_MC_STATUS 0x8002 // <20><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>״̬
#define DCMD_SEND_MC_PARAS 0x8003 // <20><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DCMD_SEND_MEM_DATA 0x8004 // <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
#define DCMD_SEND_SENSORS 0x8005 // <20><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD>ź<EFBFBD>
#define DCMD_SEND_FILE_INFO 0x8006 // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ
#define DCMD_SEND_TRANS_RESULT 0x8007 // <20><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DCMD_SEND_SENSORS_BMP 0x8008 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λͼ
#define DCMD_SEND_BOARDVER 0x800A // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DCMD_SEND_HEADPARA 0x800B // <20><><EFBFBD>ͻ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DCMD_SEND_COLORPARA 0x800C // <20><><EFBFBD>ͻ<EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>
#define DCMD_SEND_HEAD_NVPARAS 0x800E // ѡ<><D1A1><EFBFBD>Է<EFBFBD><D4B7>ͻ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>
#define DCMD_SEND_DEBUG_INFO 0x8010 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
#define DCMD_SEND_FILE_LIST 0x8011 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ļ<EFBFBD><C4BC>б<EFBFBD>
//------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//------------------------------------------------------------------------
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#ifdef UCMD_GET_MC_INFO
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD>
#endif
//------------------------------------------------------------------------
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>״̬
#ifdef UCMD_GET_MC_STATUS
/*
|-------------------------------------------------------------------|
|-------------------------------------------------------------------|
| B10 B11 | B12 B13 | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|-------------------------------------------------------------------|
| <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD> | <EFBFBD><EFBFBD><EFBFBD><EFBFBD> | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|-------------------------------------------------------------------|
| | | | |
| | | | |
|-------------------------------------------------------------------|
|-------------------------------------------------------------------|
*/
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD>
typedef struct
{
// 0
char fpgaHardVerStr[16]; // FPGAӲ<41><D3B2><EFBFBD>
char fpgaSoftVerStr[16]; // FPGA<47><41><EFBFBD><EFBFBD><EFBFBD>
char softwareVerStr[48]; // <20><><EFBFBD><EFBFBD><EFBFBD>
char buildInfoStr[32]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
char boardId[32]; // <20>忨ID
char installment[32]; // <20><><EFBFBD><EFBFBD>һ<EFBFBD>εķ<CEB5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
// 176
char rev1[512-176];
// 512
u32 localIP; // <20>忨IP<49><50>ַ
u32 submask; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
u32 gateIP; // <20><><EFBFBD><EFBFBD>IP
// 524
u8 rev2[1024-524];
} __attribute__ ((packed)) MCInfo;
//-------------------------------------------------------------------------------
#endif
//------------------------------------------------------------------------
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifdef UCMD_GET_MC_PARAS
#endif
//------------------------------------------------------------------------
//------------------------------------------------------------------------
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
#ifdef UCMD_GET_SENSORS
#endif
//------------------------------------------------------------------------
// <20><>ȡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ
#ifdef UCMD_GET_FILE_INFO
#endif
//------------------------------------------------------------------------
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifdef UCMD_GET_TRANS_RESULT
#endif
//------------------------------------------------------------------------
// <20><><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifdef UCMD_SET_MC_CONFIG
#endif
//------------------------------------------------------------------------
// <20><><EFBFBD>û<EFBFBD><C3BB><EFBFBD>״̬
#ifdef UCMD_SET_MC_STATUS
#define MC_STA_CLENA_ERR 0x0000 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MC_STA_EN_WORK 0x0001 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(״̬)
#define MC_STA_DIS_WORK 0x0002 // <20><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>(״̬)
#define MC_STA_EN_TIME 0x0003 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><CAB1>)
#define MC_STA_DIS_TIME 0x0004 // <20><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><><CAB1>)
#define MC_CLEAN_COUNT 0x0005 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MC_STA_MANUAL 0x0006 // <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>״̬
#define MC_STA_AUTO 0x0007 // <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>״̬
#define MC_FILE_SWITCH 0x0008 // <20>ļ<EFBFBD><C4BC>л<EFBFBD>
#define MC_INVALID_FILE 0x0009 // <20>ļ<EFBFBD>ʧЧ<CAA7><D0A7><EFBFBD><EFBFBD>
#define MC_CLEAN_PARA_REF 0x000A // <20><><EFBFBD><EFBFBD>ˢ<EFBFBD>²<EFBFBD><C2B2><EFBFBD><EFBFBD><EFBFBD>־
#define MC_SET_TO_NORMAL 0x000B // <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
#define MC_SET_TO_SIMULATE 0x000C // <20><><EFBFBD><EFBFBD>Ϊģ<CEAA><EFBFBD><E2B9A4>״̬
#define MC_SET_ERR_STA 0x000D // <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MC_SEL_WORK_HEADS 0x000E // <20><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD>ͷ
#define MC_CLEAN_FIDX 0x000F // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
#define MC_CLEAN_BOBBIN 0x0010 // <20><><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>λ
#define MC_SET_ENTER_SCAN_SENSOR 0x0011 // <20><><EFBFBD><EFBFBD>Ϊ <20><><EFBFBD><EFBFBD> ɨ<><EFBFBD><E8B4AB><EFBFBD><EFBFBD>״̬
#define MC_SET_EXIT_SCAN_SENSOR 0x0012 // <20><><EFBFBD><EFBFBD>Ϊ <20>˳<EFBFBD> ɨ<><EFBFBD><E8B4AB><EFBFBD><EFBFBD>״̬
#define MC_SET_ENTER_TEST_OUTPUT 0x0013 // <20><><EFBFBD><EFBFBD>Ϊ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
#define MC_SET_EXIT_TEST_OUTPUT 0x0014 // <20><><EFBFBD><EFBFBD>Ϊ <20>˳<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
#define MC_CHANGE_HOOK_START 0x0020 // <20><><EFBFBD><EFBFBD><EBBBBB>״̬
#define MC_CHANGE_HOOK_END 0x0021 // <20>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>״̬
#define MC_STA_EXIT_TRA 0x0023 // <20>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>״̬
#define MC_STA_EXIT_THREADBK 0x0024 // <20>˳<EFBFBD><CBB3><EFBFBD><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>
#define MC_INVALID_FILEBLOCK 0x0026 // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ݿ<EFBFBD>ʧЧ<CAA7><D0A7><EFBFBD><EFBFBD>
#endif
//------------------------------------------------------------------------
// <20><><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifdef UCMD_SET_MC_PARAS
#define SEW_MCPARA_MACH 0x00 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
#define SEW_MCPARA_WORK 0x01 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define EMB_MVSTANG_PARA 0x06 // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>
#define EMB_PATCH_DATA_IDX 0x09 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>
#endif
//------------------------------------------------------------------------
// <20><>ȡ<EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
#ifdef UCMD_GET_MEM_DATA
#ifdef UCMD_SET_MEM_DATA
// <20><><EFBFBD><EFBFBD> (<28><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>)
#define MEM_INSRAM 0x01 // Ƭ<>ڴ洢<DAB4><E6B4A2><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>
#define INSRAM_ADDR_MIN 0
#define INSRAM_ADDR_MAX (0xFFFF)
#define MEM_EXSRAM 0x02 // Ƭ<><C6AC><EFBFBD><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
#define EXSRAM_ADDR_MIN 0
#define EXSRAM_ADDR_MAX ((512*1024+512*1024)-1)
#define MEM_NORFLASH 0x03 // Ƭ<><C6AC> norflash <20><><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
#define NORFLASH_ADDR_MIN 0
#define NORFLASH_ADDR_MAX ((512*1024+512*1024)-1)
#define MEM_FRAM 0x04 // FRAM <20><EFBFBD><E6B4A2>
#define FRAM_ADDR_MIN 0
#define FRAM_ADDR_MAX ((8*1024)-1)
#define MEM_GPIO 0x05 // IO <20>˿<EFBFBD>
#define GPIO_ADDR_MIN 0
#define GPIO_ADDR_MAX ((1*1024)-1)
#define MEM_MOTOS 0x06 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MOTOS_ADDR_MIN 0
#define MOTOS_ADDR_MAX (0x5F)
// 0x00--0x03 <20><><EFBFBD><EFBFBD><31><CEBB>
// 0x10--0x13 <20><><EFBFBD><EFBFBD><32><CEBB>
// 0x20--0x23 <20><><EFBFBD><EFBFBD><33><CEBB>
// 0x30--0x33 <20><><EFBFBD><EFBFBD><34><CEBB>
// 0x40--0x43 <20><><EFBFBD><EFBFBD><35><CEBB>
// 0x50--0x53 <20><><EFBFBD><EFBFBD><36><CEBB>
// <20><><EFBFBD>õ<EFBFBD>ij<EFBFBD><C4B3>λ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD>ȡλ<C8A1>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>趨λ<E8B6A8>ã<EFBFBD><C3A3>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>
#define MEM_ECDS 0x07 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>
#define ECDS_ADDR_MIN 0
#define ECDS_ADDR_MAX (0x2F)
// 0x00--0x03 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>
// 0x10--0x13 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>
// 0x20--0x23 MP<4D><50><EFBFBD><EFBFBD>
#define MEM_ADC 0x08 // ADֵ<44><D6B5>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>
#define ADC_ADDR_MIN 0
#define ADC_ADDR_MAX (0x1F)
// 0x00--0x01 ADC1ֵ
// 0x10--0x11 ADC2ֵ
#define MEM_COMM 0x09 // ͨѶ<CDA8>˿<EFBFBD>
#define COMM_ADDR_MIN 0
#define COMM_ADDR_MAX (0x1F)
// 0x00 -- 0x0F 232 <20><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>BUF
// 0x10 -- 0x1F 232 <20><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>BUF
// 0x20 -- 0x2F 485 <20><><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD>BUF
// 0x70 -- 0x7F CAN<41><4E><EFBFBD><EFBFBD>BUF
// 0x100 -- 0x10F 232 <20><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>BUF
// 0x110 -- 0x11F 232 <20><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>BUF
// 0x120 -- 0x12F 485 <20><><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD>BUF
// 0x170 -- 0x17F CAN<41><4E><EFBFBD><EFBFBD>BUF
#endif
#endif
//------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
#ifdef UCMD_SET_FILE_PARAS
#endif
//------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>
#ifdef UCMD_SET_EXEC_PROGRESS
#endif
//------------------------------------------------------------------------
// <20><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifdef UCMD_SET_INSTALLMENT
#endif
//------------------------------------------------------------------------
// <20><><EFBFBD>þ<EFBFBD><C3BE><EFBFBD>ʱ<EFBFBD><CAB1>
#ifdef UCMD_SET_ELAPSED_TIME
#endif
//------------------------------------------------------------------------
// <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifdef UCMD_ACT_BYHAND
/*
|-------------------------------------------------------------------|
|-------------------------------------------------------------------|
| B6 B7 | B8 B9 | B10 B11 | B12 B13 |
|-------------------------------------------------------------------|
| <EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | <EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD>1 | <EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD>2 | <EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD>3 |
|-------------------------------------------------------------------|
| | | | |
| | | | |
| | | | |
|-------------------------------------------------------------------|
|-------------------------------------------------------------------|
*/
//--------------------------------------------------
// <20><><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MOTO_TO_ZERO 0x0001 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MOVE_BY_HAND 0x0002 // <20><><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6>ƶ<EFBFBD>
#define OUTPUT_CTRL 0x0003 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MOTO_EN_CTRL 0x0004 // <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>ܿ<EFBFBD><DCBF><EFBFBD>
#define MANUAL_ACTION 0x0005 // <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
#define TEST_THREADBK 0x0007 // <20><><EFBFBD>Զ<EFBFBD><D4B6>߼<EFBFBD><DFBC><EFBFBD>
#define SHAKE_FRAME_TEST 0x0008 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><31><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
// <20>ֶ<EFBFBD><D6B6>ƶ<EFBFBD><C6B6><EFBFBD> <20><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>2 <20><><EFBFBD><EFBFBD>
#define MT_MOVE_DIR_STOP 0x0000 // ֹͣת<D6B9><D7AA>
#define MT_MOVE_DIR_POSI 0x0001 // <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>x<EFBFBD><78><EFBFBD>ң<EFBFBD>y<EFBFBD><79><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>
#define MT_MOVE_DIR_NEGA 0x0002 // <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
// <20>ֶ<EFBFBD><D6B6>ƶ<EFBFBD><C6B6><EFBFBD> <20><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>3 <20><><EFBFBD><EFBFBD>
// <20>ٶ<EFBFBD>ֵ<EFBFBD><D6B5>rpm <20><> mmps
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>ܵ<EFBFBD> <20><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>2 <20><><EFBFBD><EFBFBD>
#define MT_SERVO_ON 0x0001 // <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>ܿ<EFBFBD>
#define MT_SERVO_OFF 0x0002 // <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>ܹ<EFBFBD>
// <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>ƹ<EFBFBD><C6B9>ܵľ<DCB5><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
#endif
//------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifdef UCMD_MC_WORK
/*
|-------------------------------------------------------|
|-------------------------------------------------------|
| B6 B7 | B8 B9 B10 B11 | B12 B13 |
|-------------------------------------------------------|
| <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƹ<EFBFBD><EFBFBD><EFBFBD> | <EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD>1 | <EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD>2 |
|-------------------------------------------------------|
| | | |
| | | |
| | | |
|-------------------------------------------------------|
|-------------------------------------------------------|
*/
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
#define WORK_START 0x0001 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define WORK_PAUSE 0x0002 // <20><>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>
#define WORK_FINISH 0x0003 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD>λ<EFBFBD><CEBB>
#define WORK_FIND_ZERO 0x0004 // <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
#define WORK_GOTO_START 0x0005 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define WORK_GOTO_ANCHOR 0x0006 // <20>ض<EFBFBD>λ<EFBFBD><CEBB>
#define WORK_GOTO_OFFSET 0x0007 // <20><>ƫ<EFBFBD>Ƶ<EFBFBD>
#define WORK_CHECK_FRAME 0x0008 // <20>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>
#define WORK_CUT_FRAME 0x0009 // <20>߿<EFBFBD><DFBF>и<EFBFBD>
#define WORK_CUT_XLINE 0x000A // <20>ֶ<EFBFBD><D6B6>ϲ<EFBFBD>
#define WORK_FAST_JUMP 0x000B // <20><><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD>
#define WORK_GOTO_WKPOS 0x000C // <20>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD>
#define WORK_GOTO_FEEDT 0x000D // <20>ش<EFBFBD><D8B4>ߵ<EFBFBD>
#define WORK_GOTO_CHGBO 0x000E // <20>ػ<EFBFBD><D8BB><EFBFBD>λ
#define WORK_FEED_MOVE 0x000F // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define WORK_DRAW_LATTICE 0x0010 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ
#define WORK_GOTO_FINISH 0x0011 // <20>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD>
#define WORK_GOTO_ZERO 0x0012 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>
#define WORK_RPM_CHG 0x0020 // <20>ٶȸı<C8B8>
#define WORK_FILE_IDX_CHG 0x0021 // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>Ÿı<C5B8>
#define WORK_SIMULATION_FRAME 0x0026 // <20><><EFBFBD>߱߿<DFB1>
#define WORK_GOTO_FEED 0x0027 // <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
#define WORK_SET_OFFSET 0x0028 // <20><>ƫ<EFBFBD>Ƶ<EFBFBD>
#define WORK_SET_FEED 0x0029 // <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
#define WORK_ACT_OIL 0x0050 // <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define WKMD_ONCE 0
#define WKMD_NORMAL 1 // <20><><EFBFBD><EFBFBD>
#define WKMD_SIMULATION 2 // ģ<><EFBFBD><E2A3A8><EFBFBD>ߣ<EFBFBD>
#define WKMD_BACKWORD 3 // <20><><EFBFBD><EFBFBD>
#endif
#ifdef UCMD_MOVE_TO
/*
|-------------------------------------------------------|
|-------------------------------------------------------|
| B6 B7 B8 B9 | B10 B11 B12 B13 |
|-------------------------------------------------------|
| x<EFBFBD><EFBFBD><EFBFBD><EFBFBD> | Y<EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|-------------------------------------------------------|
| | |
| | |
| | |
|-------------------------------------------------------|
|-------------------------------------------------------|
*/
#endif
//------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
#ifdef UCMD_START_TRANS
#endif
//------------------------------------------------------------------------
// <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifdef UCMD_TRANS_FILE_DATA
#endif
//------------------------------------------------------------------------
#ifdef UCMD_INVALID_FILE // <20>ļ<EFBFBD>ʧЧ<CAA7><D0A7><EFBFBD><EFBFBD>
#endif
//------------------------------------------------------------------------
#ifdef UCMD_SET_FILE_LIST // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>б<EFBFBD>
#endif
//------------------------------------------------------------------------
#ifdef UCMD_TRA_BOARD
#endif
//------------------------------------------------------------------------
// <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifdef UCMD_MC_UPDATE
#endif
//------------------------------------------------------------------------
// <20><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD>ź<EFBFBD>
// u8 sendSensors.exData[MAX_EXDP_LEN]
#ifdef DCMD_SEND_SENSORS
#define DSS_DEF_IDX 0x03FE // δʹ<CEB4>ýӿڶ<D3BF><DAB6><EFBFBD><EFBFBD><EFBFBD>ַ
#define DSS_DEF_BIT 0x01 // δʹ<CEB4>ýӿڶ<D3BF><DAB6><EFBFBD>λ
//----------------------------------------------------------------
// λ:
#define DSS_BIT1 0x01 // idx1
#define DSS_BIT2 0x02 // idx2
#define DSS_BIT3 0x04 // idx3
#define DSS_BIT4 0x08 // idx4
#define DSS_BIT5 0x10 // idx5
#define DSS_BIT6 0x20 // idx6
#define DSS_BIT7 0x40 // idx7
#define DSS_BIT8 0x80 // idx8
// <20><>ͷ1~16λ:
#define DSS_HEAD_01 DSS_BIT1 // idx1
#define DSS_HEAD_02 DSS_BIT2 // idx2
#define DSS_HEAD_03 DSS_BIT3 // idx3
#define DSS_HEAD_04 DSS_BIT4 // idx4
#define DSS_HEAD_05 DSS_BIT5 // idx5
#define DSS_HEAD_06 DSS_BIT6 // idx6
#define DSS_HEAD_07 DSS_BIT7 // idx7
#define DSS_HEAD_08 DSS_BIT8 // idx8
#define DSS_HEAD_09 DSS_BIT1 // idx1
#define DSS_HEAD_10 DSS_BIT2 // idx2
#define DSS_HEAD_11 DSS_BIT3 // idx3
#define DSS_HEAD_12 DSS_BIT4 // idx4
#define DSS_HEAD_13 DSS_BIT5 // idx5
#define DSS_HEAD_14 DSS_BIT6 // idx6
#define DSS_HEAD_15 DSS_BIT7 // idx7
#define DSS_HEAD_16 DSS_BIT8 // idx8
//----------------------------------------------------------------
// 1.<2E><><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> 0x0000~0x001F
#if (1)
//--------------------------------
#define DSS1_B_START_BT 0x0000 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť(1~8)
#define DSS1_B_PAUSE_BT 0x0001 // <20><>ͣ<EFBFBD><CDA3>ť(1~8)
#define DSS1_B_JOG_BT 0x0002 // <20><EFBFBD><E3B6AF>ť(1~8)
#define DSS1_B_FRMOP_BT 0x0003 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť(1~8)
#define DSS1_B_AUTO_BT 0x0004 // <20>ֶ<EFBFBD><D6B6><EFBFBD>ť(1~8)
#define DSS1_B_READY_BT 0x0005 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť(1~8)
#define DSS1_B_KEY_BT 0x0006 // Կ<>װ<EFBFBD>ť(1~8)
#define DSS1_B_AIR_TEST 0x0007 // <20><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>(1~8)
#define DSS1_B_SAFE_TEST 0x0008 // <20><>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>(1~8)
#define DSS1_B_TPLPOS 0x0009 // ģ<>嵽λ(1~8)
#define DSS1_B_MOTO_ALM1 0x000A // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(1~8)
#define DSS1_B_MOTO_ALM2 0x000B // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(9~16)
#define DSS1_B_MOTO_ALM3 0x000C // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(17~24)
#define DSS1_B_MOTO_ALM4 0x000D // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(25~32)
#define DSS1_B_MOTO_ALM5 0x000E // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(33~40)
#define DSS1_B_MOTO_ALM6 0x000F // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(41~48)
#define DSS1_B_BASE_TEST 0x0010 // <20><>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>(1~8)
#define DSS1_BASE_POW DSS_BIT1 // <20>ӵ<EFBFBD><D3B5>ź<EFBFBD>
#define DSS1_B_OIL_BT 0x0011 // <20><><EFBFBD>Ͱ<EFBFBD>ť(1~8)
// 0x0011 ~ 0x001F // <20><><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> Ԥ<><D4A4>
#endif
//----------------------------------------------------------------
// 2.<2E><>λ(<28><>)<29><><EFBFBD>ź<EFBFBD> 0x0020~0x007F
#if (1)
//--------------------------------
#define DSS2_F1_ZERO_POS 0x0020 // <20><><EFBFBD><EFBFBD>(<28><>)1 <20><>λ
#define DSS2_F1_SLOW_POS 0x0021 // <20><><EFBFBD><EFBFBD>(<28><>)1 <20><><EFBFBD><EFBFBD>
#define DSS2_F1_NLIMT_POS 0x0022 // <20><><EFBFBD><EFBFBD>(<28><>)1 <20><>λ-
#define DSS2_F1_PLIMT_POS 0x0023 // <20><><EFBFBD><EFBFBD>(<28><>)1 <20><>λ+
#define DSS2_F1_X DSS_BIT1 // X (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X)
#define DSS2_F1_Y DSS_BIT2 // Y (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y)
#define DSS2_F1_Y2 DSS_BIT3 // Y (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y2)
#define DSS2_F1_X2 DSS_BIT4 // X (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X2)
#define DSS2_F2_ZERO_POS 0x0024 // <20><><EFBFBD><EFBFBD>(<28><>)2 <20><>λ
#define DSS2_F2_SLOW_POS 0x0025 // <20><><EFBFBD><EFBFBD>(<28><>)2 <20><><EFBFBD><EFBFBD>
#define DSS2_F2_NLIMT_POS 0x0026 // <20><><EFBFBD><EFBFBD>(<28><>)2 <20><>λ-
#define DSS2_F2_PLIMT_POS 0x0027 // <20><><EFBFBD><EFBFBD>(<28><>)2 <20><>λ+
#define DSS2_F2_SP0 DSS_BIT1 // <20><><EFBFBD><EFBFBD>2
#define DSS2_F2_SP1 DSS_BIT2 // <20><><EFBFBD><EFBFBD>2
#define DSS2_F2_SP2 DSS_BIT3 // <20><><EFBFBD><EFBFBD>2
#define DSS2_F2_SP3 DSS_BIT4 // <20><><EFBFBD><EFBFBD>2
#define DSS2_F2_SP4 DSS_BIT5 // <20><><EFBFBD><EFBFBD>2
#define DSS2_F2_SP5 DSS_BIT6 // <20><><EFBFBD><EFBFBD>2
#define DSS2_F2_SP6 DSS_BIT7 // <20><><EFBFBD><EFBFBD>2
#define DSS2_F2_SP7 DSS_BIT8 // <20><><EFBFBD><EFBFBD>2
#define DSS2_F3_ZERO_POS 0x0028 // <20><><EFBFBD><EFBFBD>(<28><>)3 <20><>λ
#define DSS2_F3_SLOW_POS 0x0029 // <20><><EFBFBD><EFBFBD>(<28><>)3 <20><><EFBFBD><EFBFBD>
#define DSS2_F3_NLIMT_POS 0x002A // <20><><EFBFBD><EFBFBD>(<28><>)3 <20><>λ-
#define DSS2_F3_PLIMT_POS 0x002B // <20><><EFBFBD><EFBFBD>(<28><>)3 <20><>λ+
#define DSS2_F3_SP0 DSS_BIT1 // <20><><EFBFBD><EFBFBD>3
#define DSS2_F3_SP1 DSS_BIT2 // <20><><EFBFBD><EFBFBD>3
#define DSS2_F3_SP2 DSS_BIT3 // <20><><EFBFBD><EFBFBD>3
#define DSS2_F3_SP3 DSS_BIT4 // <20><><EFBFBD><EFBFBD>3
#define DSS2_F3_SP4 DSS_BIT5 // <20><><EFBFBD><EFBFBD>3
#define DSS2_F3_SP5 DSS_BIT6 // <20><><EFBFBD><EFBFBD>3
#define DSS2_F3_SP6 DSS_BIT7 // <20><><EFBFBD><EFBFBD>3
#define DSS2_F3_SP7 DSS_BIT8 // <20><><EFBFBD><EFBFBD>3
#define DSS2_F4_ZERO_POS 0x002C // <20><><EFBFBD><EFBFBD>(<28><>)4 <20><>λ
#define DSS2_F4_SLOW_POS 0x002D // <20><><EFBFBD><EFBFBD>(<28><>)4 <20><><EFBFBD><EFBFBD>
#define DSS2_F4_NLIMT_POS 0x002E // <20><><EFBFBD><EFBFBD>(<28><>)4 <20><>λ-
#define DSS2_F4_PLIMT_POS 0x002F // <20><><EFBFBD><EFBFBD>(<28><>)4 <20><>λ+
#define DSS2_F4_SP0 DSS_BIT1 // <20><><EFBFBD><EFBFBD>4
#define DSS2_F4_SP1 DSS_BIT2 // <20><><EFBFBD><EFBFBD>4
#define DSS2_F4_SP2 DSS_BIT3 // <20><><EFBFBD><EFBFBD>4
#define DSS2_F4_SP3 DSS_BIT4 // <20><><EFBFBD><EFBFBD>4
#define DSS2_F4_SP4 DSS_BIT5 // <20><><EFBFBD><EFBFBD>4
#define DSS2_F4_SP5 DSS_BIT6 // <20><><EFBFBD><EFBFBD>4
#define DSS2_F4_SP6 DSS_BIT7 // <20><><EFBFBD><EFBFBD>4
#define DSS2_F4_SP7 DSS_BIT8 // <20><><EFBFBD><EFBFBD>4
//--------------------------------
#define DSS2_RU_ZERO1_POS 0x0030 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ(1~8)
#define DSS2_RU_ZERO2_POS 0x0031 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ(9~16)
#define DSS2_RU_NLIMT1_POS 0x0032 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ-(1~8)
#define DSS2_RU_NLIMT2_POS 0x0033 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ-(9~16)
#define DSS2_RU_PLIMT1_POS 0x0034 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ+(1~8)
#define DSS2_RU_PLIMT2_POS 0x0035 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ+(9~16)
#define DSS2_RD_ZERO1_POS 0x0036 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ(1~8)
#define DSS2_RD_ZERO2_POS 0x0037 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ(9~16)
#define DSS2_RD_NLIMT1_POS 0x0038 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ-(1~8)
#define DSS2_RD_NLIMT2_POS 0x0039 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ-(9~16)
#define DSS2_RD_PLIMT1_POS 0x003A // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ+(1~8)
#define DSS2_RD_PLIMT2_POS 0x003B // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ+(9~16)
#define DSS2_CT_ZERO1_POS 0x003C // <20>õ<EFBFBD><C3B5><EFBFBD>ת<EFBFBD><D7AA>λ(1~8)
#define DSS2_CT_ZERO2_POS 0x003D // <20>õ<EFBFBD><C3B5><EFBFBD>ת<EFBFBD><D7AA>λ(9~16)
#define DSS2_PU_SP1_POS 0x003E // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ(1~8)
#define DSS2_PU_SP2_POS 0x003F // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>λ(9~16)
//--------------------------------
#define DSS2_UD_SU1_POS 0x0040 // <20><><EFBFBD>һ<EFBFBD>ͷ <20><>λ(1~8)
#define DSS2_UD_SU2_POS 0x0041 // <20><><EFBFBD>һ<EFBFBD>ͷ <20><>λ(9~16)
#define DSS2_UD_SD1_POS 0x0042 // <20><><EFBFBD>һ<EFBFBD>ͷ <20><>λ(1~8)
#define DSS2_UD_SD2_POS 0x0043 // <20><><EFBFBD>һ<EFBFBD>ͷ <20><>λ(9~16)
#define DSS2_UD_PU1_POS 0x0044 // <20><><EFBFBD>׻<EFBFBD>ͷ <20><>λ(1~8)
#define DSS2_UD_PU2_POS 0x0045 // <20><><EFBFBD>׻<EFBFBD>ͷ <20><>λ(9~16)
#define DSS2_UD_PD1_POS 0x0046 // <20><><EFBFBD>׻<EFBFBD>ͷ <20><>λ(1~8)
#define DSS2_UD_PD2_POS 0x0047 // <20><><EFBFBD>׻<EFBFBD>ͷ <20><>λ(9~16)
#define DSS2_UD_CU1_POS 0x0048 // <20><><EFBFBD>л<EFBFBD>ͷ <20><>λ(1~8)
#define DSS2_UD_CU2_POS 0x0049 // <20><><EFBFBD>л<EFBFBD>ͷ <20><>λ(9~16)
#define DSS2_UD_CD1_POS 0x004A // <20><><EFBFBD>л<EFBFBD>ͷ <20><>λ(1~8)
#define DSS2_UD_CD2_POS 0x004B // <20><><EFBFBD>л<EFBFBD>ͷ <20><>λ(9~16)
#define DSS2_UD_IU1_POS 0x004C // <20><><EFBFBD>ʻ<EFBFBD>ͷ <20><>λ(1~8)
#define DSS2_UD_IU2_POS 0x004D // <20><><EFBFBD>ʻ<EFBFBD>ͷ <20><>λ(9~16)
#define DSS2_UD_ID1_POS 0x004E // <20><><EFBFBD>ʻ<EFBFBD>ͷ <20><>λ(1~8)
#define DSS2_UD_ID2_POS 0x004F // <20><><EFBFBD>ʻ<EFBFBD>ͷ <20><>λ(9~16)
//--------------------------------
#define DSS2_UD_ZU1_POS 0x0050 // ѹ<><D1B9>ѹͷ <20><>λ(1~8)
#define DSS2_UD_ZU2_POS 0x0051 // ѹ<><D1B9>ѹͷ <20><>λ(9~16)
#define DSS2_UD_ZD1_POS 0x0052 // ѹ<><D1B9>ѹͷ <20><>λ(1~8)
#define DSS2_UD_ZD2_POS 0x0053 // ѹ<><D1B9>ѹͷ <20><>λ(9~16)
#define DSS2_UD_SP1U1_POS 0x0054 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD> <20><>λ(1~8)
#define DSS2_UD_SP1U2_POS 0x0055 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD> <20><>λ(9~16)
#define DSS2_UD_SP2D1_POS 0x0056 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD> <20><>λ(1~8)
#define DSS2_UD_SP2D2_POS 0x0057 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD> <20><>λ(9~16)
#define DSS2_UD_SP3U1_POS 0x0058 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD> <20><>λ(1~8)
#define DSS2_UD_SP3U2_POS 0x0059 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD> <20><>λ(9~16)
#define DSS2_UD_SP4D1_POS 0x005A // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD> <20><>λ(1~8)
#define DSS2_UD_SP4D2_POS 0x005B // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD> <20><>λ(9~16)
#define DSS2_UD_SP5U1_POS 0x005C // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD> <20><>λ(1~8)
#define DSS2_UD_SP5U2_POS 0x005D // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD> <20><>λ(9~16)
#define DSS2_UD_SP6D1_POS 0x005E // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD> <20><>λ(1~8)
#define DSS2_UD_SP6D2_POS 0x005F // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD> <20><>λ(9~16)
// 0x0060 ~ 0x007F // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ź<EFBFBD> Ԥ<><D4A4>
#endif
//----------------------------------------------------------------
// 3.<2E><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ź<EFBFBD> 0x080~0x00BF
#if (1)
//--------------------------------
#define DSS3_HS_UZ1_POS 0x0080 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3>λ(1~8)
#define DSS3_HS_UZ2_POS 0x0081 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3>λ(9~16)
#define DSS3_HS_UG1_POS 0x0082 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB9B4>λ(1~8)
#define DSS3_HS_UG2_POS 0x0083 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB9B4>λ(9~16)
#define DSS3_HS_UU1_POS 0x0084 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(1~8)
#define DSS3_HS_UU2_POS 0x0085 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(9~16)
#define DSS3_HS_UL1_POS 0x0086 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD>λ(1~8)
#define DSS3_HS_UL2_POS 0x0087 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD>λ(9~16)
#define DSS3_HS_DZ1_POS 0x0088 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3>λ(1~8)
#define DSS3_HS_DZ2_POS 0x0089 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3>λ(9~16)
#define DSS3_HS_DG1_POS 0x008A // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(1~8)
#define DSS3_HS_DG2_POS 0x008B // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(9~16)
#define DSS3_HS_SP1_POS 0x008C // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>(1~8)
#define DSS3_HS_SP2_POS 0x008D // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>(9~16)
#define DSS3_HS_SP3_POS 0x008E // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>(1~8)
#define DSS3_HS_SP4_POS 0x008F // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>(9~16)
//--------------------------------
#define DSS3_HE_PZ1_POS 0x0090 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(1~8)
#define DSS3_HE_PZ2_POS 0x0091 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(9~16)
#define DSS3_HE_CZ1_POS 0x0092 // <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(1~8)
#define DSS3_HE_CZ2_POS 0x0093 // <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(9~16)
#define DSS3_HE_TNZ1_POS 0x0094 // ë<><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(1~8)
#define DSS3_HE_TNZ2_POS 0x0095 // ë<><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(9~16)
#define DSS3_HE_TSZ1_POS 0x0096 // ë<><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(1~8)
#define DSS3_HE_TSZ2_POS 0x0097 // ë<><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(9~16)
#define DSS3_HE_EZ1_POS 0x0098 // <20><EFBFBD><E5BBA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(1~8)
#define DSS3_HE_EZ2_POS 0x0099 // <20><EFBFBD><E5BBA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(9~16)
#define DSS3_HE_SP1_POS 0x009A // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>(1~8)
#define DSS3_HE_SP2_POS 0x009B // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>(9~16)
#define DSS3_HE_EH1_POS 0x009C // <20><EFBFBD><E5BBA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(1~8)
#define DSS3_HE_EH2_POS 0x009D // <20><EFBFBD><E5BBA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(9~16)
#define DSS3_HE_SP5_POS 0x009E // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>(1~8)
#define DSS3_HE_SP6_POS 0x009F // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>(9~16)
#define DSS3_HE_PMP1_POS 0x00A0 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>(1~8)
#define DSS3_HE_PMP2_POS 0x00A1 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>(9~16)
// 0x00A0 ~ 0x00BF // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ź<EFBFBD> Ԥ<><D4A4>
#endif
//----------------------------------------------------------------
// 4.<2E><>ͷ<EFBFBD><CDB7>ť(<28><><EFBFBD><EFBFBD>)<29>ź<EFBFBD> 0x00C0~0x00FF
#if (1)
//--------------------------------
#define DSS4_K_SU1_BT 0x00C0 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť(1~8)
#define DSS4_K_SU2_BT 0x00C1 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť(9~16)
#define DSS4_K_KU1_BT 0x00C2 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť(1~8)
#define DSS4_K_KU2_BT 0x00C3 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť(9~16)
#define DSS4_K_CU1_BT 0x00C4 // <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť(1~8)
#define DSS4_K_CU2_BT 0x00C5 // <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť(9~16)
#define DSS4_K_PU1_BT 0x00C6 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť(1~8)
#define DSS4_K_PU2_BT 0x00C7 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť(9~16)
#define DSS4_K_ZU1_BT 0x00C8 // ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť(1~8)
#define DSS4_K_ZU2_BT 0x00C9 // ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť(9~16)
#define DSS4_K_SL1_BT 0x00CA // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ť(1~8)
#define DSS4_K_SL2_BT 0x00CB // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ť(9~16)
#define DSS4_K_PL1_BT 0x00CC // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ť(1~8)
#define DSS4_K_PL2_BT 0x00CD // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ť(9~16)
#define DSS4_K_SR1_BT 0x00CE // <20><><EFBFBD>Ҳ<EFBFBD><D2B2>찴ť(1~8)
#define DSS4_K_SR2_BT 0x00CF // <20><><EFBFBD>Ҳ<EFBFBD><D2B2>찴ť(9~16)
#define DSS4_K_BLT_BT 0x00D0 // <20><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>ť
#define DSS4_K_BLT1 DSS_BIT1 // <20><><EFBFBD>ʹ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ť
#define DSS4_K_BLT2 DSS_BIT2 // <20><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD>˰<EFBFBD>ť
#define DSS4_K_BLT3 DSS_BIT3 // <20><><EFBFBD>ϴ<EFBFBD><CFB4>ʹ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ť
#define DSS4_K_BLT4 DSS_BIT4 // <20><><EFBFBD>ϴ<EFBFBD><CFB4>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD>˰<EFBFBD>ť
#define DSS4_K_BLT5 DSS_BIT5 // <20><><EFBFBD>Ҵ<EFBFBD><D2B4>ʹ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ť
#define DSS4_K_BLT6 DSS_BIT6 // <20><><EFBFBD>Ҵ<EFBFBD><D2B4>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD>˰<EFBFBD>ť
#define DSS4_K_BLT7 DSS_BIT7 // <20><><EFBFBD><EFBFBD>
#define DSS4_K_BLT8 DSS_BIT8 // <20><><EFBFBD><EFBFBD>
// 0x00D0 ~ 0x00FF // <20><>ͷ<EFBFBD><CDB7>ť(<28><><EFBFBD><EFBFBD>)<29>ź<EFBFBD> Ԥ<><D4A4>
#endif
//----------------------------------------------------------------
// 5.<2E><>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> 0x0100~0x01FF
#if (1)
//--------------------------------
// 5.1 <20><EFBFBD><E5BBA8> 0x0100~0x016F
#if (1)
// 0x0100 ~ 0x016F // <20><EFBFBD><E5BBA8><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> Ԥ<><D4A4>
#define DSS5_ST0_DCZ1 0x0100 // <20><EFBFBD>¼<EFBFBD><C2BC>߻<EFBFBD>λ(1~8)
#define DSS5_ST0_DCZ2 0x0101 // <20><EFBFBD>¼<EFBFBD><C2BC>߻<EFBFBD>λ(9~16)
#define DSS5_ST0_MAZP 0x0102 // M<><4D><EFBFBD><EFBFBD>λ
#define DSS5_MA_CHENILLE DSS_BIT1 // ë<><C3AB>M<EFBFBD><4D><EFBFBD><EFBFBD>λ
#define DSS5_MA_RING DSS_BIT2 // ë<><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
#define DSS5_MA_COIL DSS_BIT3 // <20><><EFBFBD><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD>λ
#define DSS5_MA_CAP DSS_BIT4 // ñ<><C3B1><EFBFBD><EFBFBD>λ
#define DSS5_ST0_DEVS 0x0103 // װ<><D7B0><EFBFBD>ź<EFBFBD>
#define DSS5_ACS_ALM DSS_BIT1 // <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>󱨾<EFBFBD>
#define DSS5_TR_ALM DSS_BIT2 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5B1A8>
#define DSS5_ST0_QUI 0x0104 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
#define DSS5_SZ_HOOK DSS_BIT1 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
#define DSS5_SZ_COLOR DSS_BIT2 // <20><>ɫ<EFBFBD><C9AB>λ
#define DSS5_SZ_CPOS1 DSS_BIT3 // <20><>ɫλ<C9AB><CEBB>1
#define DSS5_SZ_CPOS2 DSS_BIT4 // <20><>ɫλ<C9AB><CEBB>2
#define DSS5_SZ_CPOS3 DSS_BIT5 // <20><>ɫλ<C9AB><CEBB>3
#define DSS5_SZ_CPOS4 DSS_BIT6 // <20><>ɫλ<C9AB><CEBB>4
#define DSS5_SZ_FOOT DSS_BIT7 // <20><>̤<EFBFBD><CCA4><EFBFBD><EFBFBD>
#endif
//--------------------------------
// 5.2 <20><><EFBFBD>һ<EFBFBD> 0x0170~0x01AF
#if (1)
//--------------------------------
#define DSS5_ST1_BKU1 0x0170 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><DFB6>߼<EFBFBD><DFBC><EFBFBD>(1~8)
#define DSS5_ST1_BKU2 0x0171 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><DFB6>߼<EFBFBD><DFBC><EFBFBD>(9~16)
#define DSS5_ST1_BKD1 0x0172 // <20><><EFBFBD>ҵ<EFBFBD><D2B5>߶<EFBFBD><DFB6>߼<EFBFBD><DFBC><EFBFBD>(1~8)
#define DSS5_ST1_BKD2 0x0173 // <20><><EFBFBD>ҵ<EFBFBD><D2B5>߶<EFBFBD><DFB6>߼<EFBFBD><DFBC><EFBFBD>(9~16)
#define DSS5_ST1_DCZ1 0x0174 // <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>߻<EFBFBD>λ(1~8)
#define DSS5_ST1_DCZ2 0x0175 // <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>߻<EFBFBD>λ(9~16)
#define DSS5_ST1_FTZ1 0x0176 // <20><><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(1~8)
#define DSS5_ST1_FTZ2 0x0177 // <20><><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(9~16)
#define DSS5_ST1_JXH1 0x0178 // <20><><EFBFBD>Ҽ<EFBFBD><D2BC>߸<EFBFBD>λ(1~8)
#define DSS5_ST1_JXH2 0x0179 // <20><><EFBFBD>Ҽ<EFBFBD><D2BC>߸<EFBFBD>λ(9~16)
#define DSS5_ST1_JXL1 0x017A // <20><><EFBFBD>Ҽ<EFBFBD><D2BC>ߵ<EFBFBD>λ(1~8)
#define DSS5_ST1_JXL2 0x017B // <20><><EFBFBD>Ҽ<EFBFBD><D2BC>ߵ<EFBFBD>λ(9~16)
#define DSS5_ST1_JXO1 0x017C // <20><><EFBFBD>Ҽ<EFBFBD><D2BC>߿<EFBFBD>λ(1~8)
#define DSS5_ST1_JXO2 0x017D // <20><><EFBFBD>Ҽ<EFBFBD><D2BC>߿<EFBFBD>λ(9~16)
#define DSS5_ST1_JXC1 0x017E // <20><><EFBFBD>Ҽ<EFBFBD><D2BC>ߺ<EFBFBD>λ(1~8)
#define DSS5_ST1_JXC2 0x017F // <20><><EFBFBD>Ҽ<EFBFBD><D2BC>ߺ<EFBFBD>λ(9~16)
// 0x0180 ~ 0x01AF // <20><><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> Ԥ<><D4A4>
#define DSS5_ST1_DCO1 0x0180 // <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>߿<EFBFBD>λ(1~8)
#define DSS5_ST1_DCO2 0x0181 // <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>߿<EFBFBD>λ(9~16)
#define DSS5_ST1_NLC1 0x0182 // <20><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD><C7BC><EFBFBD>(1~8)
#define DSS5_ST1_NLC2 0x0183 // <20><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD><C7BC><EFBFBD>(9~16)
#define DSS5_ST1_SNZ1 0x0184 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(1~8)
#define DSS5_ST1_SNZ2 0x0185 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ(9~16)
#endif
// 0x0180 ~ 0x01AF // <20><><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> Ԥ<><D4A4>
//--------------------------------
// 5.3 <20><><EFBFBD><EFBFBD>/<2F>ô<EFBFBD>/ϳ<><CFB3> 0x01B0~0x01FF
#if (1)
//--------------------------------
// 0x01B0 ~ 0x01FF // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> Ԥ<><D4A4>
#endif
#endif
//----------------------------------------------------------------
// 6.ͨ<>ü<EFBFBD><C3BC><EFBFBD><EFBFBD>ź<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>) 0x0200~0x02FF
#if (1)
//--------------------------------
// 6.4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0x02B0~0x02FF
#if (1)
//--------------------------------
// 0x02B0 ~ 0x02FF // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ź<EFBFBD> Ԥ<><D4A4>
#define DSS6_ADDR_02B0 0x02B0 // <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
// BIT1 : <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
// BIT2 : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
// BIT3 : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>λ
// BIT4 : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>ջ<EFBFBD>λ
// BIT5 : <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>λ
// BIT6 : <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6>ջ<EFBFBD>λ
// BIT7 : <20><><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>λ
// BIT8 : <20><><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6>ջ<EFBFBD>λ
#define DSS6_ADDR_02B1 0x02B1 // <20>Զ<EFBFBD><D4B6>Ա<EFBFBD><D4B1>ź<EFBFBD>
// BIT1 : <20>Ա<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>λ
// BIT2 : <20>Ա<EFBFBD>1<EFBFBD><31>λ<EFBFBD><CEBB>
// BIT3 : <20>Ա<EFBFBD>1<EFBFBD><31>λ<EFBFBD><CEBB>
// BIT4 : <20>Ա<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>λ
// BIT5 : <20>Ա<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>λ
// BIT6 : <20>Ա<EFBFBD>2<EFBFBD><32>λ<EFBFBD><CEBB>
// BIT7 : <20>Ա<EFBFBD>2<EFBFBD><32>λ<EFBFBD><CEBB>
// BIT8 : <20>Ա<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>λ
#define DSS6_ADDR_02B2 0x02B2 // <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>ź<EFBFBD>
// BIT1 : <20><><EFBFBD>ϼ<EFBFBD><31><C8B1>
// BIT2 : <20><><EFBFBD>ϼ<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>
// BIT3 : <20><><EFBFBD>ϼ<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>
// BIT4 : Ԥ<><D4A4>4
// BIT5 : <20><><EFBFBD>ϼ<EFBFBD><32><C8B1>
// BIT6 : <20><><EFBFBD>ϼ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>
// BIT7 : <20><><EFBFBD>ϼ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>
// BIT8 : Ԥ<><D4A4>8
#define DSS6_ADDR_02B3 0x02B3 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
// BIT1 : <20><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>
// BIT2 : <20><><EFBFBD><EFBFBD>1ֹͣ
// BIT3 : <20><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>
// BIT4 : <20><><EFBFBD><EFBFBD>2ֹͣ
// BIT5 : <20><><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD>
// BIT6 : <20><><EFBFBD><EFBFBD>3ֹͣ
// BIT7 : <20><><EFBFBD><EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD>
// BIT8 : <20><><EFBFBD><EFBFBD>4ֹͣ
#define DSS6_ADDR_02B8 0x02B8 // <20><><EFBFBD><EFBFBD>ȹ<EFBFBD>߻<EFBFBD><DFBB>ź<EFBFBD>
// BIT1 : <20>ϻ<EFBFBD>ͷ<EFBFBD><CDB7>λ
// BIT2 : <20>»<EFBFBD>ͷ<EFBFBD><CDB7>λ
// BIT3 : <20>ϻ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
// BIT4 : <20>»<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
// BIT5 : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť
// BIT6 : ȱ<>ϼ<EFBFBD><CFBC><EFBFBD>
// BIT7 :
// BIT8 :
#define DSS6_ADDR_02B9 0x02B9 // <20><><EFBFBD><EFBFBD>ȹ<EFBFBD>߻<EFBFBD><DFBB>ź<EFBFBD>
// BIT1 : <20><><EFBFBD>϶Ա<CFB6><D4B1><EFBFBD><EFBFBD><EFBFBD>λ
// BIT2 : <20><><EFBFBD>϶Ա<CFB6><D4B1><EFBFBD><EFBFBD><EFBFBD>λ
// BIT3 : <20><><EFBFBD>϶Ա<CFB6><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// BIT4 : <20><><EFBFBD>϶Ա<CFB6><D4B1>Ҽ<EFBFBD><D2BC><EFBFBD>
// BIT5 : <20>ϻ<EFBFBD>ͷ<EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD>λ
// BIT6 : <20>ϻ<EFBFBD>ͷ<EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD>λ
// BIT7 : <20>ϻ<EFBFBD>ͷ<EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// BIT8 : <20>ϻ<EFBFBD>ͷ<EFBFBD>Ա<EFBFBD><D4B1>Ҽ<EFBFBD><D2BC><EFBFBD>
#endif
#endif
//----------------------------------------------------------------
// 7.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD><DABB><EFBFBD>) 0x0300~0x03FF
#if (1)
//--------------------------------
// 0x0300 ~ 0x030F
//--------------------------------
// 0x03D0 ~ 0x03DF
#if (1)
#endif
//--------------------------------
// 0x03E0 ~ 0x03EF
#if (1)
#endif
//--------------------------------
// 0x03F0 ~ 0x03FE
#if (1)
#endif
#endif
#endif //#ifdef DCMD_SEND_SENSORS // <20><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD>ź<EFBFBD>
//------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD>
typedef union
{
DataPacket packet;
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 toggle;
u8 rev[6];
u16 crc;
} __attribute__ ((packed)) getMcInfo; // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 toggle;
u8 rev[6];
u16 crc;
} __attribute__ ((packed)) getMcStatus; // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>״̬
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 paraType;
u16 paraId; // 0, <20><><EFBFBD>в<EFBFBD><D0B2><EFBFBD>; 1--256, <20><>Ӧ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>
u8 rev[4];
u16 crc;
} __attribute__ ((packed)) getMcParas; // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u32 begAddr;
u16 rdSize;
u8 rev[2];
u16 crc;
} __attribute__ ((packed)) getMemData; // <20><>ȡ<EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 backType;
u8 rev[6];
u16 crc;
} __attribute__ ((packed)) getSensors; // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u8 fileType;
u8 fileIdx;
u8 rev[6];
u16 crc;
} __attribute__ ((packed)) getFileInfo; // <20><>ȡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 fileId;
u8 rev[6];
u16 crc;
} __attribute__ ((packed)) getTransResult; // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u16 cfgItem;
u8 rev[2];
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) setMcConfig; // <20><><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 staCode;
u16 para;
u8 rev[4];
u16 crc;
} __attribute__ ((packed)) setMcStatus; // <20><><EFBFBD>û<EFBFBD><C3BB><EFBFBD>״̬
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u16 paraType;
u16 paraId; // 0, <20><><EFBFBD>в<EFBFBD><D0B2><EFBFBD>; 1--256, <20><>Ӧ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) setParas; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u32 begAddr;
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) setMemData; // <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u8 rev[4];
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) setFileParas; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u8 exDataType; // <20><>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
u8 exDataIdx;
u8 rev[2];
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) setFileExData; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u8 id;
u8 nodetype;
u8 rev[6];
u16 crc;
} __attribute__ ((packed)) setDefParas; // <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u8 fileType;
u8 fileIdx;
u16 fileId;
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) setExecProgress; // <20><><EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u8 rev[4];
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) setInstallment; // <20><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u8 type;
u32 time; // <20><>λ<EFBFBD><CEBB>
u8 rev[3];
u16 crc;
} __attribute__ ((packed)) setElapsedTime; // UCMD_SET_ELAPSED_TIME <20><><EFBFBD>þ<EFBFBD><C3BE><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 actCode;
u16 para1;
u16 para2;
u16 para3;
u16 crc;
} __attribute__ ((packed)) actByhand; // <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 workCode;
u32 para1;
u16 para2;
u16 crc;
} __attribute__ ((packed)) mcWork; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
s32 posx;
s32 posy;
u16 crc;
} __attribute__ ((packed)) moveFrameTo; // <20>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD>ܵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u8 fileType;
u8 fileIdx;
u16 fileId;
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) startTrans; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u16 pktIdx;
u16 fileId;
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) transFileData; // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u32 fileIdxMap;
u16 crc;
} __attribute__ ((packed)) setFilesList; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>б<EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 upObj;
u16 upFileID;
u8 rev[4];
u16 crc;
} __attribute__ ((packed)) mcUpdate; // ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
//----------------------------------
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u8 fileType;
u8 fileIdx;
u16 fileId;
u32 datBlockIdx; // <20><><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>1024<32>ֽ<EFBFBD>)
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) requestDatBlock; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u16 toggle;
u8 rev[2];
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) sendMcInfo; // <20><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ϣ
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u16 toggle;
u8 rev[2];
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) sendMcStatus; // <20><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>״̬
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u16 paraType;
u16 paraId; // 0, <20><><EFBFBD>в<EFBFBD><D0B2><EFBFBD>; 1--256, <20><>Ӧ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) sendMcParas; // <20><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u32 begAddr;
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) sendMemData; // <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u8 rev[4];
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) sendSensors; // <20><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD>ź<EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u8 fileType;
u8 fileIdx;
u8 rev[2];
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) sendFileInfo; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u16 fileId;
u8 active;
u8 result;
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) sendTransResult; // <20><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u8 rev[4];
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) sendDebugInfo; // <20><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD>Ϣ
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u8 protocolType; // Э<><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
u8 nodeType; // <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
u8 traNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
u8 nodeId; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>ڵ<EFBFBD>ID
u8 rev[4];
u16 crc;
} __attribute__ ((packed)) traverse; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u8 rev[8];
u16 crc;
} __attribute__ ((packed)) rdBoardVer; // <20><>ȡ<EFBFBD><C8A1>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u8 protocolType; // Э<><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
u8 nodeId; // <20>ڵ<EFBFBD>ID
u8 nodetype; // <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
u8 rev[5];
u16 crc;
} __attribute__ ((packed)) updateBoard; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u8 protocolType; // Э<><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
u8 nodeId; // <20>ڵ<EFBFBD>ID
u8 nodeType; // <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
u8 rev;
u16 crc;
u32 ver[8];
u8 exData[MAX_EXDP_LEN-32];
} __attribute__ ((packed)) sendBoardVer; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct
{
u8 sync[DP_SYNC_LEN];
u16 cmdCode;
u16 exLen;
u16 exCrc;
u8 nodeId;
u8 nodeType;
u8 paraid;
u8 rev;
u16 crc;
u8 exData[MAX_EXDP_LEN];
} __attribute__ ((packed)) boardPara; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>Բ<EFBFBD><D4B2><EFBFBD>
}OperPacket;
//------------------------------------------------------------------------
void InitOperator(void);
void OperatorTask(void);
void OperatorTaskWhenRun(int revfile);
void OperatorTaskWhenBoot(void);
//------------------------------------------------------------------------
int IsNewOperCmd(void);
void SendMcStatus(int force);
void RequestFileData(u8 fileType, u8 fileIdx, u16 fileId, int datblockIdx);
int SendDebugInfo(char * pStr);
int SendFileParas(int beginX, int beginY);
//------------------------------------------------------------------------
#endif