QuakeGod
2023-05-26 db25c9f050a690bbec032ef3f93e244c7ec2dbee
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
131
132
133
134
135
136
137
138
139
/**
  ******************************************************************************
  * @file           : GlobalDef.h
  * @brief          : Header for GlobalDef.c file.
  *                   This file contains the Global defines of the application.
  ******************************************************************************
    */
#ifndef __GLOBALDEF_H__
#define __GLOBALDEF_H__
#include "MyQueue.h"
/*
    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 DefaultUart1Baud 230400
#define DefaultUart2Baud 1000000
 
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 9 
#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)
 
#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 || BOARD_TYPE == 16)
#define DINPUT        8
#define DOUTPUT        8
#elif BOARD_TYPE == 3 || BOARD_TYPE == 5 || BOARD_TYPE == 7 || BOARD_TYPE == 9 || BOARD_TYPE == 13 || BOARD_TYPE == 15 
#define DINPUT        16
#define DOUTPUT        16
#elif  BOARD_TYPE == 14 
#define DINPUT        0
#define DOUTPUT        6
#else 
#define DINPUT        0
#define DOUTPUT        0
#endif
extern volatile int PendSvCount;
 
typedef struct tagUartStat
{
    volatile int SendBytes;
    volatile int RecvBytes;
    volatile char bInited;
    volatile char bSending;
    volatile char bRecving;
    volatile char bUseAltRecvBuf;
    volatile int IRQCount;
    volatile int RXNECount;
    volatile int TXECount;    
    volatile int PECount;
    volatile int OverRunCount;
    volatile int TcCount;        //Transmit Complete
    volatile int IdelCount;        //RecvIdel
    volatile int LostBytes;
    volatile int DMACount;
    volatile int DMASendLen;
    volatile int DMARecvLen;
    stMyQueue QRx;
    stMyQueue QTx;
    volatile int SentPacket;
    volatile int bPacketRecved;
    volatile int OKPacket;
    volatile int TimeOutErr;
    volatile int NotPacketErr;
    volatile int LengthErr;
    volatile int BCCerr;
}stUartStat;
 
 
extern stUartStat Uart1Stat;
extern stUartStat Uart2Stat;
 
extern unsigned int Uart1Baud;
extern unsigned int Uart2Baud;
 
extern unsigned char Uart1RecvBuf1[128];
extern int Uart1RecvBuf1DataLen;
//extern unsigned char Uart1RecvBuf2[128];
//extern int Uart1RecvBuf2DataLen;
 
extern unsigned char Uart2RecvBuf1[128];
extern int Uart2RecvBuf1DataLen;
//extern unsigned char Uart2RecvBuf2[128];
//extern int Uart2RecvBuf2DataLen;
 
extern volatile int Uart1BaudGot;
extern volatile int Uart1BaudFirstGot;
//extern volatile int Uart2BaudGot;
//extern volatile int Uart2BaudFirstGot;
 
//extern volatile int Uart1DmaInts;
//extern volatile int Uart2DmaInts;
 
struct stSysConfig{
    int bInited:1;
    int bConfiged:1;
    int bKBusMaster:1;
};
 
 
#endif  /* __GLOBALDEF_H__ */