Subversion Repositories FlightCtrl

Rev

Rev 2034 | Rev 2146 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2034 Rev 2090
Line 1... Line 1...
1
#ifndef _HOTTMENU_H
1
#ifndef _HOTTMENU_H
2
#define _HOTTMENU_H
2
#define _HOTTMENU_H
Line 3... Line 3...
3
 
3
 
Line -... Line 4...
-
 
4
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
-
 
5
 
-
 
6
#define SPEAK_ERR_CALIBARTION  1
-
 
7
#define SPEAK_ERR_RECEICER       2
-
 
8
#define SPEAK_ERR_DATABUS        3
-
 
9
#define SPEAK_ERR_NAVI           4
-
 
10
#define SPEAK_ERROR                      5
-
 
11
#define SPEAK_ERR_COMPASS        6
-
 
12
#define SPEAK_ERR_SENSOR         7
-
 
13
#define SPEAK_ERR_GPS            8
-
 
14
#define SPEAK_ERR_MOTOR          9
-
 
15
#define SPEAK_MAX_TEMPERAT  10
-
 
16
#define SPEAK_ALTI_REACHED  11
-
 
17
#define SPEAK_WP_REACHED    12
-
 
18
#define SPEAK_NEXT_WP       13
-
 
19
#define SPEAK_LANDING       14
-
 
20
#define SPEAK_GPS_FIX       15
-
 
21
#define SPEAK_UNDERVOLTAGE  16
-
 
22
#define SPEAK_GPS_HOLD      17
-
 
23
#define SPEAK_GPS_HOME      18
-
 
24
#define SPEAK_GPS_OFF       19
-
 
25
#define SPEAK_BEEP          20
-
 
26
#define SPEAK_MIKROKOPTER   21
-
 
27
#define SPEAK_CAPACITY      22
-
 
28
#define SPEAK_CF_OFF        23
-
 
29
#define SPEAK_CALIBRATE     24
-
 
30
#define SPEAK_MAX_RANGE     25
-
 
31
#define SPEAK_MAX_ALTITUD   26
-
 
32
 
-
 
33
#define SPEAK_MK_OFF            38
-
 
34
#define SPEAK_ALTITUDE_ON       39
-
 
35
#define SPEAK_ALTITUDE_OFF      40
-
 
36
#define SPEAK_CF_ON             46
-
 
37
#define SPEAK_SINKING           47
-
 
38
#define SPEAK_RISING            48
-
 
39
#define SPEAK_HOLDING           49
-
 
40
#define SPEAK_GPS_ON            50
-
 
41
#define SPEAK_FOLLWING          51
4
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
42
#define SPEAK_STARTING      52
5
 
43
 
Line 6... Line 44...
6
#define MAX_ERR_NUMBER (29+1)
44
#define MAX_ERR_NUMBER (29+1)
7
extern const char PROGMEM NC_ERROR_TEXT[MAX_ERR_NUMBER][17];
45
extern const char PROGMEM NC_ERROR_TEXT[MAX_ERR_NUMBER][17];
8
 
-
 
-
 
46
 
9
extern unsigned char HottKeyboard,HoTT_RequestedSensor;
47
extern unsigned char HottKeyboard,HoTT_RequestedSensor;
Line 10... Line 48...
10
extern unsigned char HottUpdate(unsigned char key);
48
extern unsigned char HottUpdate(unsigned char key);
11
 
49
extern unsigned char SpeakHoTT;
12
extern volatile unsigned char *HoTT_DataPointer;
50
extern volatile unsigned char *HoTT_DataPointer;
Line 25... Line 63...
25
 
63
 
