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 |