Subversion Repositories FlightCtrl

Rev

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