Subversion Repositories MK3Mag

Rev

Rev 29 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 29 Rev 30
1
#ifndef _UART_H_
1
#ifndef _UART_H_
2
#define _UART_H_
2
#define _UART_H_
3
 
3
 
4
#include <inttypes.h>
4
#include <inttypes.h>
5
 
5
 
6
#define NICK 0
6
#define NICK 0
7
#define ROLL 1
7
#define ROLL 1
8
 
8
 
9
 
9
 
10
#define BAUD_RATE 57600
10
#define BAUD_RATE 57600
11
 
11
 
12
 
12
 
13
extern uint16_t Debug_Timer;
13
extern uint16_t Debug_Timer;
14
 
14
 
15
 
15
 
16
void USART0_Init (void);
16
void USART0_Init (void);
17
void USART0_EnableTXD(void);
17
void USART0_EnableTXD(void);
18
void USART0_DisableTXD(void);
18
void USART0_DisableTXD(void);
19
void USART0_TransmitTxData(void);
19
void USART0_TransmitTxData(void);
20
void USART0_ProcessRxData(void);
20
void USART0_ProcessRxData(void);
21
int16_t USART0_putchar(int8_t c);
21
int16_t USART0_putchar(int8_t c);
22
void USART0_Print(int8_t *msg);
22
void USART0_Print(int8_t *msg);
23
 
23
 
24
 
24
 
25
 
25
 
26
struct DebugOut_t
26
typedef struct
27
{
27
{
28
        uint8_t Digital[2];
28
        uint8_t Digital[2];
29
        uint16_t Analog[32];    // Debugvalues
29
        uint16_t Analog[32];    // Debugvalues
30
} ;
30
}  DebugOut_t;
31
 
31
 
32
extern struct DebugOut_t DebugOut;
32
extern DebugOut_t DebugOut;
33
 
33
 
34
 
34
 
35
 
35
 
36
struct ExternData_t
36
typedef struct
37
{
37
{
38
        int16_t Attitude[2];  // nick and roll angle in 0.1 deg
38
        int16_t Attitude[2];  // nick and roll angle in 0.1 deg
39
        uint8_t UserParam[2];
39
        uint8_t UserParam[2];
40
        uint8_t CalState;
40
        uint8_t CalState;
41
        uint8_t Orientation;
41
        uint8_t Orientation;
42
} ;
42
}  ExternData_t;
43
 
43
 
44
extern struct ExternData_t  ExternData;
44
extern ExternData_t  ExternData;
45
 
45
 
46
 
46
 
47
struct ExternControl_t
47
typedef struct
48
{
48
{
49
        uint8_t Digital[2];
49
        uint8_t Digital[2];
50
        uint8_t RemoteButtons;
50
        uint8_t RemoteButtons;
51
        int8_t  Nick;
51
        int8_t  Nick;
52
        int8_t  Roll;
52
        int8_t  Roll;
53
        int8_t  Yaw;
53
        int8_t  Yaw;
54
        uint8_t Gas;
54
        uint8_t Gas;
55
        int8_t  Height;
55
        int8_t  Height;
56
        uint8_t Par1;
56
        uint8_t Par1;
57
        uint8_t Par2;
57
        uint8_t Par2;
58
        uint8_t Par3;
58
        uint8_t Par3;
59
} ;
59
}  ExternControl_t;
60
 
60
 
61
extern struct ExternControl_t  ExternControl;
61
extern ExternControl_t  ExternControl;
62
 
62
 
63
 
63
 
64
struct VersionInfo_t
64
typedef struct
65
{
65
{
66
        uint8_t Major;
66
        uint8_t Major;
67
        uint8_t Minor;
67
        uint8_t Minor;
68
        uint8_t PCCompatible;
68
        uint8_t PCCompatible;
69
        uint8_t Reserved[7];
69
        uint8_t Reserved[7];
70
}  VersionInfo_t;
70
}  VersionInfo_t;
71
 
71
 
72
extern struct VersionInfo_t VersionInfo;
72
extern VersionInfo_t VersionInfo;
73
 
73
 
74
extern uint8_t PC_Connected;
74
extern uint8_t PC_Connected;
75
extern uint8_t FC_Connected;
75
extern uint8_t FC_Connected;
76
 
76
 
77
#endif //_UART_H_
77
#endif //_UART_H_
78
 
78