Subversion Repositories FlightCtrl

Rev

Rev 2532 | 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
2090 holgerb 51
 
2532 holgerb 52
//fehlt: 
53
//"Error"
54
//"Warnung"
55
//"Failsafe"
56
//"ERR:Redundanz ?"
57
 
58
 
59
#define MAX_ERR_NUMBER (37+1)
1930 holgerb 60
extern const char PROGMEM NC_ERROR_TEXT[MAX_ERR_NUMBER][17];
2178 holgerb 61
extern unsigned int NaviData_TargetDistance;
2373 holgerb 62
extern unsigned char MaxBlTemperture;
63
extern unsigned char MinBlTemperture;
64
extern unsigned char HottestBl;
1930 holgerb 65
 
1917 holgerb 66
extern unsigned char HottKeyboard,HoTT_RequestedSensor;
67
extern unsigned char HottUpdate(unsigned char key);
2345 holgerb 68
extern unsigned char SpeakHoTT,ShowSettingNameTime;
2190 holgerb 69
extern unsigned char ToNC_SpeakHoTT;
1919 holgerb 70
extern volatile unsigned char *HoTT_DataPointer;
71
 
1917 holgerb 72
extern void CreateHoTT_Menu(void);
73
extern void LIBFC_HoTT_Putchar(char);
74
extern void LIBFC_HoTT_Putchar_INV(char); // print Invers
1920 holgerb 75
extern void LIBFC_HoTT_Putchar_BLINK(char);
1917 holgerb 76
extern void LIBFC_HoTT_SetPos(unsigned char);
77
extern void LIBFC_HoTT_Clear(void);
1949 holgerb 78
extern void NC_Fills_HoTT_Telemety(void);
1917 holgerb 79
extern void HoTT_Menu(void);
1919 holgerb 80
extern unsigned char HoTT_Telemety(unsigned char);
81
extern unsigned char HoTT_Waring(void);
1920 holgerb 82
extern volatile unsigned char HoTTBlink;
2182 ingob 83
extern void GetHottestBl(void);
1917 holgerb 84
 
85
typedef struct
86
{
87
  unsigned char StartByte;      // 0x7C
1944 holgerb 88
  unsigned char Packet_ID;      // HOTT_GENERAL_PACKET_ID       
2090 holgerb 89
  unsigned char WarnBeep;       // 3 Anzahl der Töne 0..36
90
  unsigned char SensorID;       // 4 0xD0
91
  unsigned char InverseStatus1; // 5  
92
  unsigned char InverseStatus2; // 6
93
  unsigned char VoltageCell1;   // 7 208 = 4,16V  (Voltage * 50 = Wert)
94
  unsigned char VoltageCell2;   // 8 209 = 4,18V
95
  unsigned char VoltageCell3;   // 9
96
  unsigned char VoltageCell4;   // 10
97
  unsigned char VoltageCell5;   // 11
98
  unsigned char VoltageCell6;   // 12
99
  unsigned int  Battery1;               // 13+14 51  = 5,1V
100
  unsigned int  Battery2;               // 15+16 51  = 5,1V
101
  unsigned char Temperature1;   // 17 44 = 24°C, 0 = -20°C
102
  unsigned char Temperature2;   // 18 44 = 24°C, 0 = -20°C
103
  unsigned char FuelPercent;    // 19
104
    signed int  FuelCapacity;   // 20+21
105
  unsigned int  Rpm;                    // 22+23
106
    signed int  Altitude;               // 24+25
107
  unsigned int  m_sec;              // 26+27 3000 = 0
108
  unsigned char m_3sec;             // 28 120 = 0
109
  unsigned int  Current;                // 29+30 1 = 0.1A
110
  unsigned int  InputVoltage;   // 31+32 66  = 6,6V
111
  unsigned int  Capacity;               // 33+34 1  = 10mAh
112
  unsigned int  Speed;                  // 35+36
113
  unsigned char LowestCellVoltage;      // 37
114
  unsigned char LowestCellNumber;       // 38
115
  unsigned int  Rpm2;                           // 39+40
116
  unsigned char ErrorNumber;            // 41
117
  unsigned char Pressure;           // 42  in 0,1bar 20=2,0bar
118
  unsigned char Version;            // 43
1943 holgerb 119
  unsigned char EndByte;                // 0x7D
120
} HoTTGeneral_t;
121
 
