Subversion Repositories FlightCtrl

Rev

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

Rev 1078 Rev 1081
1
#ifndef _UART_H
1
#ifndef _UART_H
2
#define _UART_H
2
#define _UART_H
3
 
3
 
4
#define RXD_BUFFER_LEN  150
4
#define RXD_BUFFER_LEN  150
5
// must be at least 4('#'+Addr+'CmdID'+'\r')+ (80 * 4)/3 = 111 bytes
5
// must be at least 4('#'+Addr+'CmdID'+'\r')+ (80 * 4)/3 = 111 bytes
6
#define TXD_BUFFER_LEN  150
6
#define TXD_BUFFER_LEN  150
7
#define RXD_BUFFER_LEN  150
7
#define RXD_BUFFER_LEN  150
8
 
8
 
9
#include <inttypes.h>
9
#include <inttypes.h>
10
 
10
 
11
//Baud rate of the USART
11
//Baud rate of the USART
12
#define USART0_BAUD 57600
12
#define USART0_BAUD 57600
13
 
13
 
14
 
14
 
15
extern void USART0_Init (void);
15
extern void USART0_Init (void);
16
extern void USART0_TransmitTxData(void);
16
extern void USART0_TransmitTxData(void);
17
extern void USART0_ProcessRxData(void);
17
extern void USART0_ProcessRxData(void);
18
extern int16_t uart_putchar(int8_t c);
18
extern int16_t uart_putchar(int8_t c);
19
 
19
 
20
extern uint8_t PcAccess;
20
extern uint8_t PcAccess;
21
extern uint8_t RemotePollDisplayLine;
21
extern uint8_t RemotePollDisplayLine;
22
extern uint8_t MotorTest[4];
22
extern uint8_t MotorTest[4];
23
 
23
 
24
typedef struct
24
typedef struct
25
{
25
{
26
 uint8_t Digital[2];
26
        uint8_t Digital[2];
27
 uint16_t Analog[32];    // Debugvalues
27
        uint16_t Analog[32];    // Debugvalues
28
} __attribute__((packed)) DebugOut_t;
28
} __attribute__((packed)) DebugOut_t;
29
 
29
 
30
extern DebugOut_t DebugOut;
30
extern DebugOut_t DebugOut;
31
 
31
 
32
typedef struct
32
typedef struct
33
{
33
{
34
 uint8_t        Digital[2];
34
        uint8_t Digital[2];
35
 uint8_t        RemoteButtons;
35
        uint8_t RemoteButtons;
36
 int8_t         Nick;
36
        int8_t          Nick;
37
 int8_t         Roll;
37
        int8_t          Roll;
38
 int8_t         Yaw;
38
        int8_t          Yaw;
39
 uint8_t        Gas;
39
        uint8_t Gas;
40
 int8_t         Height;
40
        int8_t          Height;
41
 uint8_t        free;
41
        uint8_t free;
42
 uint8_t        Frame;
42
        uint8_t Frame;
43
 uint8_t        Config;
43
        uint8_t Config;
44
} __attribute__((packed)) ExternControl_t;
44
} __attribute__((packed)) ExternControl_t;
45
 
45
 
46
extern ExternControl_t ExternControl;
46
extern ExternControl_t ExternControl;
47
 
47
 
48
typedef struct
48
typedef struct
49
{
49
{
50
  uint8_t SWMajor;
50
        uint8_t SWMajor;
51
  uint8_t SWMinor;
51
        uint8_t SWMinor;
52
  uint8_t ProtoMajor;
52
        uint8_t ProtoMajor;
53
  uint8_t ProtoMinor;
53
        uint8_t ProtoMinor;
54
  uint8_t SWPatch;
54
        uint8_t SWPatch;
55
  uint8_t Reserved[5];
55
        uint8_t Reserved[5];
56
}  __attribute__((packed)) UART_VersionInfo_t;
56
}  __attribute__((packed)) UART_VersionInfo_t;
57
 
57
 
58
 
58
 
59
#endif //_UART_H
59
#endif //_UART_H
60
 
60