Subversion Repositories FlightCtrl

Rev

Rev 2418 | Rev 2424 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2418 Rev 2420
Line 78... Line 78...
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 81... Line 81...
81
 
81
 
82
#define VARIO_ZERO 30000
82
#define VARIO_ZERO 30000
83
unsigned char NaviData_WaypointIndex = 0, NaviData_WaypointNumber = 0, NaviData_TargetHoldTime = 0, ToNC_Load_WP_List = 0;
83
unsigned char NaviData_WaypointIndex = 0, NaviData_WaypointNumber = 0, NaviData_TargetHoldTime = 0, ToNC_Load_WP_List = 0, NaviData_MaxWpListIndex = 0;
Line 84... Line 84...
84
unsigned int NaviData_TargetDistance = 0;
84
unsigned int NaviData_TargetDistance = 0;
85
 
85
 
86
unsigned char MaxBlTemperture = 0;
86
unsigned char MaxBlTemperture = 0;
Line 330... Line 330...
330
//---------------------------------------------------------------
330
//---------------------------------------------------------------
331
unsigned char HoTT_Telemety(unsigned char packet_request)
331
unsigned char HoTT_Telemety(unsigned char packet_request)
332
{
332
{
333
 unsigned char i;
333
 unsigned char i;
334
  //Debug("rqst: %02X",packet_request);
334
  //Debug("rqst: %02X",packet_request);
-
 
335
 
335
 switch(packet_request)
336
 switch(packet_request)
336
 {
337
 {
337
  case HOTT_VARIO_PACKET_ID:
338
  case HOTT_VARIO_PACKET_ID:
338
                GPSPacket.WarnBeep = HoTT_Waring(); // Achtung: das ist richtig hier, damit der Varioton schon vorher abgestellt wird
339
                GPSPacket.WarnBeep = HoTT_Waring(); // Achtung: das ist richtig hier, damit der Varioton schon vorher abgestellt wird
339
                VarioPacket.Altitude = HoehenWert/100 + 500;  
340
                VarioPacket.Altitude = HoehenWert/100 + 500;  
Line 496... Line 497...
496
}
497
}
Line 497... Line 498...
497
 
498
 
498
//---------------------------------------------------------------
499
//---------------------------------------------------------------
499
void HoTT_Menu(void)
500
void HoTT_Menu(void)
-
 
501
{
500
{
502
 static unsigned char load_waypoint_tmp2 = 1, changed, load_waypoint_tmp = 1, changed2;
501
 static unsigned char line, page = 0,show_current = 0,show_mag = 0, show_poti = 0, load_waypoint_tmp, changed, load_waypoint_tmp2, changed2;
503
 static unsigned char line, page = 0,show_current = 0,show_mag = 0, show_poti = 0;
502
 unsigned char tmp;
504
 unsigned char tmp;
-
 
505
 HoTTVarioMeter = (HoTTVarioMeter * 7 + VarioMeter) / 8;
-
 
506
 
Line 503... Line 507...
503
 HoTTVarioMeter = (HoTTVarioMeter * 7 + VarioMeter) / 8;
507
// if(HottKeyboard) {beeptime = 1000;};  
-
 
508
 
-
 
509
 switch(page)
504
 
510
 {
505
 if(page == 0)
511
  case 0:
506
  switch(line++)
512
  switch(line++)
507
  {
513
  {
508
        case 0:  
514
        case 0:  
Line 611... Line 617...
611
                        HottKeyboard = 0;
617
                        HottKeyboard = 0;
612
                        break;
618
                        break;
613
   default:  line = 0;
619
   default:  line = 0;
614
                        break;
620
                        break;
615
  }
621
  }
616
  else
622
  break;
617
  if(page == 1)
623
  case 1:
618
  switch(line++)
624
  switch(line++)
619
  {
625
  {
620
        case 0:  
626
        case 0:  
621
                if(FC_StatusFlags & FC_STATUS_LOWBAT)
627
                if(FC_StatusFlags & FC_STATUS_LOWBAT)
622
                         HoTT_printfxy_BLINK(0,0," %2i:%02i  %2i.%1iV %4imAh",FlugSekunden/60,FlugSekunden%60,UBat/10, UBat%10,Capacity.UsedCapacity)
628
                         HoTT_printfxy_BLINK(0,0," %2i:%02i  %2i.%1iV %4imAh",FlugSekunden/60,FlugSekunden%60,UBat/10, UBat%10,Capacity.UsedCapacity)
Line 736... Line 742...
736
                        HottKeyboard = 0;
742
                        HottKeyboard = 0;
737
                        break;
743
                        break;
738
   default:  line = 0;
744
   default:  line = 0;
739
                        break;
745
                        break;
740
  }
746
  }
741
  else
747
  break;
742
  if(page == 2)
748
  case 2:
743
  switch(line++)
749
  switch(line++)
744
  {
750
  {
745
        case 0:  
751
        case 0:  
746
                        HoTT_printfxy_INV(0,0,"Setting:%u %s ",ActiveParamSet,EE_Parameter.Name);
752
                        HoTT_printfxy_INV(0,0,"Setting:%u %s ",ActiveParamSet,EE_Parameter.Name);
747
                        break;
753
                        break;
Line 828... Line 834...
828
                        HottKeyboard = 0;
834
                        HottKeyboard = 0;
829
                        break;
835
                        break;
830
   default:  line = 0;
836
   default:  line = 0;
831
                        break;
837
                        break;
832
  }
838
  }
833
  else
839
  break;
834
  if(page == 3)
840
  case 3:
835
  switch(line++)
841
  switch(line++)
836
  {
842
  {
837
        case 0:  
843
        case 0:  
838
                        HoTT_printfxy(0,0,"Load Waypoints");
844
                        HoTT_printfxy(0,0,"Load Waypoints");
-
 
845
                        HoTT_printfxy(0,1,"(Relative Positions)");
-
 
846
//                      HoTT_printfxy(0,1,"(Absolute)"); 
839
                        break;
847
                        break;
-
 
848
    case 1:
840
    case 1: //HoTT_printfxy(0,1,"Min:%2i.%1iV %s ",BattLowVoltageWarning/10, BattLowVoltageWarning%10, Mixer.Name); 
849
                        if(NaviData_WaypointNumber)     HoTT_printfxy(0,6,"Active WP:%2d/%d ",NaviData_WaypointIndex,NaviData_WaypointNumber)
841
                        HoTT_printfxy(0,1,"(Absolute)");
850
                        else HoTT_printfxy(0,6,"No WPs active     ")
842
                        break;
851
                        break;
843
    case 2:
852
    case 2:
-
 
853
                         HoTT_printfxy(0,7,"%2i.%1iV ",UBat/10, UBat%10)
-
 
854
    case 3:
-
 
855
    case 4:
-
 
856
    case 5:
844
                        if(load_waypoint_tmp)
857
                        if(load_waypoint_tmp2)
845
                         {
858
                         {
846
                          HoTT_printfxy(0,3,"Load list:     ")
859
                          if(changed2 && HoTTBlink) HoTT_printfxy(10,3,"   ")
847
                          if(changed && HoTTBlink) HoTT_printfxy(10,3,"   ", load_waypoint_tmp)
860
                          else HoTT_printfxy(10,3,"%2i   ",load_waypoint_tmp2);
848
                          else HoTT_printfxy(10,3,"%2d ", load_waypoint_tmp);
861
                          HoTT_printfxy(0,3,"Load list:")
849
                         }
862
                         }
850
                        else
863
                        else
851
                         {
864
                         {
852
                          HoTT_printfxy(0,3,"Load list: -- ");
865
                          HoTT_printfxy(0,3,"Load list: -- ");
853
                         }
866
                         }
854
                        break;
-
 
855
    case 3:
-
 
856
                          if(changed && load_waypoint_tmp) HoTT_printfxy(0,4,"(Set -> Load)")
867
                         if(NaviData_MaxWpListIndex == 0) HoTT_printfxy(0,4,"No SD-Card   ")
857
                          else HoTT_printfxy(0,4,"              ");
-
 
858
                        break;
868
                         else
859
    case 4:
-
 
860
                        break;
869
                         {
861
    case 5:
-
 
862
                        break;
-
 
863
        case 6:
-
 
864
                        if(NaviData_WaypointNumber)     HoTT_printfxy(0,6,"Active: %2d WPs",NaviData_WaypointNumber)
870
                          if(changed2 && load_waypoint_tmp2) HoTT_printfxy(0,4,"(Set -> Load)")
865
                        else HoTT_printfxy(0,6,"No WPs active  ")
871
                          else HoTT_printfxy(0,4,"             ");
866
                        break;
872
                         }
867
    case 7:
-
 
868
    case 8:
-
 
869
    case 9:
-
 
870
    case 10:
-
 
871
    case 11:
-
 
872
    case 12:
-
 
873
    case 13:
-
 
874
    case 14:
-
 
875
    case 15:
-
 
876
    case 16:
-
 
877
                        if(HottKeyboard == HOTT_KEY_UP && load_waypoint_tmp < 99) { changed = 1; load_waypoint_tmp++;}
873
                        if(HottKeyboard == HOTT_KEY_UP && load_waypoint_tmp2 < NaviData_MaxWpListIndex) { changed2 = 1; load_waypoint_tmp2++;HoTTBlink = 0;}
878
                        else
-
 
879
                        if(HottKeyboard == HOTT_KEY_DOWN && load_waypoint_tmp) { changed = 1; load_waypoint_tmp--;};
874
                        if(HottKeyboard == HOTT_KEY_DOWN && load_waypoint_tmp2 > 1) { changed2 = 1; load_waypoint_tmp2--;HoTTBlink = 0;};
880
 
-
 
881
                        if(HottKeyboard == HOTT_KEY_SET) { if(load_waypoint_tmp) ToNC_Load_WP_List = load_waypoint_tmp; changed = 0;}
875
                        if(HottKeyboard == HOTT_KEY_SET) { if(load_waypoint_tmp2) ToNC_Load_WP_List = load_waypoint_tmp2 | 128; changed2 = 0;}
882
                        else
-
 
883
                        if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page = 4; line = 0;}
876
                        if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page = 4; line = 0;}
884
                        else
-
 
885
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page = 2; line = 0;};
877
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page = 2; line = 0;};
886
                        HottKeyboard = 0;
878
                        HottKeyboard = 0;
887
                        break;
879
                        break;
888
   default:  line = 0;
880
   default:  line = 0;
889
                        break;
881
                        break;
890
  }
882
  }
891
    else
883
  break;
892
  if(page == 4)
884
  case 4:
893
  switch(line++)
885
  switch(line++)
894
  {
886
  {
895
        case 0:  
887
        case 0:  
896
                        HoTT_printfxy(0,0,"Load Waypoints");
888
                        HoTT_printfxy(0,0,"Load Waypoints");
-
 
889
                        HoTT_printfxy(0,1,"(Fixed Positions)");
897
                        break;
890
                        break;
-
 
891
    case 1:
898
    case 1: //HoTT_printfxy(0,1,"Min:%2i.%1iV %s ",BattLowVoltageWarning/10, BattLowVoltageWarning%10, Mixer.Name); 
892
                        if(NaviData_WaypointNumber)     HoTT_printfxy(0,6,"Active WP:%2d/%d ",NaviData_WaypointIndex,NaviData_WaypointNumber)
899
                        HoTT_printfxy(0,1,"(Relative)");
893
                        else HoTT_printfxy(0,6,"No WPs active    ")
900
                        break;
894
                        break;
901
    case 2:
895
    case 2:
-
 
896
                         HoTT_printfxy(0,7,"%2i.%1iV ",UBat/10, UBat%10)
-
 
897
    case 3:
-
 
898
    case 4:
-
 
899
    case 5:
-
 
900
                  if(HottKeyboard) DebugOut.Analog[17]++;
902
                        if(load_waypoint_tmp2)
901
                        if(load_waypoint_tmp)
903
                         {
902
                         {
904
                          HoTT_printfxy(0,3,"Load list:     ")
903
                          if(changed && HoTTBlink) HoTT_printfxy(10,3,"   ")
905
                          if(changed && HoTTBlink) HoTT_printfxy(10,3,"   ", load_waypoint_tmp2)
904
                          else HoTT_printfxy(10,3,"%2d (FIX)",load_waypoint_tmp);
906
                          else HoTT_printfxy(10,3,"%2d ", load_waypoint_tmp2);
905
                          HoTT_printfxy(0,3,"Load list:")
907
                         }
906
                         }
908
                        else
907
                        else
909
                         {
908
                         {
910
                          HoTT_printfxy(0,3,"Load list: -- ");
909
                          HoTT_printfxy(0,3,"Load list: -- ");
911
                         }
910
                         }
912
                        break;
911
                       
913
    case 3:
-
 
914
                          if(changed2 && load_waypoint_tmp2) HoTT_printfxy(0,4,"(Set -> Load)")
912
                         if(NaviData_MaxWpListIndex == 0) HoTT_printfxy(0,4,"No SD-Card   ")
915
                          else HoTT_printfxy(0,4,"             ");
-
 
916
                        break;
-
 
917
    case 4:
-
 
918
                        break;
913
                         else
919
    case 5:
-
 
920
                        break;
914
                         {
921
        case 6:
-
 
922
                        if(NaviData_WaypointNumber)     HoTT_printfxy(0,6,"Active: %2d WPs",NaviData_WaypointNumber)
915
                                if(changed && load_waypoint_tmp) HoTT_printfxy(0,4,"(Set -> Load)")
923
                        else HoTT_printfxy(0,6,"No WPs active  ")
916
                                else HoTT_printfxy(0,4,"             ");
924
                        break;
917
                         }     
925
    case 7:
-
 
926
    case 8:
-
 
927
    case 9:
-
 
928
    case 10:
-
 
929
    case 11:
-
 
930
    case 12:
-
 
931
    case 13:
-
 
932
    case 14:
-
 
933
    case 15:
-
 
934
    case 16:
-
 
935
                        if(HottKeyboard == HOTT_KEY_UP && load_waypoint_tmp2 < 99) { changed2 = 1; load_waypoint_tmp2++;}
918
                        if(HottKeyboard == HOTT_KEY_UP && load_waypoint_tmp < NaviData_MaxWpListIndex) { changed = 1; load_waypoint_tmp++; HoTTBlink = 0;}
936
                        else
-
 
937
                        if(HottKeyboard == HOTT_KEY_DOWN && load_waypoint_tmp2) { changed2 = 1; load_waypoint_tmp2--;};
919
                        if(HottKeyboard == HOTT_KEY_DOWN && load_waypoint_tmp > 1) { changed = 1; load_waypoint_tmp--; HoTTBlink = 0;};
938
 
-
 
939
                        if(HottKeyboard == HOTT_KEY_SET) { if(load_waypoint_tmp2) ToNC_Load_WP_List = load_waypoint_tmp2 | 128; changed2 = 0;}
920
                        if(HottKeyboard == HOTT_KEY_SET) { if(load_waypoint_tmp) ToNC_Load_WP_List = load_waypoint_tmp; changed = 0;}
940
//                      else
-
 
941
//                      if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page = 5; line = 0;}
921
//                      if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page = 4; line = 0;}
942
                        else
-
 
943
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page = 3; line = 0;};
922
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page = 3; line = 0;};
944
                        HottKeyboard = 0;
923
                        HottKeyboard = 0;
945
                        break;
924
                        break;
946
   default:  line = 0;
925
   default:  line = 0;
947
                        break;
926
                        break;
948
  }
