Rev 2630 | Rev 2678 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2630 | Rev 2640 | ||
---|---|---|---|
1 | #ifndef _HOTTMENU_H |
1 | #ifndef _HOTTMENU_H |
2 | #define _HOTTMENU_H |
2 | #define _HOTTMENU_H |
3 | 3 | ||
4 | extern unsigned char NaviData_WaypointIndex; |
4 | extern unsigned char NaviData_WaypointIndex; |
5 | extern unsigned char NaviData_WaypointNumber, NaviData_TargetHoldTime,ToNC_Load_WP_List,NaviData_MaxWpListIndex; |
5 | extern unsigned char NaviData_WaypointNumber, NaviData_TargetHoldTime,ToNC_Load_WP_List,NaviData_MaxWpListIndex; |
6 | extern unsigned char ToNC_Load_SingePoint, ToNC_Store_SingePoint, Show_Load_Time, Show_Store_Time, Show_Load_Value, Show_Store_Value; |
6 | extern unsigned char ToNC_Load_SingePoint, ToNC_Store_SingePoint, Show_Load_Time, Show_Store_Time, Show_Load_Value, Show_Store_Value; |
7 | 7 | ||
8 | extern char WPL_Name[10]; |
8 | extern char WPL_Name[10]; |
9 | #if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__)) |
9 | #if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__)) |
10 | 10 | ||
11 | #define SPEAK_ERR_CALIBARTION 1 |
11 | #define SPEAK_ERR_CALIBARTION 1 |
12 | #define SPEAK_ERR_RECEICER 2 |
12 | #define SPEAK_ERR_RECEICER 2 |
13 | #define SPEAK_ERR_DATABUS 3 |
13 | #define SPEAK_ERR_DATABUS 3 |
14 | #define SPEAK_ERR_NAVI 4 |
14 | #define SPEAK_ERR_NAVI 4 |
15 | #define SPEAK_ERROR 5 |
15 | #define SPEAK_ERROR 5 |
16 | #define SPEAK_ERR_COMPASS 6 |
16 | #define SPEAK_ERR_COMPASS 6 |
17 | #define SPEAK_ERR_SENSOR 7 |
17 | #define SPEAK_ERR_SENSOR 7 |
18 | #define SPEAK_ERR_GPS 8 |
18 | #define SPEAK_ERR_GPS 8 |
19 | #define SPEAK_ERR_MOTOR 9 |
19 | #define SPEAK_ERR_MOTOR 9 |
20 | #define SPEAK_MAX_TEMPERAT 10 // ->Motor Überlastung |
20 | #define SPEAK_MAX_TEMPERAT 10 // ->Motor Überlastung |
21 | #define SPEAK_ALTI_REACHED 11 // ? |
21 | #define SPEAK_ALTI_REACHED 11 // ? |
22 | #define SPEAK_WP_REACHED 12 |
22 | #define SPEAK_WP_REACHED 12 |
23 | #define SPEAK_NEXT_WP 13 |
23 | #define SPEAK_NEXT_WP 13 |
24 | #define SPEAK_LANDING 14 |
24 | #define SPEAK_LANDING 14 |
25 | #define SPEAK_GPS_FIX 15 |
25 | #define SPEAK_GPS_FIX 15 |
26 | #define SPEAK_UNDERVOLTAGE 16 |
26 | #define SPEAK_UNDERVOLTAGE 16 |
27 | #define SPEAK_GPS_HOLD 17 |
27 | #define SPEAK_GPS_HOLD 17 |
28 | #define SPEAK_GPS_HOME 18 |
28 | #define SPEAK_GPS_HOME 18 |
29 | #define SPEAK_GPS_OFF 19 |
29 | #define SPEAK_GPS_OFF 19 |
30 | #define SPEAK_BEEP 20 |
30 | #define SPEAK_BEEP 20 |
31 | #define SPEAK_MIKROKOPTER 21 |
31 | #define SPEAK_MIKROKOPTER 21 |
32 | #define SPEAK_CAPACITY 22 // ? |
32 | #define SPEAK_CAPACITY 22 // ? |
33 | #define SPEAK_CF_OFF 23 |
33 | #define SPEAK_CF_OFF 23 |
34 | #define SPEAK_CALIBRATE 24 |
34 | #define SPEAK_CALIBRATE 24 |
35 | #define SPEAK_MAX_RANGE 25 |
35 | #define SPEAK_MAX_RANGE 25 |
36 | #define SPEAK_MAX_ALTITUD 26 |
36 | #define SPEAK_MAX_ALTITUD 26 |
37 | 37 | ||
38 | #define SPEAK_20M 37 // ? |
38 | #define SPEAK_20M 37 // ? |
39 | #define SPEAK_MK_OFF 38 |
39 | #define SPEAK_MK_OFF 38 |
40 | #define SPEAK_ALTITUDE_ON 39 |
40 | #define SPEAK_ALTITUDE_ON 39 |
41 | #define SPEAK_ALTITUDE_OFF 40 |
41 | #define SPEAK_ALTITUDE_OFF 40 |
42 | #define SPEAK_100M 41 |
42 | #define SPEAK_100M 41 |
43 | #define SPEAK_RECEIV_VOLT 42 |
43 | #define SPEAK_RECEIV_VOLT 42 |
44 | #define SPEAK_CF_ON 46 |
44 | #define SPEAK_CF_ON 46 |
45 | #define SPEAK_SINKING 47 // ? |
45 | #define SPEAK_SINKING 47 // ? |
46 | #define SPEAK_RISING 48 |
46 | #define SPEAK_RISING 48 |
47 | #define SPEAK_HOLDING 49 // ? |
47 | #define SPEAK_HOLDING 49 // ? |
48 | #define SPEAK_GPS_ON 50 |
48 | #define SPEAK_GPS_ON 50 |
49 | #define SPEAK_FOLLWING 51 // ? |
49 | #define SPEAK_FOLLWING 51 // ? |
50 | #define SPEAK_STARTING 52 |
50 | #define SPEAK_STARTING 52 |
51 | // Achtung: wenn > 53 -> JETI_CODE[53] anpassen |
51 | // Achtung: wenn > 53 -> JETI_CODE[53] anpassen |
52 | /* |
52 | /* |
53 | 1 Fehler: Kalibration |
53 | 1 Fehler: Kalibration |
54 | 2 Fehler: Empfang |
54 | 2 Fehler: Empfang |
55 | 3 Fehler: Datenbus |
55 | 3 Fehler: Datenbus |
56 | 4 Fehler: Navi |
56 | 4 Fehler: Navi |
57 | 5 Fehler |
57 | 5 Fehler |
58 | 6 Fehler: Kompass |
58 | 6 Fehler: Kompass |
59 | 7 Fehler: Sensor |
59 | 7 Fehler: Sensor |
60 | 8 Fehler: GPS |
60 | 8 Fehler: GPS |
61 | 9 Fehler: Motor |
61 | 9 Fehler: Motor |
62 | 10 Fehler: Überlastung |
62 | 10 Fehler: Überlastung |
63 | 11 Höhe erreicht |
63 | 11 Höhe erreicht |
64 | 12 Wegpunkt erreicht |
64 | 12 Wegpunkt erreicht |
65 | 13 Nächster Wegpunkt |
65 | 13 Nächster Wegpunkt |
66 | 14 Landen |
66 | 14 Landen |
67 | 15 GPS Fix |
67 | 15 GPS Fix |
68 | 16 Unterspannung |
68 | 16 Unterspannung |
69 | 17 GPS Halten |
69 | 17 GPS Halten |
70 | 18 GPS Home |
70 | 18 GPS Home |
71 | 19 GPS Aus |
71 | 19 GPS Aus |
72 | 20 * Beep |
72 | 20 * Beep |
73 | 21 MikroKopter |
73 | 21 MikroKopter |
74 | 22 Kapazität |
74 | 22 Kapazität |
75 | 23 Carefree aus |
75 | 23 Carefree aus |
76 | 24 Kalibriere |
76 | 24 Kalibriere |
77 | 25 Maximale Entfernung |
77 | 25 Maximale Entfernung |
78 | 26 Maximale Höhe |
78 | 26 Maximale Höhe |
79 | 79 | ||
80 | 27 * Warnung |
80 | 27 * Warnung |
81 | 28 * Failsafe aktiv |
81 | 28 * Failsafe aktiv |
82 | 29 * Failsafe aus |
82 | 29 * Failsafe aus |
83 | 30 * Redundanz aktiv |
83 | 30 * Redundanz aktiv |
84 | 31 * Redundanz aus |
84 | 31 * Redundanz aus |
85 | 32 * Starte Wegpunkt |
85 | 32 * Starte Wegpunkt |
86 | 33 * Fehler: Überstrom |
86 | 33 * Fehler: Überstrom |
87 | 34 * Fehler: Übertemperatur |
87 | 34 * Fehler: Übertemperatur |
88 | 35 * Fehler: Failsafe |
88 | 35 * Fehler: Failsafe |
89 | 36 * Fehler: Redundanz |
89 | 36 * Fehler: Redundanz |
90 | 90 | ||
91 | 37 Zwanzig Meter |
91 | 37 Zwanzig Meter |
92 | 38 MikroKopter aus |
92 | 38 MikroKopter aus |
93 | 39 Höhe Ein |
93 | 39 Höhe Ein |
94 | 40 Höhe Aus |
94 | 40 Höhe Aus |
95 | 41 Einhundert meter |
95 | 41 Einhundert meter |
96 | 42 * Verbindung hergestellt |
96 | 42 * Verbindung hergestellt |
97 | 43 * Verbindung unterbrochen |
97 | 43 * Verbindung unterbrochen |
98 | 44 |
98 | 44 |
99 | 45 |
99 | 45 |
100 | 46 Carefree ein |
100 | 46 Carefree ein |
101 | 47 Sinken |
101 | 47 Sinken |
102 | 48 Steigen |
102 | 48 Steigen |
103 | 49 Halten |
103 | 49 Halten |
104 | 50 GPS ein |
104 | 50 GPS ein |
105 | 51 Folgen |
105 | 51 Folgen |
106 | 52 Starten |
106 | 52 Starten |
107 | 107 | ||
108 | //fehlt: |
108 | //fehlt: |
109 | //"Warnung" |
109 | //"Warnung" |
110 | //"Failsafe" |
110 | //"Failsafe" |
111 | //"ERR:Redundanz ?" |
111 | //"ERR:Redundanz ?" |
112 | */ |
112 | */ |
113 | 113 | ||
114 | #define MAX_ERR_NUMBER (42+1) |
114 | #define MAX_ERR_NUMBER (43+1) |
115 | extern const char PROGMEM NC_ERROR_TEXT[MAX_ERR_NUMBER][17]; |
115 | extern const char PROGMEM NC_ERROR_TEXT[MAX_ERR_NUMBER][17]; |
116 | extern unsigned int NaviData_TargetDistance; |
116 | extern unsigned int NaviData_TargetDistance; |
117 | extern unsigned char MaxBlTemperture; |
117 | extern unsigned char MaxBlTemperture; |
118 | extern unsigned char MinBlTemperture; |
118 | extern unsigned char MinBlTemperture; |
119 | extern unsigned char HottestBl; |
119 | extern unsigned char HottestBl; |
120 | 120 | ||
121 | extern unsigned char HottKeyboard,HoTT_RequestedSensor; |
121 | extern unsigned char HottKeyboard,HoTT_RequestedSensor; |
122 | extern unsigned char HottUpdate(unsigned char key); |
122 | extern unsigned char HottUpdate(unsigned char key); |
123 | extern unsigned char SpeakHoTT,ShowSettingNameTime, ShowCmpsCalibrateTime; |
123 | extern unsigned char SpeakHoTT,ShowSettingNameTime, ShowCmpsCalibrateTime; |
124 | extern unsigned char ToNC_SpeakHoTT; |
124 | extern unsigned char ToNC_SpeakHoTT; |
125 | extern volatile unsigned char *HoTT_DataPointer; |
125 | extern volatile unsigned char *HoTT_DataPointer; |
126 | 126 | ||
127 | extern void CreateHoTT_Menu(void); |
127 | extern void CreateHoTT_Menu(void); |
128 | extern void LIBFC_HoTT_Putchar(char); |
128 | extern void LIBFC_HoTT_Putchar(char); |
129 | extern void LIBFC_HoTT_Putchar_INV(char); // print Invers |
129 | extern void LIBFC_HoTT_Putchar_INV(char); // print Invers |
130 | extern void LIBFC_HoTT_Putchar_BLINK(char); |
130 | extern void LIBFC_HoTT_Putchar_BLINK(char); |
131 | extern void LIBFC_HoTT_SetPos(unsigned char); |
131 | extern void LIBFC_HoTT_SetPos(unsigned char); |
132 | extern void LIBFC_HoTT_Clear(void); |
132 | extern void LIBFC_HoTT_Clear(void); |
133 | extern void NC_Fills_HoTT_Telemety(void); |
133 | extern void NC_Fills_HoTT_Telemety(void); |
134 | extern void HoTT_Menu(void); |
134 | extern void HoTT_Menu(void); |
135 | extern unsigned char HoTT_Telemety(unsigned char); |
135 | extern unsigned char HoTT_Telemety(unsigned char); |
136 | extern unsigned char HoTT_Waring(void); |
136 | extern unsigned char HoTT_Waring(void); |
137 | extern volatile unsigned char HoTTBlink; |
137 | extern volatile unsigned char HoTTBlink; |
138 | extern void GetHottestBl(void); |
138 | extern void GetHottestBl(void); |
139 | 139 | ||
140 | typedef struct |
140 | typedef struct |
141 | { |
141 | { |
142 | unsigned char StartByte; // 0x7C |
142 | unsigned char StartByte; // 0x7C |
143 | unsigned char Packet_ID; // HOTT_GENERAL_PACKET_ID |
143 | unsigned char Packet_ID; // HOTT_GENERAL_PACKET_ID |
144 | unsigned char WarnBeep; // 3 Anzahl der Töne 0..36 |
144 | unsigned char WarnBeep; // 3 Anzahl der Töne 0..36 |
145 | unsigned char SensorID; // 4 0xD0 |
145 | unsigned char SensorID; // 4 0xD0 |
146 | unsigned char InverseStatus1; // 5 |
146 | unsigned char InverseStatus1; // 5 |
147 | unsigned char InverseStatus2; // 6 |
147 | unsigned char InverseStatus2; // 6 |
148 | unsigned char VoltageCell1; // 7 208 = 4,16V (Voltage * 50 = Wert) |
148 | unsigned char VoltageCell1; // 7 208 = 4,16V (Voltage * 50 = Wert) |
149 | unsigned char VoltageCell2; // 8 209 = 4,18V |
149 | unsigned char VoltageCell2; // 8 209 = 4,18V |
150 | unsigned char VoltageCell3; // 9 |
150 | unsigned char VoltageCell3; // 9 |
151 | unsigned char VoltageCell4; // 10 |
151 | unsigned char VoltageCell4; // 10 |
152 | unsigned char VoltageCell5; // 11 |
152 | unsigned char VoltageCell5; // 11 |
153 | unsigned char VoltageCell6; // 12 |
153 | unsigned char VoltageCell6; // 12 |
154 | unsigned int Battery1; // 13+14 51 = 5,1V |
154 | unsigned int Battery1; // 13+14 51 = 5,1V |
155 | unsigned int Battery2; // 15+16 51 = 5,1V |
155 | unsigned int Battery2; // 15+16 51 = 5,1V |
156 | unsigned char Temperature1; // 17 44 = 24°C, 0 = -20°C |
156 | unsigned char Temperature1; // 17 44 = 24°C, 0 = -20°C |
157 | unsigned char Temperature2; // 18 44 = 24°C, 0 = -20°C |
157 | unsigned char Temperature2; // 18 44 = 24°C, 0 = -20°C |
158 | unsigned char FuelPercent; // 19 |
158 | unsigned char FuelPercent; // 19 |
159 | signed int FuelCapacity; // 20+21 |
159 | signed int FuelCapacity; // 20+21 |
160 | unsigned int Rpm; // 22+23 |
160 | unsigned int Rpm; // 22+23 |
161 | signed int Altitude; // 24+25 |
161 | signed int Altitude; // 24+25 |
162 | unsigned int m_sec; // 26+27 3000 = 0 |
162 | unsigned int m_sec; // 26+27 3000 = 0 |
163 | unsigned char m_3sec; // 28 120 = 0 |
163 | unsigned char m_3sec; // 28 120 = 0 |
164 | unsigned int Current; // 29+30 1 = 0.1A |
164 | unsigned int Current; // 29+30 1 = 0.1A |
165 | unsigned int InputVoltage; // 31+32 66 = 6,6V |
165 | unsigned int InputVoltage; // 31+32 66 = 6,6V |
166 | unsigned int Capacity; // 33+34 1 = 10mAh |
166 | unsigned int Capacity; // 33+34 1 = 10mAh |
167 | unsigned int Speed; // 35+36 |
167 | unsigned int Speed; // 35+36 |
168 | unsigned char LowestCellVoltage; // 37 |
168 | unsigned char LowestCellVoltage; // 37 |
169 | unsigned char LowestCellNumber; // 38 |
169 | unsigned char LowestCellNumber; // 38 |
170 | unsigned int Rpm2; // 39+40 |
170 | unsigned int Rpm2; // 39+40 |
171 | unsigned char ErrorNumber; // 41 |
171 | unsigned char ErrorNumber; // 41 |
172 | unsigned char Pressure; // 42 in 0,1bar 20=2,0bar |
172 | unsigned char Pressure; // 42 in 0,1bar 20=2,0bar |
173 | unsigned char Version; // 43 |
173 | unsigned char Version; // 43 |
174 | unsigned char EndByte; // 0x7D |
174 | unsigned char EndByte; // 0x7D |
175 | } HoTTGeneral_t; |
175 | } HoTTGeneral_t; |
176 | 176 | ||
177 | typedef struct |
177 | typedef struct |
178 | { |
178 | { |
179 | unsigned char StartByte; // 0x7C |
179 | unsigned char StartByte; // 0x7C |
180 | unsigned char Packet_ID; // HOTT_ELECTRIC_AIR_PACKET_ID |
180 | unsigned char Packet_ID; // HOTT_ELECTRIC_AIR_PACKET_ID |
181 | unsigned char WarnBeep; // Anzahl der Töne 0..36 |
181 | unsigned char WarnBeep; // Anzahl der Töne 0..36 |
182 | unsigned char SensorID; // 4 0xE0 |
182 | unsigned char SensorID; // 4 0xE0 |
183 | unsigned char InverseStatus1; // 5 |
183 | unsigned char InverseStatus1; // 5 |
184 | unsigned char InverseStatus2; // 6 |
184 | unsigned char InverseStatus2; // 6 |
185 | unsigned char VoltageCell1; // 7 208 = 4,16V (Voltage * 50 = Wert) |
185 | unsigned char VoltageCell1; // 7 208 = 4,16V (Voltage * 50 = Wert) |
186 | unsigned char VoltageCell2; // 209 = 4,18V |
186 | unsigned char VoltageCell2; // 209 = 4,18V |
187 | unsigned char VoltageCell3; // |
187 | unsigned char VoltageCell3; // |
188 | unsigned char VoltageCell4; // |
188 | unsigned char VoltageCell4; // |
189 | unsigned char VoltageCell5; // |
189 | unsigned char VoltageCell5; // |
190 | unsigned char VoltageCell6; // |
190 | unsigned char VoltageCell6; // |
191 | unsigned char VoltageCell7; // |
191 | unsigned char VoltageCell7; // |
192 | unsigned char VoltageCell8; // |
192 | unsigned char VoltageCell8; // |
193 | unsigned char VoltageCell9; // |
193 | unsigned char VoltageCell9; // |
194 | unsigned char VoltageCell10; // |
194 | unsigned char VoltageCell10; // |
195 | unsigned char VoltageCell11; // |
195 | unsigned char VoltageCell11; // |
196 | unsigned char VoltageCell12; // |
196 | unsigned char VoltageCell12; // |
197 | unsigned char VoltageCell13; // |
197 | unsigned char VoltageCell13; // |
198 | unsigned char VoltageCell14; // 20 |
198 | unsigned char VoltageCell14; // 20 |
199 | unsigned int Battery1; // 21+22 51 = 5,1V |
199 | unsigned int Battery1; // 21+22 51 = 5,1V |
200 | unsigned int Battery2; // 23+24 51 = 5,1V |
200 | unsigned int Battery2; // 23+24 51 = 5,1V |
201 | unsigned char Temperature1; // 25 44 = 24°C, 0 = -20°C |
201 | unsigned char Temperature1; // 25 44 = 24°C, 0 = -20°C |
202 | unsigned char Temperature2; // 26 44 = 24°C, 0 = -20°C |
202 | unsigned char Temperature2; // 26 44 = 24°C, 0 = -20°C |
203 | signed int Altitude; // 27+28 |
203 | signed int Altitude; // 27+28 |
204 | unsigned int Current; // 29+30 1 = 0.1A |
204 | unsigned int Current; // 29+30 1 = 0.1A |
205 | unsigned int InputVoltage; // 31+32 66 = 6,6V |
205 | unsigned int InputVoltage; // 31+32 66 = 6,6V |
206 | unsigned int Capacity; // 33+34 1 = 10mAh |
206 | unsigned int Capacity; // 33+34 1 = 10mAh |
207 | unsigned int m_sec; // 35+36 30000 = 0 |
207 | unsigned int m_sec; // 35+36 30000 = 0 |
208 | unsigned char m_3sec; // 37 120 = 0 |
208 | unsigned char m_3sec; // 37 120 = 0 |
209 | unsigned int Rpm; // 38+39 |
209 | unsigned int Rpm; // 38+39 |
210 | unsigned char FlightTimeMinutes; // 40 |
210 | unsigned char FlightTimeMinutes; // 40 |
211 | unsigned char FlightTimeSeconds; // 41 |
211 | unsigned char FlightTimeSeconds; // 41 |
212 | unsigned char Speed; // 42 1=2km |
212 | unsigned char Speed; // 42 1=2km |
213 | unsigned char Version; // 43 0x00 |
213 | unsigned char Version; // 43 0x00 |
214 | unsigned char EndByte; // 0x7D |
214 | unsigned char EndByte; // 0x7D |
215 | } ElectricAirPacket_t; |
215 | } ElectricAirPacket_t; |
216 | 216 | ||
217 | 217 | ||
218 | typedef struct |
218 | typedef struct |
219 | { |
219 | { |
220 | unsigned char StartByte; // 0x7C |
220 | unsigned char StartByte; // 0x7C |
221 | unsigned char Packet_ID; // 0x89 - Vario ID |
221 | unsigned char Packet_ID; // 0x89 - Vario ID |
222 | unsigned char WarnBeep; //3 // Anzahl der Töne 0..36 |
222 | unsigned char WarnBeep; //3 // Anzahl der Töne 0..36 |
223 | unsigned char SensorID; // 0x90 |
223 | unsigned char SensorID; // 0x90 |
224 | unsigned char InverseStatus; |
224 | unsigned char InverseStatus; |
225 | signed int Altitude; //6+7 // 500 = 0m |
225 | signed int Altitude; //6+7 // 500 = 0m |
226 | signed int MaxAltitude; //8+9 // 500 = 0m |
226 | signed int MaxAltitude; //8+9 // 500 = 0m |
227 | signed int MinAltitude; //10+11 // 500 = 0m |
227 | signed int MinAltitude; //10+11 // 500 = 0m |
228 | unsigned int m_sec; //12+13 // 3000 = 0 |
228 | unsigned int m_sec; //12+13 // 3000 = 0 |
229 | unsigned int m_3sec; //14+15 |
229 | unsigned int m_3sec; //14+15 |
230 | unsigned int m_10sec; //26+17 |
230 | unsigned int m_10sec; //26+17 |
231 | char Text[21]; //18-38 |
231 | char Text[21]; //18-38 |
232 | char FreeCharacters[3]; // 39-41 |
232 | char FreeCharacters[3]; // 39-41 |
233 | unsigned char NullByte; // 42 0x00 |
233 | unsigned char NullByte; // 42 0x00 |
234 | unsigned char Version; // 43 |
234 | unsigned char Version; // 43 |
235 | unsigned char EndByte; // 0x7D |
235 | unsigned char EndByte; // 0x7D |
236 | } VarioPacket_t; |
236 | } VarioPacket_t; |
237 | 237 | ||
238 | typedef struct |
238 | typedef struct |
239 | { |
239 | { |
240 | unsigned char StartByte; //0 // 0x7C |
240 | unsigned char StartByte; //0 // 0x7C |
241 | unsigned char Packet_ID; //1 // 0x8A - GPS ID |
241 | unsigned char Packet_ID; //1 // 0x8A - GPS ID |
242 | unsigned char WarnBeep; //2 // Anzahl der Töne 0..36 |
242 | unsigned char WarnBeep; //2 // Anzahl der Töne 0..36 |
243 | unsigned char SensorID; // 4 0xA0 |
243 | unsigned char SensorID; // 4 0xA0 |
244 | unsigned char InverseStatus1; // 5 |
244 | unsigned char InverseStatus1; // 5 |
245 | unsigned char InverseStatus2; // 6 |
245 | unsigned char InverseStatus2; // 6 |
246 | unsigned char Heading; //7 // 1 = 2° |
246 | unsigned char Heading; //7 // 1 = 2° |
247 | unsigned int Speed; //8+9 // in km/h |
247 | unsigned int Speed; //8+9 // in km/h |
248 | unsigned char Lat_North; //10 |
248 | unsigned char Lat_North; //10 |
249 | unsigned char Lat_G; //11 |
249 | unsigned char Lat_G; //11 |
250 | unsigned char Lat_M; //12 |
250 | unsigned char Lat_M; //12 |
251 | unsigned char Lat_Sek1; //13 |
251 | unsigned char Lat_Sek1; //13 |
252 | unsigned char Lat_Sek2; //14 |
252 | unsigned char Lat_Sek2; //14 |
253 | unsigned char Lon_East; //15 |
253 | unsigned char Lon_East; //15 |
254 | unsigned char Lon_G; //16 |
254 | unsigned char Lon_G; //16 |
255 | unsigned char Lon_M; //17 |
255 | unsigned char Lon_M; //17 |
256 | unsigned char Lon_Sek1; //18 |
256 | unsigned char Lon_Sek1; //18 |
257 | unsigned char Lon_Sek2; //19 |
257 | unsigned char Lon_Sek2; //19 |
258 | unsigned int Distance; //20+21 // 9000 = 0m |
258 | unsigned int Distance; //20+21 // 9000 = 0m |
259 | signed int Altitude; //22+23 // 500 = 0m |
259 | signed int Altitude; //22+23 // 500 = 0m |
260 | unsigned int m_sec; //24+25 // 3000 = 0 |
260 | unsigned int m_sec; //24+25 // 3000 = 0 |
261 | unsigned char m_3sec; //26 120 = 0 |
261 | unsigned char m_3sec; //26 120 = 0 |
262 | unsigned char NumOfSats; //27 |
262 | unsigned char NumOfSats; //27 |
263 | unsigned char SatFix; //28 |
263 | unsigned char SatFix; //28 |
264 | unsigned char HomeDirection; // 29 |
264 | unsigned char HomeDirection; // 29 |
265 | unsigned char AngleX; // 30 |
265 | unsigned char AngleX; // 30 |
266 | unsigned char AngleY; // 31 |
266 | unsigned char AngleY; // 31 |
267 | unsigned char AngleZ; // 32 |
267 | unsigned char AngleZ; // 32 |
268 | signed int GyroX; //33+34 |
268 | signed int GyroX; //33+34 |
269 | signed int GyroY; //35+36 |
269 | signed int GyroY; //35+36 |
270 | signed int GyroZ; //37+38 |
270 | signed int GyroZ; //37+38 |
271 | unsigned char Vibration; // 39 |
271 | unsigned char Vibration; // 39 |
272 | char FreeCharacters[3]; // 40-42 |
272 | char FreeCharacters[3]; // 40-42 |
273 | unsigned char Version; // 43 |
273 | unsigned char Version; // 43 |
274 | unsigned char EndByte; // 0x7D |
274 | unsigned char EndByte; // 0x7D |
275 | } GPSPacket_t; |
275 | } GPSPacket_t; |
276 | 276 | ||
277 | typedef struct |
277 | typedef struct |
278 | { |
278 | { |
279 | unsigned char StartByte; // 0x7B |
279 | unsigned char StartByte; // 0x7B |
280 | unsigned char Packet_ID; // |
280 | unsigned char Packet_ID; // |
281 | unsigned char WarnBeep; // Anzahl der Töne 0..36 |
281 | unsigned char WarnBeep; // Anzahl der Töne 0..36 |
282 | char Text[8*21]; |
282 | char Text[8*21]; |
283 | unsigned char EndByte; // 0x7D |
283 | unsigned char EndByte; // 0x7D |
284 | } ASCIIPacket_t; |
284 | } ASCIIPacket_t; |
285 | 285 | ||
286 | 286 | ||
287 | 287 | ||
288 | extern GPSPacket_t GPSPacket; |
288 | extern GPSPacket_t GPSPacket; |
289 | extern VarioPacket_t VarioPacket; |
289 | extern VarioPacket_t VarioPacket; |
290 | extern ASCIIPacket_t ASCIIPacket; |
290 | extern ASCIIPacket_t ASCIIPacket; |
291 | extern ElectricAirPacket_t ElectricAirPacket; |
291 | extern ElectricAirPacket_t ElectricAirPacket; |
292 | extern HoTTGeneral_t HoTTGeneral; |
292 | extern HoTTGeneral_t HoTTGeneral; |
293 | 293 | ||
294 | #define HOTT_VARIO_PACKET_ID 0x89 |
294 | #define HOTT_VARIO_PACKET_ID 0x89 |
295 | #define HOTT_GPS_PACKET_ID 0x8A |
295 | #define HOTT_GPS_PACKET_ID 0x8A |
296 | #define HOTT_ELECTRIC_AIR_PACKET_ID 0x8E |
296 | #define HOTT_ELECTRIC_AIR_PACKET_ID 0x8E |
297 | #define HOTT_GENERAL_PACKET_ID 0x8D |
297 | #define HOTT_GENERAL_PACKET_ID 0x8D |
298 | #define JETI_GPS_PACKET_ID1 0x01 |
298 | #define JETI_GPS_PACKET_ID1 0x01 |
299 | #define JETI_GPS_PACKET_ID2 0x02 |
299 | #define JETI_GPS_PACKET_ID2 0x02 |
300 | #define HOTT_WPL_NAME 0x03 |
300 | #define HOTT_WPL_NAME 0x03 |
301 | 301 | ||
302 | //--------------------------------------------------------------------------------------------------- |
302 | //--------------------------------------------------------------------------------------------------- |
303 | typedef struct{ |
303 | typedef struct{ |
304 | char offset; |
304 | char offset; |
305 | unsigned char min; |
305 | unsigned char min; |
306 | unsigned char max; |
306 | unsigned char max; |
307 | char name[4]; |
307 | char name[4]; |
308 | unsigned char *Variable; |
308 | unsigned char *Variable; |
309 | } Parameter_List_t; |
309 | } Parameter_List_t; |
310 | 310 | ||
311 | #define MAXPARAM 41 //Muss eine ungerade Zahl sein |
311 | #define MAXPARAM 41 //Muss eine ungerade Zahl sein |
312 | extern const Parameter_List_t Parameter_List[]; |
312 | extern const Parameter_List_t Parameter_List[]; |
313 | //--------------------------------------------------------------------------------------------------- |
313 | //--------------------------------------------------------------------------------------------------- |
314 | 314 | ||
315 | #endif |
315 | #endif |
316 | #endif |
316 | #endif |
317 | 317 | ||
318 | 318 |