Rev 426 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
426 | killagreg | 1 | #ifndef _UART0_H |
2 | #define _UART0_H |
||
3 | |||
4 | #include "ubx.h" |
||
5 | |||
6 | #define RXD_BUFFER_LEN 150 |
||
7 | // must be at least 4('#'+Addr+'CmdID'+'\r')+ (80 * 4)/3 = 111 bytes |
||
8 | #define TXD_BUFFER_LEN 150 |
||
9 | #define RXD_BUFFER_LEN 150 |
||
10 | |||
11 | #include <inttypes.h> |
||
12 | |||
13 | //Baud rate of the USART |
||
14 | #define USART0_BAUD 57600 |
||
15 | |||
16 | |||
17 | extern void USART0_Init (void); |
||
18 | extern void USART0_TransmitTxData(void); |
||
19 | extern void USART0_ProcessRxData(void); |
||
20 | extern int16_t uart_putchar(int8_t c); |
||
21 | |||
22 | extern uint8_t PcAccess; |
||
23 | extern uint8_t RemotePollDisplayLine; |
||
24 | |||
25 | |||
26 | typedef struct |
||
27 | { |
||
28 | uint8_t Digital[2]; |
||
29 | uint8_t RemoteButtons; |
||
30 | int8_t Nick; |
||
31 | int8_t Roll; |
||
32 | int8_t Yaw; |
||
33 | uint8_t Gas; |
||
34 | int8_t Height; |
||
35 | uint8_t free; |
||
36 | uint8_t Frame; |
||
37 | uint8_t Config; |
||
38 | } __attribute__((packed)) ExternControl_t; |
||
39 | |||
40 | extern ExternControl_t ExternControl; |
||
41 | |||
42 | |||
43 | typedef struct |
||
44 | { |
||
45 | uint8_t Digital[2]; |
||
46 | uint16_t Analog[32]; // Debugvalues |
||
47 | } __attribute__((packed)) DebugOut_t; |
||
48 | |||
49 | extern DebugOut_t DebugOut; |
||
50 | |||
51 | typedef struct |
||
52 | { |
||
53 | uint8_t SWMajor; |
||
54 | uint8_t SWMinor; |
||
55 | uint8_t ProtoMajor; |
||
56 | uint8_t ProtoMinor; |
||
57 | uint8_t SWPatch; |
||
58 | uint8_t Reserved[5]; |
||
59 | } __attribute__((packed)) UART_VersionInfo_t; |
||
60 | |||
61 | typedef struct |
||
62 | { |
||
63 | GPS_Pos_t Position; // the gps position of the waypoint, see ubx.h for details |
||
64 | int16_t Heading; // orientation, future implementation |
||
65 | uint8_t ToleranceRadius; // in meters, if the MK is within that range around the target, then the next target is triggered |
||
66 | uint8_t HoldTime; // in seconds, if the was once in the tolerance area around a WP, this time defines the delay before the next WP is triggered |
||
67 | uint8_t Event_Flag; // future implementation |
||
68 | uint8_t reserve[12]; // reserve |
||
69 | } __attribute__((packed)) Waypoint_t; |
||
70 | |||
71 | extern Waypoint_t FollowMe; |
||
72 | extern uint8_t Request_SendFollowMe; |
||
73 | |||
74 | #endif //_UART0_H |