Subversion Repositories FlightCtrl

Rev

Details | Last modification | View Log | RSS feed

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