Subversion Repositories FlightCtrl

Rev

Rev 2178 | Rev 2186 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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