Rev 1943 | Rev 1948 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1943 | Rev 1944 | ||
---|---|---|---|
Line 24... | Line 24... | ||
24 | GPSPacket_t GPSPacket; |
24 | GPSPacket_t GPSPacket; |
25 | VarioPacket_t VarioPacket; |
25 | VarioPacket_t VarioPacket; |
26 | ASCIIPacket_t ASCIIPacket; |
26 | ASCIIPacket_t ASCIIPacket; |
27 | ElectricAirPacket_t ElectricAirPacket; |
27 | ElectricAirPacket_t ElectricAirPacket; |
28 | HoTTGeneral_t HoTTGeneral; |
28 | HoTTGeneral_t HoTTGeneral; |
- | 29 | int HoTTVarioMeter = 0; |
|
Line 29... | Line 30... | ||
29 | 30 | ||
30 | const char PROGMEM NC_ERROR_TEXT[MAX_ERR_NUMBER][17] = |
31 | const char PROGMEM NC_ERROR_TEXT[MAX_ERR_NUMBER][17] = |
31 | { |
32 | { |
32 | //0123456789123456 |
33 | //0123456789123456 |
Line 49... | Line 50... | ||
49 | "Pressure sensor \0", // 16 |
50 | "Pressure sensor \0", // 16 |
50 | "I2C FC->BL-Ctrl \0", // 17 |
51 | "I2C FC->BL-Ctrl \0", // 17 |
51 | "Bl Missing \0", // 18 |
52 | "Bl Missing \0", // 18 |
52 | "Mixer Error \0", // 19 |
53 | "Mixer Error \0", // 19 |
53 | "Carefree Error \0", // 20 |
54 | "Carefree Error \0", // 20 |
54 | "GPS Fix lost \0" // 21 |
55 | "GPS Fix lost \0", // 21 |
- | 56 | "Magnet Error \0" // 22 |
|
55 | }; |
57 | }; |
Line 56... | Line 58... | ||
56 | 58 | ||
57 | unsigned char MaxBlTempertaure = 0; |
59 | unsigned char MaxBlTempertaure = 0; |
58 | unsigned char MinBlTempertaure = 0; |
60 | unsigned char MinBlTempertaure = 0; |
Line 124... | Line 126... | ||
124 | } |
126 | } |
125 | } |
127 | } |
Line 126... | Line 128... | ||
126 | 128 | ||
127 | unsigned int BuildHoTT_Vario(void) |
129 | unsigned int BuildHoTT_Vario(void) |
128 | { |
130 | { |
129 | unsigned int tmp; |
131 | unsigned int tmp = 30000; |
130 | if(WaypointTrimming == 0) |
132 | if(VarioCharacter == '+' || VarioCharacter == '-') |
131 | { |
133 | { |
132 | tmp = 30000 + (AltitudeSetpointTrimming * EE_Parameter.Hoehe_Verstaerkung) / 3; |
134 | tmp = 30000 + (AltitudeSetpointTrimming * EE_Parameter.Hoehe_Verstaerkung) / 3; |
133 | if(tmp < 30000 && tmp > 30000 - 50) tmp = 30000 - 50; // weil es erst bei < 0,5m/sek piept |
135 | if(tmp < 30000 && tmp > 30000 - 50) tmp = 30000 - 50; // weil es sonst erst bei < 0,5m/sek piept |
134 | } |
136 | } |
135 | else |
137 | else |
- | 138 | if((VarioCharacter == ' ') && (FC_StatusFlags & FC_STATUS_FLY)) |
|
- | 139 | { |
|
- | 140 | tmp = 30000 + HoTTVarioMeter; |
|
- | 141 | if(tmp > 30000) |
|
- | 142 | { |
|
- | 143 | if(tmp < 30000 + 100) tmp = 30000; |
|
- | 144 | else tmp -= 100; |
|
- | 145 | } |
|
- | 146 | if(tmp < 30000) |
|
- | 147 | { |
|
- | 148 | if(tmp > 30000 - 100) tmp = 30000; |
|
- | 149 | else tmp += 100; |
|
- | 150 | } |
|
- | 151 | } |
|
136 | if(WaypointTrimming > 0) tmp = 30000 + FromNC_AltitudeSpeed * 10; |
152 | else |
- | 153 | if(VarioCharacter == '^') tmp = 30000 + FromNC_AltitudeSpeed * 10; |
|
137 | else tmp = 30000 - FromNC_AltitudeSpeed * 10; |
154 | else |
- | 155 | if(VarioCharacter == 'v') tmp = 30000 - FromNC_AltitudeSpeed * 10; |
|
138 | //tmp = 30000 + (int)(PPM_in[EE_Parameter.Kanalbelegung[K_GAS]]) * 5; |
156 | |
139 | return(tmp); |
157 | return(tmp); |
Line 140... | Line 158... | ||
140 | } |
158 | } |
Line 174... | Line 192... | ||
174 | ElectricAirPacket.Altitude = HoehenWert/100 + 500; |
192 | ElectricAirPacket.Altitude = HoehenWert/100 + 500; |
175 | ElectricAirPacket.Battery1 = UBat; |
193 | ElectricAirPacket.Battery1 = UBat; |
176 | ElectricAirPacket.Battery2 = UBat; |
194 | ElectricAirPacket.Battery2 = UBat; |
177 | ElectricAirPacket.VoltageCell1 = ErsatzKompassInGrad / 2; |
195 | ElectricAirPacket.VoltageCell1 = ErsatzKompassInGrad / 2; |
178 | ElectricAirPacket.VoltageCell8 = ElectricAirPacket.VoltageCell1; |
196 | ElectricAirPacket.VoltageCell8 = ElectricAirPacket.VoltageCell1; |
- | 197 | ElectricAirPacket.VoltageCell6 = GPSInfo.HomeBearing / 2; |
|
179 | ElectricAirPacket.VoltageCell7 = GPSInfo.HomeDistance/20; |
198 | ElectricAirPacket.VoltageCell7 = GPSInfo.HomeDistance/20; |
- | 199 | ElectricAirPacket.VoltageCell13 = ElectricAirPacket.VoltageCell6; |
|
180 | ElectricAirPacket.VoltageCell14 = ElectricAirPacket.VoltageCell7; |
200 | ElectricAirPacket.VoltageCell14 = ElectricAirPacket.VoltageCell7; |
181 | ElectricAirPacket.m_sec = BuildHoTT_Vario(); |
201 | ElectricAirPacket.m_sec = BuildHoTT_Vario(); |
182 | ElectricAirPacket.m_3sec = 120; |
202 | ElectricAirPacket.m_3sec = 120; |
183 | ElectricAirPacket.InputVoltage = UBat; |
203 | ElectricAirPacket.InputVoltage = UBat; |
184 | ElectricAirPacket.Temperature1 = MinBlTempertaure + 20; |
204 | ElectricAirPacket.Temperature1 = MinBlTempertaure + 20; |
Line 191... | Line 211... | ||
191 | break; |
211 | break; |
192 | case HOTT_GENERAL_PACKET_ID: |
212 | case HOTT_GENERAL_PACKET_ID: |
193 | GetHottestBl(); |
213 | GetHottestBl(); |
194 | HoTTGeneral.Rpm = GPSInfo.HomeDistance/100; |
214 | HoTTGeneral.Rpm = GPSInfo.HomeDistance/100; |
195 | HoTTGeneral.VoltageCell1 = ErsatzKompassInGrad / 2; |
215 | HoTTGeneral.VoltageCell1 = ErsatzKompassInGrad / 2; |
196 | HoTTGeneral.VoltageCell5 = GPSInfo.HomeDistance/20; |
216 | HoTTGeneral.VoltageCell6 = GPSInfo.HomeBearing / 2; |
197 | if(UBat > BattLowVoltageWarning + 5) HoTTGeneral.FuelPercent = (UBat - (BattLowVoltageWarning + 6)) * 3; |
217 | if(UBat > BattLowVoltageWarning + 5) HoTTGeneral.FuelPercent = (UBat - (BattLowVoltageWarning + 6)) * 3; |
198 | else HoTTGeneral.FuelPercent = 0; |
218 | else HoTTGeneral.FuelPercent = 0; |
199 | HoTTGeneral.FuelCapacity = HoehenWert/100; ; |
219 | HoTTGeneral.FuelCapacity = HoehenWert/100; |
- | 220 | if(HoTTGeneral.FuelCapacity < 0) HoTTGeneral.FuelCapacity = 0; |
|
200 | HoTTGeneral.Altitude = HoehenWert/100 + 500; |
221 | HoTTGeneral.Altitude = HoehenWert/100 + 500; |
201 | HoTTGeneral.Battery1 = UBat; |
222 | HoTTGeneral.Battery1 = UBat; |
202 | HoTTGeneral.Battery2 = UBat; |
223 | HoTTGeneral.Battery2 = UBat; |
203 | HoTTGeneral.m_sec = BuildHoTT_Vario(); |
224 | HoTTGeneral.m_sec = BuildHoTT_Vario(); |
204 | HoTTGeneral.m_3sec = 120; |
225 | HoTTGeneral.m_3sec = 120; |
Line 218... | Line 239... | ||
218 | //--------------------------------------------------------------- |
239 | //--------------------------------------------------------------- |
219 | void HoTT_Menu(void) |
240 | void HoTT_Menu(void) |
220 | { |
241 | { |
221 | static unsigned char line, page = 0; |
242 | static unsigned char line, page = 0; |
222 | unsigned char tmp; |
243 | unsigned char tmp; |
- | 244 | HoTTVarioMeter = (HoTTVarioMeter * 7 + VarioMeter) / 8; |
|
- | 245 | ||
223 | if(page == 0) |
246 | if(page == 0) |
224 | switch(line++) |
247 | switch(line++) |
225 | { |
248 | { |
226 | case 0: |
249 | case 0: |
227 | if(FC_StatusFlags & FC_STATUS_LOWBAT) |
250 | if(FC_StatusFlags & FC_STATUS_LOWBAT) |
Line 272... | Line 295... | ||
272 | HoTT_printfxy_BLINK(7,4,"!!"); |
295 | HoTT_printfxy_BLINK(7,4,"!!"); |
273 | break; |
296 | break; |
274 | } |
297 | } |
275 | } |
298 | } |
276 | else |
299 | else |
277 | { //012345678901234567890 |
300 | { |
278 | Hott_ClearLine(4); |
301 | Hott_ClearLine(4); |
279 | } |
302 | } |
280 | break; |
303 | break; |
281 | case 5: |
304 | case 5: |
282 | if(NaviDataOkay) |
305 | if(NaviDataOkay) |
Line 286... | Line 309... | ||
286 | HoTT_printfxy(12,5,"HM:%3d%c %c", GPSInfo.HomeBearing, HoTT_GRAD, NC_GPS_ModeCharacter); |
309 | HoTT_printfxy(12,5,"HM:%3d%c %c", GPSInfo.HomeBearing, HoTT_GRAD, NC_GPS_ModeCharacter); |
287 | } |
310 | } |
288 | else Hott_ClearLine(5); |
311 | else Hott_ClearLine(5); |
289 | break; |
312 | break; |
290 | case 6: |
313 | case 6: |
291 | /* |
- | |
292 | if(RequiredMotors == 4) Hott_ClearLine(6); |
- | |
293 | else |
- | |
294 | if(RequiredMotors == 6) HoTT_printfxy(0,6,"%3i %3i%cC ", Motor[4].Temperature, Motor[5].Temperature,HoTT_GRAD) |
- | |
295 | else |
- | |
296 | if(RequiredMotors > 6) HoTT_printfxy(0,6,"%3i %3i %3i %3i%cC", Motor[4].Temperature, Motor[5].Temperature, Motor[6].Temperature, Motor[7].Temperature,HoTT_GRAD); |
- | |
297 | //HoTT_printfxy(15,6,"%KEY:%02x",HottKeyboard); |
- | |
298 | */ |
- | |
299 | break; |
314 | break; |
300 | case 7: if(NC_ErrorCode) |
315 | case 7: if(NC_ErrorCode) |
301 | { |
316 | { |
302 | if(HoTTBlink && NC_ErrorCode < MAX_ERR_NUMBER) |
317 | if(HoTTBlink && NC_ErrorCode < MAX_ERR_NUMBER) |
303 | { |
318 | { |