Subversion Repositories FlightCtrl

Rev

Rev 2630 | Details | Compare with Previous | Last modification | View Log | RSS feed

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