Rev 2263 | Rev 2342 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2263 | Rev 2322 | ||
---|---|---|---|
Line 77... | Line 77... | ||
77 | #define HOTT_KEY_DOWN 2 |
77 | #define HOTT_KEY_DOWN 2 |
78 | #define HOTT_KEY_UP 4 |
78 | #define HOTT_KEY_UP 4 |
79 | #define HOTT_KEY_SET 6 |
79 | #define HOTT_KEY_SET 6 |
80 | #define HOTT_KEY_LEFT 8 |
80 | #define HOTT_KEY_LEFT 8 |
Line -... | Line 81... | ||
- | 81 | ||
81 | 82 | #define VARIO_ZERO 30000 |
|
82 | unsigned char NaviData_WaypointIndex = 0, NaviData_WaypointNumber = 0, NaviData_TargetHoldTime = 0; |
83 | unsigned char NaviData_WaypointIndex = 0, NaviData_WaypointNumber = 0, NaviData_TargetHoldTime = 0; |
Line 83... | Line 84... | ||
83 | unsigned int NaviData_TargetDistance = 0; |
84 | unsigned int NaviData_TargetDistance = 0; |
84 | 85 | ||
Line 274... | Line 275... | ||
274 | } |
275 | } |
275 | } |
276 | } |
Line 276... | Line 277... | ||
276 | 277 | ||
277 | unsigned int BuildHoTT_Vario(void) |
278 | unsigned int BuildHoTT_Vario(void) |
278 | { |
279 | { |
279 | unsigned int tmp = 30000; |
280 | unsigned int tmp = VARIO_ZERO; |
280 | if(VarioCharacter == '+' || VarioCharacter == '-') |
281 | if(VarioCharacter == '+' || VarioCharacter == '-') |
281 | { |
282 | { |
282 | tmp = 30000 + (AltitudeSetpointTrimming * EE_Parameter.Hoehe_Verstaerkung) / 3; |
283 | tmp = VARIO_ZERO + (AltitudeSetpointTrimming * EE_Parameter.Hoehe_Verstaerkung) / 3; |
283 | if(tmp < 30000 && tmp > 30000 - 50) tmp = 30000 - 50; // weil es sonst erst bei < 0,5m/sek piept |
284 | if(tmp < VARIO_ZERO && tmp > VARIO_ZERO - 50) tmp = VARIO_ZERO - 50; // weil es sonst erst bei < 0,5m/sek piept |
284 | } |
285 | } |
285 | else |
286 | else |
286 | if((VarioCharacter == ' ') && (FC_StatusFlags & FC_STATUS_FLY)) |
287 | if((VarioCharacter == ' ') && (FC_StatusFlags & FC_STATUS_FLY)) |
287 | { |
288 | { |
288 | tmp = 30000 + HoTTVarioMeter; |
289 | tmp = VARIO_ZERO + HoTTVarioMeter; |
289 | if(tmp > 30000) |
290 | if(tmp > VARIO_ZERO) |
290 | { |
291 | { |
291 | if(tmp < 30000 + 100) tmp = 30000; |
292 | if(tmp < VARIO_ZERO + 100) tmp = VARIO_ZERO; |
292 | else tmp -= 100; |
293 | else tmp -= 100; |
293 | } |
294 | } |
294 | if(tmp < 30000) |
295 | if(tmp < VARIO_ZERO) |
295 | { |
296 | { |
296 | if(tmp > 30000 - 100) tmp = 30000; |
297 | if(tmp > VARIO_ZERO - 100) tmp = VARIO_ZERO; |
297 | else tmp += 100; |
298 | else tmp += 100; |
298 | } |
299 | } |
299 | } |
300 | } |
300 | else |
301 | else |
301 | if(VarioCharacter == '^') tmp = 30000 + FromNC_AltitudeSpeed * 10; |
302 | if(VarioCharacter == '^') tmp = VARIO_ZERO + FromNC_AltitudeSpeed * 10; |
302 | else |
303 | else |
303 | if(VarioCharacter == 'v') tmp = 30000 - FromNC_AltitudeSpeed * 10; |
- | |
304 | 304 | if(VarioCharacter == 'v') tmp = VARIO_ZERO - FromNC_AltitudeSpeed * 10; |
|
305 | return(tmp); |
305 | return(tmp); |
Line 306... | Line 306... | ||
306 | } |
306 | } |
307 | 307 | ||
308 | //--------------------------------------------------------------- |
308 | //--------------------------------------------------------------- |
309 | unsigned char HoTT_Telemety(unsigned char packet_request) |
309 | unsigned char HoTT_Telemety(unsigned char packet_request) |
310 | { |
310 | { |
311 | unsigned char i; |
- | |
312 | //Debug("rqst: %02X",packet_request); |
311 | unsigned char i; |
313 | 312 | //Debug("rqst: %02X",packet_request); |
|
314 | switch(packet_request) |
313 | switch(packet_request) |
- | 314 | { |
|
315 | { |
315 | case HOTT_VARIO_PACKET_ID: |
316 | case HOTT_VARIO_PACKET_ID: |
316 | GPSPacket.WarnBeep = HoTT_Waring(); // Achtung: das ist richtig hier, damit der Varioton schon vorher abgestellt wird |
317 | VarioPacket.Altitude = HoehenWert/100 + 500; |
317 | VarioPacket.Altitude = HoehenWert/100 + 500; |
318 | VarioPacket.m_sec = BuildHoTT_Vario(); |
318 | if(!GPSPacket.WarnBeep) VarioPacket.m_sec = BuildHoTT_Vario(); else VarioPacket.m_sec = VARIO_ZERO; |
319 | VarioPacket.m_3sec = VarioPacket.m_sec; |
319 | VarioPacket.m_3sec = VarioPacket.m_sec; |
320 | VarioPacket.m_10sec = VarioPacket.m_sec; |
320 | VarioPacket.m_10sec = VarioPacket.m_sec; |
321 | if (VarioPacket.Altitude < VarioPacket.MinAltitude) VarioPacket.MinAltitude = VarioPacket.Altitude; |
321 | if (VarioPacket.Altitude < VarioPacket.MinAltitude) VarioPacket.MinAltitude = VarioPacket.Altitude; |
Line 365... | Line 365... | ||
365 | //unsigned char NaviData_WaypointIndex = 0, NaviData_WaypointNumber = 0, NaviData_TargetHoldTime = 0; |
365 | //unsigned char NaviData_WaypointIndex = 0, NaviData_WaypointNumber = 0, NaviData_TargetHoldTime = 0; |
366 | //unsigned int NaviData_TargetDistance = 0; |
366 | //unsigned int NaviData_TargetDistance = 0; |
367 | } |
367 | } |
368 | else |
368 | else |
369 | for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&MIKROKOPTER[i]); // no Error |
369 | for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&MIKROKOPTER[i]); // no Error |
370 | - | ||
371 | return(sizeof(VarioPacket)); |
370 | return(sizeof(VarioPacket)); |
372 | break; |
371 | break; |
Line 373... | Line 372... | ||
373 | 372 | ||
374 | case HOTT_GPS_PACKET_ID: |
373 | case HOTT_GPS_PACKET_ID: |
375 | GPSPacket.Altitude = HoehenWert/100 + 500; |
374 | GPSPacket.Altitude = HoehenWert/100 + 500; |
376 | // GPSPacket.Distance = GPSInfo.HomeDistance/10; // macht die NC |
375 | // GPSPacket.Distance = GPSInfo.HomeDistance/10; // macht die NC |
377 | // GPSPacket.Heading = GPSInfo.HomeBearing/2; // macht die NC |
376 | // GPSPacket.Heading = GPSInfo.HomeBearing/2; // macht die NC |
- | 377 | // GPSPacket.Speed = (GPSInfo.Speed * 36) / 10; // macht die NC |
|
378 | // GPSPacket.Speed = (GPSInfo.Speed * 36) / 10; // macht die NC |
378 | // GPSPacket.WarnBeep = HoTT_Waring(); //(wird jetzt weiter oben gemacht) |
379 | GPSPacket.m_sec = BuildHoTT_Vario(); |
379 | if(!GPSPacket.WarnBeep) GPSPacket.m_sec = BuildHoTT_Vario(); else GPSPacket.m_sec = VARIO_ZERO; |
380 | GPSPacket.m_3sec = 120; |
380 | GPSPacket.m_3sec = 120; |
381 | GPSPacket.NumOfSats = GPSInfo.NumOfSats; |
- | |
382 | GPSPacket.WarnBeep = HoTT_Waring(); |
381 | GPSPacket.NumOfSats = GPSInfo.NumOfSats; |
383 | if(GPSInfo.Flags & FLAG_DIFFSOLN) GPSPacket.SatFix = 'D'; |
382 | if(GPSInfo.Flags & FLAG_DIFFSOLN) GPSPacket.SatFix = 'D'; |
384 | else |
383 | else |
385 | if(GPSInfo.SatFix == SATFIX_3D) GPSPacket.SatFix = ' '; |
384 | if(GPSInfo.SatFix == SATFIX_3D) GPSPacket.SatFix = ' '; |
386 | else GPSPacket.SatFix = '!'; |
385 | else GPSPacket.SatFix = '!'; |
Line 399... | Line 398... | ||
399 | ElectricAirPacket.VoltageCell8 = ElectricAirPacket.VoltageCell1; |
398 | ElectricAirPacket.VoltageCell8 = ElectricAirPacket.VoltageCell1; |
400 | ElectricAirPacket.VoltageCell6 = GPSInfo.HomeBearing / 2; |
399 | ElectricAirPacket.VoltageCell6 = GPSInfo.HomeBearing / 2; |
401 | ElectricAirPacket.VoltageCell7 = GPSInfo.HomeDistance/20; |
400 | ElectricAirPacket.VoltageCell7 = GPSInfo.HomeDistance/20; |
402 | ElectricAirPacket.VoltageCell13 = ElectricAirPacket.VoltageCell6; |
401 | ElectricAirPacket.VoltageCell13 = ElectricAirPacket.VoltageCell6; |
403 | ElectricAirPacket.VoltageCell14 = ElectricAirPacket.VoltageCell7; |
402 | ElectricAirPacket.VoltageCell14 = ElectricAirPacket.VoltageCell7; |
404 | ElectricAirPacket.m_sec = BuildHoTT_Vario(); |
403 | if(!GPSPacket.WarnBeep) ElectricAirPacket.m_sec = BuildHoTT_Vario(); else ElectricAirPacket.m_sec = VARIO_ZERO; |
405 | ElectricAirPacket.m_3sec = 120; |
404 | ElectricAirPacket.m_3sec = 120; |
406 | ElectricAirPacket.InputVoltage = UBat; |
405 | ElectricAirPacket.InputVoltage = UBat; |
407 | ElectricAirPacket.Temperature1 = MinBlTempertaure + 20; |
406 | ElectricAirPacket.Temperature1 = MinBlTempertaure + 20; |
408 | ElectricAirPacket.Temperature2 = MaxBlTempertaure + 20; |
407 | ElectricAirPacket.Temperature2 = MaxBlTempertaure + 20; |
409 | ElectricAirPacket.Capacity = Capacity.UsedCapacity/10; |
408 | ElectricAirPacket.Capacity = Capacity.UsedCapacity/10; |
Line 424... | Line 423... | ||
424 | HoTTGeneral.FuelCapacity = HoehenWert/100; |
423 | HoTTGeneral.FuelCapacity = HoehenWert/100; |
425 | if(HoTTGeneral.FuelCapacity < 0) HoTTGeneral.FuelCapacity = 0; |
424 | if(HoTTGeneral.FuelCapacity < 0) HoTTGeneral.FuelCapacity = 0; |
426 | HoTTGeneral.Altitude = HoehenWert/100 + 500; |
425 | HoTTGeneral.Altitude = HoehenWert/100 + 500; |
427 | HoTTGeneral.Battery1 = UBat; |
426 | HoTTGeneral.Battery1 = UBat; |
428 | HoTTGeneral.Battery2 = UBat; |
427 | HoTTGeneral.Battery2 = UBat; |
429 | HoTTGeneral.m_sec = BuildHoTT_Vario(); |
428 | if(!GPSPacket.WarnBeep) HoTTGeneral.m_sec = BuildHoTT_Vario(); else HoTTGeneral.m_sec = VARIO_ZERO; |
430 | HoTTGeneral.m_3sec = 120; |
429 | HoTTGeneral.m_3sec = 120; |
431 | HoTTGeneral.InputVoltage = UBat; |
430 | HoTTGeneral.InputVoltage = UBat; |
432 | HoTTGeneral.Temperature1 = MinBlTempertaure + 20; |
431 | HoTTGeneral.Temperature1 = MinBlTempertaure + 20; |
433 | HoTTGeneral.Temperature2 = MaxBlTempertaure + 20; |
432 | HoTTGeneral.Temperature2 = MaxBlTempertaure + 20; |
434 | HoTTGeneral.Capacity = Capacity.UsedCapacity/10; |
433 | HoTTGeneral.Capacity = Capacity.UsedCapacity/10; |