QuakeGod
2024-10-14 005755edcdc332315ba077598d4746ac195b069e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/**
  ******************************************************************************
  * @file           : BoardType.h
  * @brief          : Define of BoardType.
  *                   This file contains the defines of the BoardType.
  ******************************************************************************
    */
#ifndef __BOARDTYPE_H__
#define __BOARDTYPE_H__
 
#define KWLESS 1
 
/*
    0  //old board 4 in 4 out
    1  //old board 8 in 8 out
    2  //Master 16 in16 out
    3  //Slave 8 in 8 out
    4  //New Master 16 in16 out V1.2
    5  //Slave 8 in 8 out V1.2
*/
#define USART1_AUTO_BAUDRATE 0
 
#define USART2_USE_HARDWARE_DE 1
#define USART2_DE_ASSERTION_TIME 31
#define USART2_DE_DEASSERTION_TIME 31
 
enum enBOARD_TYPE
{
    BOARD_UNKNOWN =0,
    BOARD_OLD4=1,    // 1  //old board 4 in 4 o
    BOARD_OLD8,        //2   old board 8 in 8 o
    BOARD_MASTER,        //3   Master 16 in16 o
    BOARD_SLAVE,            //4   Slave 8 in 8 o
    BOARD_NEW_MASTER,        //5   New Master 16 in16 o
    BOARD_NEW_SLAVE,        //6   New Slave 8 in 8 o
    BOARD_V4_MASTER,        //7        New V4 Master 16 in16 o
    BOARD_V4_SLAVE,        //8            New V4 Slave 8 in 8 o
    BOARD_V42_MASTER,        //9        New V4.2 Master 16 in16 o
    BOARD_V42_SLAVE,        //10    New V4.2 Slave 8 in 8 o    
    
    BOARD_V30_MINI    =11,        //11  Mini Board
    BOARD_V45_NET = 13,
    BOARD_EXT_FP0 = 14,
    BOARD_V50_RADIO_16 = 15, 
    BOARD_V50_RADIO_8 = 16, 
    
};
 
#define BOARD_TYPE 16 
#define BOARD_VER 1
 
#if (BOARD_TYPE == 11)
#define XLAT_FREQ 12
#elif (BOARD_TYPE == 14)
#define XLAT_FREQ 12
#else 
#define XLAT_FREQ 8
#endif
 
#define GetBoardType() (BOARD_TYPE)
 
#define PLCFUNC 1
 
#if (    BOARD_TYPE == 1)
#define DINPUT        4
#define DOUTPUT        4
#elif     (BOARD_TYPE == 2 || BOARD_TYPE == 4 || BOARD_TYPE == 6 || BOARD_TYPE == 8 || BOARD_TYPE == 10 || BOARD_TYPE == 11 )
#define DINPUT        8
#define DOUTPUT        8
#elif BOARD_TYPE == 3 || BOARD_TYPE == 5 || BOARD_TYPE == 7 || BOARD_TYPE == 9 || BOARD_TYPE == 13 
#define DINPUT        16
#define DOUTPUT        16
#elif  BOARD_TYPE == 14 
#define DINPUT        0
#define DOUTPUT        6
#elif (BOARD_TYPE == 15)
#define DINPUT 16
#define DOUTPUT 16
#define EXDINPUT 8
#define EXDOUPUT 8
#elif (BOARD_TYPE == 16)
#define DINPUT 16
#define DOUTPUT 16
#define EXDINPUT 8
#define EXDOUPUT 8
#else 
#define DINPUT        0
#define DOUTPUT        0
#endif
 
typedef struct tagInfoBlockHdr {
    unsigned short nBlkSign;                    // ¿ªÊ¼±êÖ¾
    unsigned short nBlkTypeVer;                // ÀàÐͺͰ汾
    unsigned short nBlkSize;                    // Block ´óС, °üÀ¨¿ªÊ¼ºÍ½áÊø±êÖ¾
    unsigned short Pad1;
}stInfoBlockHdr;
 
typedef struct tagInfoBlockTail {
 
    unsigned short CRC16;
    unsigned short EndSign;
}stInfoBlockTail;
 
typedef struct tagBtLdrInfoBlock {
    stInfoBlockHdr Hdr;
    unsigned short nBtldrVer;
    unsigned short nBtldrDevice;
    unsigned short nBtldrSize;        // Éè¼Æ´óС
    unsigned short nBtldrDataSize;        //´úÂë´óС 
    unsigned int nBtldr_AppAddr;
    unsigned int nBtldr_NewAppInfoAddr;
    unsigned int nBtldr_NewAppAddr;
    stInfoBlockTail tail;
}stBtLdrInfoBlock, *pBtLdrInfoBlock;
 
typedef struct tagAppInfoBlock {
    stInfoBlockHdr Hdr;
    unsigned short nAppVer;
    unsigned short nAppDevice;
    unsigned short nAppSize;        // ´úÂëÉè¼Æ´óС
    unsigned short nAppDataSize;        //ʵ¼Ê´úÂë´óС 
    unsigned int nAppStartAddr;
    unsigned int nAppStartOffset;
    unsigned int nApp;
    stInfoBlockTail tail;
}stAppInfoBlock, * pAppInfoBlock;
 
 
 
#endif  /* __BOARDTYPE_H__ */