QuakeGod
2024-07-27 842bb64195f958b050867c50db66fc0aa413dafb
提交 | 用户 | age
483170 1 /**
Q 2   ******************************************************************************
3   * @file           : BoardType.h
4   * @brief          : Define of BoardType.
5   *                   This file contains the defines of the BoardType.
6   ******************************************************************************
7     */
8 #ifndef __BOARDTYPE_H__
9 #define __BOARDTYPE_H__
10
8b51c7 11 #define KWLESS 1
Q 12
483170 13 /*
Q 14     0  //old board 4 in 4 out
15     1  //old board 8 in 8 out
16     2  //Master 16 in16 out
17     3  //Slave 8 in 8 out
18     4  //New Master 16 in16 out V1.2
19     5  //Slave 8 in 8 out V1.2
20 */
21
22 #define USART2_USE_HARDWARE_DE 1
23 #define USART2_DE_ASSERTION_TIME 31
24 #define USART2_DE_DEASSERTION_TIME 31
25
26 enum enBOARD_TYPE
27 {
28     BOARD_UNKNOWN =0,
29     BOARD_OLD4=1,    // 1  //old board 4 in 4 o
30     BOARD_OLD8,        //2   old board 8 in 8 o
31     BOARD_MASTER,        //3   Master 16 in16 o
32     BOARD_SLAVE,            //4   Slave 8 in 8 o
33     BOARD_NEW_MASTER,        //5   New Master 16 in16 o
34     BOARD_NEW_SLAVE,        //6   New Slave 8 in 8 o
35     BOARD_V4_MASTER,        //7        New V4 Master 16 in16 o
36     BOARD_V4_SLAVE,        //8            New V4 Slave 8 in 8 o
37     BOARD_V42_MASTER,        //9        New V4.2 Master 16 in16 o
38     BOARD_V42_SLAVE,        //10    New V4.2 Slave 8 in 8 o    
39     
40     BOARD_V30_MINI    =11,        //11  Mini Board
41     BOARD_V45_NET = 13,
42     BOARD_EXT_FP0 = 14,
43     BOARD_V50_RADIO_16 = 15, 
44     BOARD_V50_RADIO_8 = 16, 
45     
46 };
47
842bb6 48 #define BOARD_TYPE 16 
483170 49 #define BOARD_VER 1
Q 50
51 #if (BOARD_TYPE == 11)
52 #define XLAT_FREQ 12
53 #elif (BOARD_TYPE == 14)
54 #define XLAT_FREQ 12
55 #else 
56 #define XLAT_FREQ 8
57 #endif
58
59 #define GetBoardType() (BOARD_TYPE)
60
842bb6 61 #define PLCFUNC 1
Q 62
483170 63 #if (    BOARD_TYPE == 1)
Q 64 #define DINPUT        4
65 #define DOUTPUT        4
842bb6 66 #elif     (BOARD_TYPE == 2 || BOARD_TYPE == 4 || BOARD_TYPE == 6 || BOARD_TYPE == 8 || BOARD_TYPE == 10 || BOARD_TYPE == 11 )
483170 67 #define DINPUT        8
Q 68 #define DOUTPUT        8
842bb6 69 #elif BOARD_TYPE == 3 || BOARD_TYPE == 5 || BOARD_TYPE == 7 || BOARD_TYPE == 9 || BOARD_TYPE == 13 
483170 70 #define DINPUT        16
Q 71 #define DOUTPUT        16
72 #elif  BOARD_TYPE == 14 
73 #define DINPUT        0
74 #define DOUTPUT        6
842bb6 75 #elif (BOARD_TYPE == 15)
Q 76 #define DINPUT 16
77 #define DOUTPUT 16
78 #elif (BOARD_TYPE == 16)
79 #define DINPUT 16
80 #define DOUTPUT 16
81 #define EXDINPUT 8
82 #define EXDOUPUT 8
483170 83 #else 
Q 84 #define DINPUT        0
85 #define DOUTPUT        0
86 #endif
87
842bb6 88 typedef struct tagInfoBlockHdr {
Q 89     unsigned short nBlkSign;                    // 开始标志
90     unsigned short nBlkTypeVer;                // 类型和版本
91     unsigned short nBlkSize;                    // Block 大小, 包括开始和结束标志
92     unsigned short Pad1;
93 }stInfoBlockHdr;
94
95 typedef struct tagInfoBlockTail {
96
97     unsigned short CRC16;
98     unsigned short EndSign;
99 }stInfoBlockTail;
100
101 typedef struct tagBtLdrInfoBlock {
102     stInfoBlockHdr Hdr;
103     unsigned short nBtldrVer;
104     unsigned short nBtldrDevice;
105     unsigned short nBtldrSize;        // 设计大小
106     unsigned short nBtldrDataSize;        //代码大小 
107     unsigned int nBtldr_AppAddr;
108     unsigned int nBtldr_NewAppInfoAddr;
109     unsigned int nBtldr_NewAppAddr;
110     stInfoBlockTail tail;
111 }stBtLdrInfoBlock, *pBtLdrInfoBlock;
112
113 typedef struct tagAppInfoBlock {
114     stInfoBlockHdr Hdr;
115     unsigned short nAppVer;
116     unsigned short nAppDevice;
117     unsigned short nAppSize;        // 代码设计大小
118     unsigned short nAppDataSize;        //实际代码大小 
119     unsigned int nAppStartAddr;
120     unsigned int nAppStartOffset;
121     unsigned int nApp;
122     stInfoBlockTail tail;
123 }stAppInfoBlock, * pAppInfoBlock;
124
125
483170 126
Q 127 #endif  /* __BOARDTYPE_H__ */