122
typedef struct
123
{
124
  unsigned char StartByte;      // 0x7C
125
  unsigned char Packet_ID;      // HOTT_ELECTRIC_AIR_PACKET_ID  
126
  unsigned char WarnBeep;       // Anzahl der Töne 0..36
2090 holgerb 127
  unsigned char SensorID;       // 4 0xE0
128
  unsigned char InverseStatus1; // 5  
129
  unsigned char InverseStatus2; // 6
130
  unsigned char VoltageCell1;   // 7 208 = 4,16V  (Voltage * 50 = Wert)
1943 holgerb 131
  unsigned char VoltageCell2;   // 209 = 4,18V
132
  unsigned char VoltageCell3;   // 
133
  unsigned char VoltageCell4;   // 
134
  unsigned char VoltageCell5;   // 
135
  unsigned char VoltageCell6;   // 
1917 holgerb 136
  unsigned char VoltageCell7;   // 
137
  unsigned char VoltageCell8;   // 
138
  unsigned char VoltageCell9;   // 
139
  unsigned char VoltageCell10;  // 
140
  unsigned char VoltageCell11;  // 
141
  unsigned char VoltageCell12;  // 
142
  unsigned char VoltageCell13;  // 
2090 holgerb 143
  unsigned char VoltageCell14;  // 20 
144
  unsigned int  Battery1;               // 21+22 51  = 5,1V
145
  unsigned int  Battery2;               // 23+24 51  = 5,1V
146
  unsigned char Temperature1;   // 25 44 = 24°C, 0 = -20°C
147
  unsigned char Temperature2;   // 26 44 = 24°C, 0 = -20°C
148
    signed int  Altitude;               // 27+28
149
  unsigned int  Current;                // 29+30 1 = 0.1A
150
  unsigned int  InputVoltage;   // 31+32 66  = 6,6V
151
  unsigned int  Capacity;               // 33+34 1  = 10mAh
152
  unsigned int  m_sec;              // 35+36 30000 = 0
153
  unsigned char m_3sec;             // 37 120 = 0
154
  unsigned int  Rpm;                    // 38+39
155
  unsigned char FlightTimeMinutes; // 40
156
  unsigned char FlightTimeSeconds; // 41
157
  unsigned char Speed;                  // 42  1=2km 
158
  unsigned char Version;                // 43 0x00
1917 holgerb 159
  unsigned char EndByte;                // 0x7D
160
} ElectricAirPacket_t;
161
 
1943 holgerb 162
 
1917 holgerb 163
typedef struct
164
{
165
  unsigned char StartByte;      // 0x7C
166
  unsigned char Packet_ID;      // 0x89  - Vario ID 
2090 holgerb 167
  unsigned char WarnBeep;   //3         // Anzahl der Töne 0..36
168
  unsigned char SensorID;        // 0x90
169
  unsigned char InverseStatus;  
170
    signed int Altitude;        //6+7    // 500 = 0m
171
    signed int MaxAltitude;     //8+9    // 500 = 0m
172
        signed int MinAltitude; //10+11   // 500 = 0m
173
  unsigned int m_sec;           //12+13    // 3000 = 0
174
  unsigned int  m_3sec;         //14+15    
175
  unsigned int  m_10sec;        //26+17
176
  char              Text[21];   //18-38
177
  char              FreeCharacters[3]; // 39-41
178
  unsigned char NullByte;   // 42 0x00
179
  unsigned char Version;        // 43
180
  unsigned char EndByte;        // 0x7D
1917 holgerb 181
} VarioPacket_t;
182
 
