8,6 → 8,8 |
#define HoTT_printfxy(x,y,format, args...) { LIBFC_HoTT_SetPos(y * 21 + x); _printf_P(&LIBFC_HoTT_Putchar, PSTR(format) , ## args);} |
#define HoTT_printfxy_INV(x,y,format, args...) { LIBFC_HoTT_SetPos(y * 21 + x); _printf_P(&LIBFC_HoTT_Putchar_INV, PSTR(format) , ## args);} |
#define HoTT_printfxy_BLINK(x,y,format, args...) { LIBFC_HoTT_SetPos(y * 21 + x); _printf_P(&LIBFC_HoTT_Putchar_BLINK, PSTR(format) , ## args);} |
#define HoTT_printf_BLINK(format, args...) { _printf_P(&LIBFC_HoTT_Putchar_BLINK, PSTR(format) , ## args);} |
#define HoTT_printf_INV(format, args...) { _printf_P(&LIBFC_HoTT_Putchar_INV, PSTR(format) , ## args);} |
|
#define VOICE_MINIMALE_EINGANSSPANNUNG 16 |
#define VOICE_BEEP 5 |
38,7 → 40,7 |
switch(packet_request) |
{ |
case HOTT_VARIO_PACKET_ID: |
VarioPacket.Altitude = HoehenWert + 500; |
VarioPacket.Altitude = HoehenWert/100 + 500; |
if (VarioPacket.Altitude < VarioPacket.MinAltitude) VarioPacket.MinAltitude = VarioPacket.Altitude; |
if (VarioPacket.Altitude > VarioPacket.MaxAltitude) VarioPacket.MaxAltitude = VarioPacket.Altitude; |
VarioPacket.WarnBeep = HoTT_Waring(); |
45,19 → 47,23 |
HoTT_DataPointer = (unsigned char *) &VarioPacket; |
return(sizeof(VarioPacket)); |
break; |
|
case HOTT_GPS_PACKET_ID: |
GPSPacket.Altitude = HoehenWert + 500 + 30; |
GPSPacket.Hoehe = GPSPacket.Altitude; |
GPSPacket.Altitude = HoehenWert/100 + 500; |
GPSPacket.Distance = GPSInfo.HomeDistance/10; |
GPSPacket.Heading++; |
GPSPacket.Heading = KompassValue/2; |
GPSPacket.Speed = (GPSInfo.Speed * 36) / 10; |
GPSPacket.m_sec = GPSInfo.Speed+120; |
GPSPacket.m_3sec = 120; |
GPSPacket.m_10sec = 0; |
GPSPacket.WarnBeep = HoTT_Waring(); |
HoTT_DataPointer = (unsigned char *) &GPSPacket; |
return(sizeof(GPSPacket)); |
break; |
case HOTT_ELECTRIC_AIR_PACKET_ID: |
ElectricAirPacket.Altitude++; |
ElectricAirPacket.Battery1++; |
ElectricAirPacket.Capacity++; |
ElectricAirPacket.Altitude = HoehenWert/1000 + 500; ; |
ElectricAirPacket.Battery1 = UBat; |
ElectricAirPacket.Capacity = Capacity.UsedCapacity; |
ElectricAirPacket.WarnBeep = HoTT_Waring(); |
HoTT_DataPointer = (unsigned char *) &ElectricAirPacket; |
return(sizeof(ElectricAirPacket)); |
69,8 → 75,10 |
//--------------------------------------------------------------- |
void HoTT_Menu(void) |
{ |
static unsigned char what; |
switch(what++) |
static unsigned char what, page = 0; |
unsigned char tmp; |
if(page == 0) |
switch(what++) |
{ |
case 0: |
HoTT_printfxy(0,0,"%2i.%1iV ",UBat/10, UBat%10); |
78,7 → 86,7 |
HoTT_printfxy(6,0,"%4imAh %2i:%02i ",Capacity.UsedCapacity,FlugSekunden/60,FlugSekunden%60); |
break; |
case 1: |
HoTT_printfxy(0,1,"DIR:%3d%c",(int)(ErsatzKompass / GIER_GRAD_FAKTOR), HoTT_GRAD); |
HoTT_printfxy(0,1,"DIR:%3d%c",KompassValue, HoTT_GRAD); |
if(Parameter_GlobalConfig & CFG_HOEHENREGELUNG) |
{ |
if(HoehenReglerAktiv) HoTT_printfxy_INV(10,1,"ALT:%4im", (int16_t)(HoehenWert/100)) |
136,7 → 144,6 |
if(RequiredMotors == 6) HoTT_printfxy(0,6,"%3i %3i%cC ", Motor[4].Temperature, Motor[5].Temperature,HoTT_GRAD) |
else |
if(RequiredMotors > 6) HoTT_printfxy(0,6,"%3i %3i %3i %3i%cC ", Motor[4].Temperature, Motor[5].Temperature, Motor[6].Temperature, Motor[7].Temperature,0x6D); |
//HoTT_printfxy(0,6,"%2x:%c %c %c %c %c %c %c %c ",Parameter_UserParam1,Parameter_UserParam1,Parameter_UserParam1+1,Parameter_UserParam1+2,Parameter_UserParam1+3,Parameter_UserParam1+4,Parameter_UserParam1+5,Parameter_UserParam1+6 ,Parameter_UserParam1+7 ,Parameter_UserParam1+8); |
//HoTT_printfxy(15,6,"%KEY:%02x",HottKeyboard); |
//if(HoTTBlink) HoTT_printfxy_INV(10,6,"BLINK"); |
break; |
145,7 → 152,7 |
break; |
case 8: ASCIIPacket.WarnBeep = HoTT_Waring(); |
// ASCIIPacket.WarnBeep = Parameter_UserParam1; |
case 9: |
case 9: |
case 10: |
case 11: |
case 12: |
153,25 → 160,92 |
case 14: |
case 15: |
case 16: |
break; |
if(HottKeyboard == 1) { LIBFC_HoTT_Clear(); page = 1; what = 0;}; |
HottKeyboard = 0; |
break; |
default: what = 0; |
break; |
} |
else |
if(page == 1) |
switch(what++) |
{ |
case 0: |
HoTT_printfxy_INV(0,0,"Setting:%u %s ",GetActiveParamSet(),EE_Parameter.Name); |
break; |
case 1: HoTT_printfxy(0,1,"Min:%2i.%1iV %s ",BattLowVoltageWarning/10, BattLowVoltageWarning%10, Mixer.Name); |
break; |
case 2: HoTT_printfxy(0,2,"GPS:"); |
if(!(Parameter_GlobalConfig & CFG_GPS_AKTIV)) HoTT_printf("DISABLED") |
else |
{ |
CHK_POTI(tmp,EE_Parameter.NaviGpsModeControl); |
if(tmp < 50) HoTT_printf("(FREE)") |
else |
if(tmp >= 180) HoTT_printf("(HOME)") |
else |
if(EE_Parameter.ExtraConfig & CFG_GPS_AID) HoTT_printf("(AID) ") |
else HoTT_printf("(HOLD)") |
} |
if(EE_Parameter.FailSafeTime) HoTT_printfxy(10,2," FS:%usek ",EE_Parameter.FailSafeTime) |
|
|
/* |
012345678901234567890 |
+++++++++++++++++++++ |
13,8V 1234mAh 12:30 0 |
Dir:180° Alt: 123m + 1 |
GPS: 10Sat DGPS PH CF 2 |
Home: 280° 123m 3 |
I=23A P=123W Max=123 4 |
BL1-4: 11 22 33 44°C 5 |
BL5-8: 55 66 77 88°C 6 |
No Error 7 |
+++++++++++++++++++++ |
*/ |
break; |
case 3: HoTT_printfxy(0,3,"HOME ALT:"); |
if(EE_Parameter.ComingHomeAltitude) HoTT_printf("%um",EE_Parameter.ComingHomeAltitude) else HoTT_printf("HOLD "); |
break; |
case 4: HoTT_printfxy(0,4,"ALT:"); |
if(Parameter_GlobalConfig & CFG_HOEHENREGELUNG) |
{ |
if(!(EE_Parameter.GlobalConfig & CFG_HOEHEN_SCHALTER)) HoTT_printf("POTI:%3u ", Parameter_HoehenSchalter) |
else |
{ |
if(Parameter_HoehenSchalter > 50) HoTT_printf("(ON) ") else HoTT_printf("(OFF) "); |
if((Parameter_ExtraConfig & CFG2_HEIGHT_LIMIT)) HoTT_printf("LIMIT", Parameter_HoehenSchalter) |
else HoTT_printf("VARIO", Parameter_HoehenSchalter); |
} |
} |
else |
HoTT_printf("DISABLED"); |
break; |
case 5: HoTT_printfxy(0,5,"CF:"); |
if(!EE_Parameter.CareFreeModeControl) HoTT_printf("DISABLED") |
else |
{ |
if(CareFree) HoTT_printf(" (ON) ") else HoTT_printf(" (OFF)"); |
if(EE_Parameter.ExtraConfig & CFG_LEARNABLE_CAREFREE) HoTT_printf(" TEACH"); |
} |
break; |
case 6: |
HoTT_printfxy(0,6,"Ni:%4i Ro:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_NICK]],PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]); |
HoTT_printfxy(0,7,"Gs:%4i Gi:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_GAS]]+120,PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]); |
break; |
case 7: //HoTT_printfxy(0,6,"WARNINGS:"); |
if(HoTTBlink) |
{ |
LIBFC_HoTT_SetPos(6 * 21); |
if(!(Parameter_GlobalConfig & CFG_ACHSENKOPPLUNG_AKTIV)) HoTT_printf_BLINK("COUPLING OFF! "); |
if(EE_Parameter.BitConfig & (CFG_LOOP_LINKS | CFG_LOOP_RECHTS | CFG_LOOP_UNTEN | CFG_LOOP_OBEN)) HoTT_printf_BLINK("LOOPING! "); |
if(Parameter_GlobalConfig & CFG_HEADING_HOLD) HoTT_printf_BLINK("HH! "); |
if(!(Parameter_GlobalConfig & CFG_KOMPASS_AKTIV)) HoTT_printf_BLINK("COMPASS OFF! "); |
} |
break; |
case 8: ASCIIPacket.WarnBeep = HoTT_Waring(); |
break; |
case 9: |
case 10: |
case 11: |
case 12: |
case 13: |
case 14: |
case 15: |
case 16: |
if(HottKeyboard == 8) { LIBFC_HoTT_Clear(); page = 0; what = 0;}; |
HottKeyboard = 0; |
break; |
default: what = 0; |
break; |
} |
else page = 0; |
} |
|
|