Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
231 | killagreg | 1 | #ifndef _UART0_H |
2 | #define _UART0_H |
||
3 | |||
333 | killagreg | 4 | #include "ubx.h" |
5 | |||
231 | killagreg | 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 | typedef struct |
||
26 | { |
||
27 | uint8_t Digital[2]; |
||
28 | uint8_t RemoteButtons; |
||
29 | int8_t Nick; |
||
30 | int8_t Roll; |
||
31 | int8_t Yaw; |
||
32 | uint8_t Gas; |
||
33 | int8_t Height; |
||
34 | uint8_t free; |
||
35 | uint8_t Frame; |
||
36 | uint8_t Config; |
||
37 | } __attribute__((packed)) ExternControl_t; |
||
38 | |||
39 | extern ExternControl_t ExternControl; |
||
40 | |||
41 | |||
42 | typedef struct |
||
43 | { |
||
44 | uint8_t Digital[2]; |
||
45 | uint16_t Analog[32]; // Debugvalues |
||
46 | } __attribute__((packed)) DebugOut_t; |
||
47 | |||
48 | extern DebugOut_t DebugOut; |
||
49 | |||
50 | typedef struct |
||
51 | { |
||
52 | uint8_t SWMajor; |
||
53 | uint8_t SWMinor; |
||
54 | uint8_t ProtoMajor; |
||
55 | uint8_t ProtoMinor; |
||
56 | uint8_t SWPatch; |
||
57 | uint8_t Reserved[5]; |
||
58 | } __attribute__((packed)) UART_VersionInfo_t; |
||
59 | |||
333 | killagreg | 60 | typedef struct |
61 | { |
||
62 | GPS_Pos_t Position; // the gps position of the waypoint, see ubx.h for details |
||
63 | int16_t Heading; // orientation, future implementation |
||
64 | uint8_t ToleranceRadius; // in meters, if the MK is within that range around the target, then the next target is triggered |
||
65 | 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 |
||
66 | uint8_t Event_Flag; // future implementation |
||
67 | uint8_t reserve[12]; // reserve |
||
68 | } __attribute__((packed)) Waypoint_t; |
||
231 | killagreg | 69 | |
333 | killagreg | 70 | extern Waypoint_t FollowMe; |
71 | extern uint8_t Request_SendFollowMe; |
||
72 | |||
231 | killagreg | 73 | #endif //_UART0_H |