Subversion Repositories FlightCtrl

Rev

Rev 707 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 707 Rev 712
1
#ifndef _UART_H
1
#ifndef _UART_H
2
#define _UART_H
2
#define _UART_H
3
 
3
 
4
#define TXD_BUFFER_LEN  150
4
#define TXD_BUFFER_LEN  150
5
#define RXD_BUFFER_LEN  150
5
#define RXD_BUFFER_LEN  150
6
 
6
 
7
#define DUB_KEY_UP     4
7
#define DUB_KEY_UP     4
8
#define DUB_KEY_DOWN   8
8
#define DUB_KEY_DOWN   8
9
#define DUB_KEY_LEFT   16
9
#define DUB_KEY_LEFT   16
10
#define DUB_KEY_RIGHT  32
10
#define DUB_KEY_RIGHT  32
11
#define DUB_KEY_FIRE   64
11
#define DUB_KEY_FIRE   64
12
 
12
 
13
#include <inttypes.h>
13
#include <inttypes.h>
14
 
14
 
15
void BearbeiteRxDaten(void);
15
void BearbeiteRxDaten(void);
16
 
16
 
17
extern unsigned char DebugGetAnforderung;
17
extern unsigned char DebugGetAnforderung;
18
 
18
 
19
//Baud rate of the USART
19
//Baud rate of the USART
20
#define USART0_BAUD 57600
20
#define USART0_BAUD 57600
21
 
21
 
22
 
22
 
23
extern void USART0_Init (void);
23
extern void USART0_Init (void);
24
 
24
 
25
extern unsigned volatile char txd_buffer[TXD_BUFFER_LEN];
25
extern unsigned volatile char txd_buffer[TXD_BUFFER_LEN];
26
extern unsigned volatile char rxd_buffer[RXD_BUFFER_LEN];
26
extern unsigned volatile char rxd_buffer[RXD_BUFFER_LEN];
27
 
27
 
28
extern unsigned volatile char UebertragungAbgeschlossen;
28
extern unsigned volatile char UebertragungAbgeschlossen;
29
extern unsigned volatile char PC_DebugTimeout;
29
extern unsigned volatile char PC_DebugTimeout;
30
extern unsigned volatile char NeueKoordinateEmpfangen;
30
extern unsigned volatile char NeueKoordinateEmpfangen;
31
extern unsigned char MeineSlaveAdresse;
31
extern unsigned char MeineSlaveAdresse;
32
extern unsigned char PcAccess;
32
extern unsigned char PcAccess;
33
extern unsigned char RemotePollDisplayLine;
33
extern unsigned char RemotePollDisplayLine;
34
extern int Debug_Timer;
34
extern int Debug_Timer;
35
 
35
 
36
extern int16_t uart_putchar (int8_t c);
36
extern int16_t uart_putchar (int8_t c);
37
extern void boot_program_page (uint32_t page, uint8_t *buf);
37
extern void boot_program_page (uint32_t page, uint8_t *buf);
38
extern void DatenUebertragung(void);
38
extern void DatenUebertragung(void);
39
 
39
 
40
extern void BearbeiteRxDaten(void);
40
extern void BearbeiteRxDaten(void);
41
extern unsigned char MotorTest[4];
41
extern unsigned char MotorTest[4];
42
extern unsigned char DubWiseKeys[4];
42
extern unsigned char DubWiseKeys[4];
43
struct str_DebugOut
43
struct str_DebugOut
44
{
44
{
45
 unsigned char Digital[2];
45
 unsigned char Digital[2];
46
 unsigned int Analog[32];    // Debugwerte
46
 unsigned int Analog[32];    // Debugwerte
47
};
47
};
48
 
48
 
49
extern struct str_DebugOut    DebugOut;
49
extern struct str_DebugOut    DebugOut;
50
 
50
 
51
struct str_ExternControl
51
struct str_ExternControl
52
{
52
{
53
 uint8_t        Digital[2];
53
 uint8_t        Digital[2];
54
 uint8_t        RemoteButtons;
54
 uint8_t        RemoteButtons;
55
 int8_t         Pitch;
55
 int8_t         Pitch;
56
 int8_t         Roll;
56
 int8_t         Roll;
57
 int8_t         Yaw;
57
 int8_t         Yaw;
58
 uint8_t        Thrust;
58
 uint8_t        Thrust;
59
 int8_t         Hight;
59
 int8_t         Hight;
60
 uint8_t        free;
60
 uint8_t        free;
61
 uint8_t        Frame;
61
 uint8_t        Frame;
62
 uint8_t        Config;
62
 uint8_t        Config;
63
};
63
};
64
extern struct str_ExternControl   ExternControl;
64
extern struct str_ExternControl   ExternControl;
65
 
65
 
66
struct str_VersionInfo
66
struct str_VersionInfo
67
{
67
{
68
  unsigned char Hauptversion;
68
  unsigned char Hauptversion;
69
  unsigned char Nebenversion;
69
  unsigned char Nebenversion;
70
  unsigned char PCKompatibel;
70
  unsigned char PCKompatibel;
71
  unsigned char Rserved[7];
71
  unsigned char Rserved[7];
72
};
72
};
73
extern struct str_VersionInfo VersionInfo;
73
extern struct str_VersionInfo VersionInfo;
74
 
74
 
75
 
-
 
76
#if defined (__AVR_ATmega644__)
-
 
77
#       define USR  UCSR0A
-
 
78
#       define UCR  UCSR0B
-
 
79
#       define UDR  UDR0
-
 
80
#       define UBRR UBRR0L
-
 
81
#       define EICR EICR0B
-
 
82
#   define TXEN TXEN0
-
 
83
#   define RXEN RXEN0
-
 
84
#   define RXCIE RXCIE0
-
 
85
#   define TXCIE TXCIE0
-
 
86
#   define U2X  U2X0
-
 
87
#   define UCSRB UCSR0B
-
 
88
#   define UDRE UDRE0
-
 
89
#   define INT_VEC_RX  SIG_USART_RECV
-
 
90
#   define INT_VEC_TX  SIG_USART_TRANS
-
 
91
#endif
-
 
92
 
-
 
93
 
75
 
94
#endif //_UART_H
76
#endif //_UART_H
95
 
77