26
typedef struct
64
typedef struct
27
{
65
{
28
  unsigned char StartByte;      // 0x7C
66
  unsigned char StartByte;      // 0x7C
29
  unsigned char Packet_ID;      // HOTT_GENERAL_PACKET_ID       
67
  unsigned char Packet_ID;      // HOTT_GENERAL_PACKET_ID       
-
 
68
  unsigned char WarnBeep;       // 3 Anzahl der Töne 0..36
-
 
69
  unsigned char SensorID;       // 4 0xD0
-
 
70
  unsigned char InverseStatus1; // 5  
30
  unsigned char WarnBeep;       // Anzahl der Töne 0..36
71
  unsigned char InverseStatus2; // 6
31
  unsigned char VoltageCell1;   // 208 = 4,16V  (Voltage * 50 = Wert)
72
  unsigned char VoltageCell1;   // 7 208 = 4,16V  (Voltage * 50 = Wert)
32
  unsigned char VoltageCell2;   // 209 = 4,18V
73
  unsigned char VoltageCell2;   // 8 209 = 4,18V
33
  unsigned char VoltageCell3;   // 
74
  unsigned char VoltageCell3;   // 9
34
  unsigned char VoltageCell4;   // 
75
  unsigned char VoltageCell4;   // 10
35
  unsigned char VoltageCell5;   // 
76
  unsigned char VoltageCell5;   // 11
36
  unsigned char VoltageCell6;   // 
77
  unsigned char VoltageCell6;   // 12
37
  unsigned int  Battery1;               // 51  = 5,1V
78
  unsigned int  Battery1;               // 13+14 51  = 5,1V
38
  unsigned int  Battery2;               // 51  = 5,1V
79
  unsigned int  Battery2;               // 15+16 51  = 5,1V
39
  unsigned char Temperature1;   // 44 = 24°C, 0 = -20°C
80
  unsigned char Temperature1;   // 17 44 = 24°C, 0 = -20°C
40
  unsigned char Temperature2;   // 44 = 24°C, 0 = -20°C
81
  unsigned char Temperature2;   // 18 44 = 24°C, 0 = -20°C
41
  unsigned char FuelPercent;
82
  unsigned char FuelPercent;    // 19
42
    signed int  FuelCapacity;  
83
    signed int  FuelCapacity;   // 20+21
43
  unsigned int  Rpm;  
84
  unsigned int  Rpm;                    // 22+23
44
  unsigned int  Altitude;      
85
    signed int  Altitude;               // 24+25
45
  unsigned int  m_sec;              // 3000 = 0
86
  unsigned int  m_sec;              // 26+27 3000 = 0
46
  unsigned char m_3sec;             // 120 = 0
87
  unsigned char m_3sec;             // 28 120 = 0
47
  unsigned int  Current;                // 1 = 0.1A
88
  unsigned int  Current;                // 29+30 1 = 0.1A
48
  unsigned int  InputVoltage;   // 66  = 6,6V
89
  unsigned int  InputVoltage;   // 31+32 66  = 6,6V
-
 
90
  unsigned int  Capacity;               // 33+34 1  = 10mAh
-
 
91
  unsigned int  Speed;                  // 35+36
49
  unsigned int  Capacity;               // 1  = 10mAh
92
  unsigned char LowestCellVoltage;      // 37
-
 
93
  unsigned char LowestCellNumber;       // 38
50
  unsigned char NullByte1;      // 0x00
94
  unsigned int  Rpm2;                           // 39+40
-
 
95
  unsigned char ErrorNumber;            // 41
-
 
96
  unsigned char Pressure;           // 42  in 0,1bar 20=2,0bar
51
  unsigned char NullByte2;      // 0x00
97
  unsigned char Version;            // 43
52
  unsigned char EndByte;                // 0x7D
98
  unsigned char EndByte;                // 0x7D
Line 53... Line 99...
53
} HoTTGeneral_t;
99
} HoTTGeneral_t;
54
 
100
 
