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