183
typedef struct
184
{
1940 holgerb 185
  unsigned char StartByte;  //0         // 0x7C
2090 holgerb 186
  unsigned char Packet_ID;  //1         // 0x8A  - GPS ID 
1940 holgerb 187
  unsigned char WarnBeep;   //2         // Anzahl der Töne 0..36
2090 holgerb 188
  unsigned char SensorID;       // 4 0xA0
189
  unsigned char InverseStatus1; // 5  
190
  unsigned char InverseStatus2; // 6
191
  unsigned char Heading;        //7     // 1 = 2°
192
  unsigned int Speed;           //8+9   // in km/h
193
  unsigned char Lat_North;      //10    
194
  unsigned char Lat_G;      //11
195
  unsigned char Lat_M;      //12
196
  unsigned char Lat_Sek1;       //13    
197
  unsigned char Lat_Sek2;       //14    
198
  unsigned char Lon_East;       //15    
199
  unsigned char Lon_G;      //16
200
  unsigned char Lon_M;      //17
201
  unsigned char Lon_Sek1;       //18    
202
  unsigned char Lon_Sek2;       //19    
203
  unsigned int Distance;        //20+21    // 9000 = 0m
204
    signed int Altitude;        //22+23    // 500 = 0m
205
  unsigned int m_sec;           //24+25    // 3000 = 0
206
  unsigned char m_3sec;         //26 120 = 0
207
  unsigned char NumOfSats;      //27
208
  unsigned char SatFix;     //28
209
  unsigned char HomeDirection; // 29
210
  unsigned char AngleX;           // 30 
211
  unsigned char AngleY;       // 31
212
  unsigned char AngleZ;       // 32
213
    signed int GyroX;         //33+34
214
    signed int GyroY;         //35+36
215
    signed int GyroZ;         //37+38
216
  unsigned char Vibration;    // 39
217
  char              FreeCharacters[3]; // 40-42
218
  unsigned char Version;        // 43
1917 holgerb 219
  unsigned char EndByte;                // 0x7D
220
} GPSPacket_t;
221
 
222
typedef struct
223
{
224
  unsigned char StartByte;      // 0x7B
1937 holgerb 225
  unsigned char Packet_ID;      // 
1917 holgerb 226
  unsigned char WarnBeep;       // Anzahl der Töne 0..36
227
  char Text[8*21];
228
  unsigned char EndByte;                // 0x7D
229
} ASCIIPacket_t;
230
 
1937 holgerb 231
 
1940 holgerb 232
 
1917 holgerb 233
extern GPSPacket_t GPSPacket;
234
extern VarioPacket_t VarioPacket;
235
extern ASCIIPacket_t ASCIIPacket;
236
extern ElectricAirPacket_t ElectricAirPacket;
1943 holgerb 237
extern HoTTGeneral_t HoTTGeneral;
1917 holgerb 238
 
1943 holgerb 239
#define HOTT_VARIO_PACKET_ID            0x89
240
#define HOTT_GPS_PACKET_ID                      0x8A
1917 holgerb 241
#define HOTT_ELECTRIC_AIR_PACKET_ID     0x8E
1943 holgerb 242
#define HOTT_GENERAL_PACKET_ID          0x8D
2377 holgerb 243
#define JETI_GPS_PACKET_ID1                     0x01
244
#define JETI_GPS_PACKET_ID2                     0x02
2424 holgerb 245
#define HOTT_WPL_NAME                           0x03
1917 holgerb 246
 
2527 holgerb 247
//---------------------------------------------------------------------------------------------------
248
typedef struct{
249
  char offset;
250
  unsigned char min;
251
  unsigned char max;
252
  char name[4];
253
  unsigned char *Variable;
254
} Parameter_List_t;
255
 
256
#define MAXPARAM 41 //Muss eine ungerade Zahl sein
257
extern const Parameter_List_t Parameter_List[];
258
//---------------------------------------------------------------------------------------------------
259
 
1917 holgerb 260
#endif 
1925 holgerb 261
#endif
262