55
typedef struct
101
typedef struct
56
{
102
{
57
  unsigned char StartByte;      // 0x7C
103
  unsigned char StartByte;      // 0x7C
-
 
104
  unsigned char Packet_ID;      // HOTT_ELECTRIC_AIR_PACKET_ID  
-
 
105
  unsigned char WarnBeep;       // Anzahl der Töne 0..36
-
 
106
  unsigned char SensorID;       // 4 0xE0
58
  unsigned char Packet_ID;      // HOTT_ELECTRIC_AIR_PACKET_ID  
107
  unsigned char InverseStatus1; // 5  
59
  unsigned char WarnBeep;       // Anzahl der Töne 0..36
108
  unsigned char InverseStatus2; // 6
60
  unsigned char VoltageCell1;   // 208 = 4,16V  (Voltage * 50 = Wert)
109
  unsigned char VoltageCell1;   // 7 208 = 4,16V  (Voltage * 50 = Wert)
61
  unsigned char VoltageCell2;   // 209 = 4,18V
110
  unsigned char VoltageCell2;   // 209 = 4,18V
62
  unsigned char VoltageCell3;   // 
111
  unsigned char VoltageCell3;   // 
63
  unsigned char VoltageCell4;   // 
112
  unsigned char VoltageCell4;   // 
Line 68... Line 117...
68
  unsigned char VoltageCell9;   // 
117
  unsigned char VoltageCell9;   // 
69
  unsigned char VoltageCell10;  // 
118
  unsigned char VoltageCell10;  // 
70
  unsigned char VoltageCell11;  // 
119
  unsigned char VoltageCell11;  // 
71
  unsigned char VoltageCell12;  // 
120
  unsigned char VoltageCell12;  // 
72
  unsigned char VoltageCell13;  // 
121
  unsigned char VoltageCell13;  // 
73
  unsigned char VoltageCell14;  // 
122
  unsigned char VoltageCell14;  // 20 
74
  unsigned int  Battery1;               // 51  = 5,1V
123
  unsigned int  Battery1;               // 21+22 51  = 5,1V
75
  unsigned int  Battery2;               // 51  = 5,1V
124
  unsigned int  Battery2;               // 23+24 51  = 5,1V
76
  unsigned char Temperature1;   // 44 = 24°C, 0 = -20°C
125
  unsigned char Temperature1;   // 25 44 = 24°C, 0 = -20°C
77
  unsigned char Temperature2;   // 44 = 24°C, 0 = -20°C
126
  unsigned char Temperature2;   // 26 44 = 24°C, 0 = -20°C
78
    signed int  Altitude;      
127
    signed int  Altitude;               // 27+28
79
  unsigned int  Current;                // 1 = 0.1A
128
  unsigned int  Current;                // 29+30 1 = 0.1A
80
  unsigned int  InputVoltage;   // 66  = 6,6V
129
  unsigned int  InputVoltage;   // 31+32 66  = 6,6V
81
  unsigned int  Capacity;               // 1  = 10mAh
130
  unsigned int  Capacity;               // 33+34 1  = 10mAh
82
  unsigned int  m_sec;              // 30000 = 0
131
  unsigned int  m_sec;              // 35+36 30000 = 0
83
  unsigned int  m_3sec;             // 120 = 0
132
  unsigned char m_3sec;             // 37 120 = 0
-
 
133
  unsigned int  Rpm;                    // 38+39
84
  unsigned char NullByte1;      // 0x00
134
  unsigned char FlightTimeMinutes; // 40
-
 
135
  unsigned char FlightTimeSeconds; // 41
-
 
136
  unsigned char Speed;                  // 42  1=2km 
85
  unsigned char NullByte2;      // 0x00
137
  unsigned char Version;                // 43 0x00
86
  unsigned char EndByte;                // 0x7D
138
  unsigned char EndByte;                // 0x7D
87
} ElectricAirPacket_t;
139
} ElectricAirPacket_t;
Line 88... Line 140...
88
 
140
 
89
 
141
 
90
typedef struct
142
typedef struct
91
{
143
{
92
  unsigned char StartByte;      // 0x7C
144
  unsigned char StartByte;      // 0x7C
-
 
145
  unsigned char Packet_ID;      // 0x89  - Vario ID 
-
 
146
  unsigned char WarnBeep;   //3         // Anzahl der Töne 0..36
93
  unsigned char Packet_ID;      // 0x89  - Vario ID 
147
  unsigned char SensorID;        // 0x90
94
  unsigned char WarnBeep;       // Anzahl der Töne 0..36
148
  unsigned char InverseStatus;  
95
    signed int Altitude;            // 500 = 0m
149
    signed int Altitude;        //6+7    // 500 = 0m
96
    signed int MaxAltitude;         // 500 = 0m
150
    signed int MaxAltitude;     //8+9    // 500 = 0m
97
    signed int MinAltitude;         // 500 = 0m
151
        signed int MinAltitude; //10+11   // 500 = 0m
98
  unsigned int m_sec;               // 30000 = 0
152
  unsigned int m_sec;           //12+13    // 3000 = 0
-
 
153
  unsigned int  m_3sec;         //14+15    
-
 
154
  unsigned int  m_10sec;        //26+17
99
  unsigned int m_3sec;              // 30000 = 0
155
  char              Text[21];   //18-38
-
 
156
  char              FreeCharacters[3]; // 39-41
100
  unsigned int m_10sec;         // 
157
  unsigned char NullByte;   // 42 0x00
101
  unsigned char NullByte;       // 0x00
158
  unsigned char Version;        // 43
Line 102... Line 159...
102
  unsigned char EndByte;                // 0x7D
159
  unsigned char EndByte;        // 0x7D
103
} VarioPacket_t;
160
} VarioPacket_t;
104
 
