Subversion Repositories FlightCtrl

Rev

Rev 796 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
796 joko 1
 #ifndef _UART_H
2
 #define _UART_H
3
 
4
#define MAX_SENDE_BUFF     150
5
#define MAX_EMPFANGS_BUFF  150
6
#define DUB_KEY_UP     4
7
#define DUB_KEY_DOWN   8
8
#define DUB_KEY_RIGHT  32
9
#define DUB_KEY_LEFT   16
10
#define DUB_KEY_FIRE   64
11
 
12
 
13
void BearbeiteRxDaten(void);
14
 
15
extern unsigned char DebugGetAnforderung;
16
extern unsigned volatile char SendeBuffer[MAX_SENDE_BUFF];
17
extern unsigned volatile char RxdBuffer[MAX_EMPFANGS_BUFF];
18
extern unsigned volatile char UebertragungAbgeschlossen;
19
extern unsigned volatile char PC_DebugTimeout;
20
extern unsigned volatile char NeueKoordinateEmpfangen;
21
extern unsigned char MeineSlaveAdresse;
22
extern unsigned char PcZugriff;
23
extern unsigned char RemotePollDisplayLine;
24
extern int Debug_Timer;
25
extern void UART_Init (void);
26
#if defined (__AVR_ATmega644P__)
27
extern void UART1_Init (void);
28
#endif
29
extern int uart_putchar (char c);
30
extern void boot_program_page (uint32_t page, uint8_t *buf);
31
extern void DatenUebertragung(void);
32
extern void DecodeNMEA(void);
33
extern void BearbeiteRxDaten(void);
34
extern unsigned char MotorTest[4];
35
extern unsigned char DubWiseKeys[4];
36
struct str_DebugOut
37
{
38
 unsigned char Digital[2];
39
 unsigned int Analog[32];    // Debugwerte
40
};
41
 
42
extern struct str_DebugOut    DebugOut;
43
 
44
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
45
//++ GPS DEFINITION ANFANG
46
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
47
extern char newData_navPosUtm;  // (211007Kr)
48
 
49
#define _B1(bit)                (1 << (bit))  
50
#define _B0(bit)                (0 << (bit))
51
 
52
typedef struct
53
{
54
        long            northing;                       // in cm (+ = north)
55
        long            easting;                        // in cm (+ = east)
56
        long            altitude;                       // in cm
57
        long            velNorth;
58
        long            velEast;
59
        long            velDown;
60
        long            GSpeed; //(151007Kr)
61
        uint8_t         newData;                        // status of data: 0 = invlid; 1 = valid
62
        uint8_t         GPSFix;
63
        uint8_t         noSV;                           // number of sats
64
} gpsInfo_t;
65
 
66
 
67
extern gpsInfo_t                actualPos;                      // measured position (last gps record)
68
 
69
extern void GPSscanData (void);
70
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
71
//++ GPS DEFINITION ENDE
72
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
73
 
74
 
75
struct str_ExternControl
76
{
77
 unsigned char Digital[2];
78
 unsigned char RemoteTasten;
79
 signed char   Nick;
80
 signed char   Roll;
81
 signed char   Gier;
82
 unsigned char Gas;
83
 signed char   Hight;
84
 unsigned char free;
85
 unsigned char Frame;
86
 unsigned char Config;
87
};
88
extern struct str_ExternControl   ExternControl;
89
 
90
struct str_VersionInfo
91
{
92
  unsigned char Hauptversion;
93
  unsigned char Nebenversion;
94
  unsigned char PCKompatibel;
95
  unsigned char Rserved[7];
96
};  
97
extern struct str_VersionInfo VersionInfo;
98
 
99
//Die Baud_Rate der Seriellen Schnittstelle ist 9600 Baud
100
//#define BAUD_RATE 9600                //Baud Rate für die Serielle Schnittstelle      
101
//#define BAUD_RATE 14400               //Baud Rate für die Serielle Schnittstelle      
102
//#define BAUD_RATE 28800               //Baud Rate für die Serielle Schnittstelle      
103
//#define BAUD_RATE 38400               //Baud Rate für die Serielle Schnittstelle      
104
#define BAUD_RATE 57600         //Baud Rate für die Serielle Schnittstelle      
105
#define BAUD_RATE1 57600                //Baud Rate für UART2 (nur auf 644P)
106
 
107
//Anpassen der seriellen Schnittstellen Register wenn ein ATMega128 benutzt wird
108
#if defined (__AVR_ATmega128__)
109
#       define USR UCSR0A
110
#       define UCR UCSR0B
111
#       define UDR UDR0
112
#       define UBRR UBRR0L
113
#       define EICR EICRB
114
#endif
115
 
116
#if defined (__AVR_ATmega32__)
117
#       define USR UCSRA
118
#       define UCR UCSRB
119
#       define UBRR UBRRL
120
#       define EICR EICRB
121
#   define INT_VEC_RX  SIG_UART_RECV
122
#   define INT_VEC_TX  SIG_UART_TRANS
123
#endif
124
 
125
#if defined (__AVR_ATmega644__)
126
#       define USR  UCSR0A
127
#       define UCR  UCSR0B
128
#       define UDR  UDR0
129
#       define UBRR UBRR0L
130
#       define EICR EICR0B
131
#   define TXEN TXEN0
132
#   define RXEN RXEN0
133
#   define RXCIE RXCIE0
134
#   define TXCIE TXCIE0
135
#   define U2X  U2X0
136
#   define UCSRB UCSR0B
137
#   define UDRE UDRE0
138
#   define INT_VEC_RX  SIG_USART_RECV
139
#   define INT_VEC_TX  SIG_USART_TRANS
140
#endif
141
 
142
#if defined (__AVR_ATmega644P__)
143
#       define USR  UCSR0A
144
#       define UCR  UCSR0B
145
#       define UDR  UDR0
146
#       define UBRR UBRR0L
147
#       define EICR EICR0B
148
#   define TXEN TXEN0
149
#   define RXEN RXEN0
150
#   define RXCIE RXCIE0
151
#   define TXCIE TXCIE0
152
#   define U2X  U2X0
153
#   define UCSRB UCSR0B
154
#   define UDRE UDRE0
155
#   define INT_VEC_RX  SIG_USART_RECV
156
#   define INT_VEC_TX  SIG_USART_TRANS
157
#endif
158
 
159
 
160
 
161
#endif //_UART_H