Subversion Repositories MK3Mag

Rev

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

Rev 21 Rev 23
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
int uart_putchar (int8_t c);
21
int uart_putchar (int8_t c);
22
 
22
 
23
 
23
 
24
 
24
 
25
typedef struct
25
struct DebugOut_t
26
{
26
{
27
        uint8_t Digital[2];
27
        uint8_t Digital[2];
28
        uint16_t Analog[32];    // Debugvalues
28
        uint16_t Analog[32];    // Debugvalues
29
} DebugOut_t;
29
} ;
30
 
30
 
31
extern DebugOut_t DebugOut;
31
extern struct DebugOut_t DebugOut;
32
 
32
 
33
 
33
 
34
 
34
 
35
typedef struct
35
struct ExternData_t
36
{
36
{
37
        int16_t Attitude[2];  // nock and roll angle in 0.1 deg
37
        int16_t Attitude[2];  // nock and roll angle in 0.1 deg
38
        uint8_t UserParam[2];
38
        uint8_t UserParam[2];
39
        uint8_t CalState;
39
        uint8_t CalState;
40
        uint8_t Orientation;
40
        uint8_t Orientation;
41
} ExternData_t;
41
} ;
42
 
42
 
43
extern ExternData_t  ExternData;
43
extern struct ExternData_t  ExternData;
44
 
44
 
45
 
45
 
46
typedef struct
46
struct ExternControl_t
47
{
47
{
48
        uint8_t Digital[2];
48
        uint8_t Digital[2];
49
        uint8_t RemoteButtons;
49
        uint8_t RemoteButtons;
50
        int8_t  Nick;
50
        int8_t  Nick;
51
        int8_t  Roll;
51
        int8_t  Roll;
52
        int8_t  Yaw;
52
        int8_t  Yaw;
53
        uint8_t Gas;
53
        uint8_t Gas;
54
        int8_t  Height;
54
        int8_t  Height;
55
        uint8_t Par1;
55
        uint8_t Par1;
56
        uint8_t Par2;
56
        uint8_t Par2;
57
        uint8_t Par3;
57
        uint8_t Par3;
58
} ExternControl_t;
58
} ;
59
 
59
 
60
extern ExternControl_t  ExternControl;
60
extern struct ExternControl_t  ExternControl;
61
 
61
 
62
 
62
 
63
typedef struct
63
struct VersionInfo_t
64
{
64
{
65
        uint8_t Major;
65
        uint8_t Major;
66
        uint8_t Minor;
66
        uint8_t Minor;
67
        uint8_t PCCompatible;
67
        uint8_t PCCompatible;
68
        uint8_t Reserved[7];
68
        uint8_t Reserved[7];
69
}  VersionInfo_t;
69
}  VersionInfo_t;
70
 
70
 
71
extern VersionInfo_t VersionInfo;
71
extern struct VersionInfo_t VersionInfo;
72
 
72
 
73
 
73
 
74
#endif //_UART_H_
74
#endif //_UART_H_
75
 
75