161
 
105
typedef struct
162
typedef struct
106
{
163
{
-
 
164
  unsigned char StartByte;  //0         // 0x7C
-
 
165
  unsigned char Packet_ID;  //1         // 0x8A  - GPS ID 
-
 
166
  unsigned char WarnBeep;   //2         // Anzahl der Töne 0..36
107
  unsigned char StartByte;  //0         // 0x7C
167
  unsigned char SensorID;       // 4 0xA0
108
  unsigned char Packet_ID;  //1         // 0x89  - Vario ID 
168
  unsigned char InverseStatus1; // 5  
109
  unsigned char WarnBeep;   //2         // Anzahl der Töne 0..36
169
  unsigned char InverseStatus2; // 6
110
  unsigned char Heading;        //3     // 1 = 2°
170
  unsigned char Heading;        //7     // 1 = 2°
111
  unsigned int Speed;           //4+5   // in km/h
171
  unsigned int Speed;           //8+9   // in km/h
112
  unsigned char Lat_North;      //6    
172
  unsigned char Lat_North;      //10    
113
  unsigned char Lat_G;      //7
173
  unsigned char Lat_G;      //11
114
  unsigned char Lat_M;      //8
174
  unsigned char Lat_M;      //12
115
  unsigned char Lat_Sek1;       //9    
175
  unsigned char Lat_Sek1;       //13    
116
  unsigned char Lat_Sek2;       //10    
176
  unsigned char Lat_Sek2;       //14    
117
  unsigned char Lon_East;       //11    
177
  unsigned char Lon_East;       //15    
118
  unsigned char Lon_G;      //12
178
  unsigned char Lon_G;      //16
119
  unsigned char Lon_M;      //13
179
  unsigned char Lon_M;      //17
120
  unsigned char Lon_Sek1;       //14    
180
  unsigned char Lon_Sek1;       //18    
121
  unsigned char Lon_Sek2;       //15    
181
  unsigned char Lon_Sek2;       //19    
122
  unsigned int Distance;        //16+17    // 9000 = 0m
182
  unsigned int Distance;        //20+21    // 9000 = 0m
-
 
183
    signed int Altitude;        //22+23    // 500 = 0m
-
 
184
  unsigned int m_sec;           //24+25    // 3000 = 0
-
 
185
  unsigned char m_3sec;         //26 120 = 0
123
    signed int Altitude;        //18+19    // 500 = 0m
186
  unsigned char NumOfSats;      //27
-
 
187
  unsigned char SatFix;     //28
-
 
188
  unsigned char HomeDirection; // 29
-
 
189
  unsigned char AngleX;           // 30 
-
 
190
  unsigned char AngleY;       // 31
-
 
191
  unsigned char AngleZ;       // 32
124
  unsigned int m_sec;           //20+21    // 3000 = 0
192
    signed int GyroX;         //33+34
-
 
193
    signed int GyroY;         //35+36
125
  unsigned int  m_3sec;         // 120 = 0
194
    signed int GyroZ;         //37+38
126
  unsigned int  m_10sec;                // 
195
  unsigned char Vibration;    // 39
127
  unsigned char NullByte;       // 0x00
196
  char              FreeCharacters[3]; // 40-42
Line 128... Line 197...
128
  unsigned char NullByte1;      // 0x00
197
  unsigned char Version;        // 43
129
  unsigned char EndByte;                // 0x7D
198
  unsigned char EndByte;                // 0x7D