927
  }
949
 
-
 
950
/*  else
-
 
951
  if(page == 3)
-
 
952
  switch(line++)
-
 
953
  {
-
 
954
        case 0:  
-
 
955
                        HoTT_printfxy(0,2,"Speak:");
-
 
956
                        break;
928
  break;
957
        case 1:  
-
 
958
//                      if(GetParamByte(PID_SPEAK_HOTT_CFG) & 0x01)
-
 
959
                        if(!(GlobalConfig3 & CFG3_SPEAK_ALL) & 0x01)) HoTT_printfxy_INV(7,2,"All Messages ")
-
 
960
                        else                    HoTT_printfxy_INV(7,2,"Warnings only");
-
 
961
                        break;
-
 
962
        case 2:  
-
 
963
                        HoTT_printfxy(1,4,"Use (set) to select");
-
 
964
                        break;
-
 
965
    default:
-
 
966
                        if(HottKeyboard == HOTT_KEY_SET)
-
 
967
                         {
-
 
968
                          SetParamByte(PID_SPEAK_HOTT_CFG, GetParamByte(PID_SPEAK_HOTT_CFG) ^ 0x01);
-
 
969
                         }
-
 
970
                        else
-
 
971
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page = 2; line = 0;};
-
 
972
                        HottKeyboard = 0;
929
  default:  page = 0;
973
                        line = 0;
-
 
974
                        break;
930
  break;
975
  }
931
 }
976
*/
-
 
977
  else page = 0;
-
 
978
}
932
}
Line 979... Line 933...
979
 
933