Subversion Repositories FlightCtrl

Rev

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

Rev 2437 Rev 2438
Line 56... Line 56...
56
#include "spi.h"
56
#include "spi.h"
57
#include "capacity.h"
57
#include "capacity.h"
Line 58... Line 58...
58
 
58
 
59
unsigned char NaviData_WaypointIndex = 0;
59
unsigned char NaviData_WaypointIndex = 0;
-
 
60
unsigned char NaviData_WaypointNumber = 0, NaviData_TargetHoldTime = 0, ToNC_Load_WP_List = 0, NaviData_MaxWpListIndex = 0;
60
unsigned char NaviData_WaypointNumber = 0, NaviData_TargetHoldTime = 0, ToNC_Load_WP_List = 0, NaviData_MaxWpListIndex = 0;
61
unsigned char ToNC_Load_SingePoint = 0, ToNC_Store_SingePoint = 0;
61
char WPL_Name[10];// = {"         \0"};
62
char WPL_Name[10];// = {"         \0"};
Line 62... Line 63...
62
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
63
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
63
 
64
 
Line 504... Line 505...
504
}
505
}
Line 505... Line 506...
505
 
506
 
506
//---------------------------------------------------------------
507
//---------------------------------------------------------------
507
void HoTT_Menu(void)
508
void HoTT_Menu(void)
508
{
-
 
509
 static unsigned char load_waypoint_tmp2 = 1, changed, load_waypoint_tmp = 1, changed2;
509
{
510
 static unsigned char line, page = 0,show_current = 0,show_mag = 0, show_poti = 0;
510
 static unsigned char line, page = 0,show_current = 0,show_mag = 0, show_poti = 0;
511
 unsigned char tmp;
511
 unsigned char tmp;
Line 512... Line 512...
512
 HoTTVarioMeter = (HoTTVarioMeter * 7 + VarioMeter) / 8;
512
 HoTTVarioMeter = (HoTTVarioMeter * 7 + VarioMeter) / 8;
Line 845... Line 845...
845
  }
845
  }
846
  break;
846
  break;
847
  case 3:
847
  case 3:
848
  switch(line++)
848
  switch(line++)
849
  {
849
  {
-
 
850
        static unsigned char load_waypoint_tmp2 = 1, changed2;
850
        case 0:  
851
        case 0:  
851
                        HoTT_printfxy(0,0,"Load Waypoints");
852
                        HoTT_printfxy(0,0,"Load Waypoints");
852
                        HoTT_printfxy(0,1,"(Relative Positions)");
853
                        HoTT_printfxy(0,1,"(Relative Positions)");
853
//                      HoTT_printfxy(0,1,"(Absolute)"); 
854
//                      HoTT_printfxy(0,1,"(Absolute)"); 
854
                        break;
855
                        break;
Line 893... Line 894...
893
  }
894
  }
894
  break;
895
  break;
895
  case 4:
896
  case 4:
896
  switch(line++)
897
  switch(line++)
897
  {
898
  {
-
 
899
        static unsigned char load_waypoint_tmp = 1, changed;
898
        case 0:  
900
        case 0:  
899
                        HoTT_printfxy(0,0,"Load Waypoints");
901
                        HoTT_printfxy(0,0,"Load Waypoints");
900
                        HoTT_printfxy(0,1,"(Fixed Positions)");
902
                        HoTT_printfxy(0,1,"(Fixed Positions)");
901
                        break;
903
                        break;
902
    case 1:
904
    case 1:
Line 907... Line 909...
907
                         HoTT_printfxy(0,7,"%2i.%1iV ",UBat/10, UBat%10)
909
                         HoTT_printfxy(0,7,"%2i.%1iV ",UBat/10, UBat%10)
908
                         HoTT_printfxy(11,7,"%s",WPL_Name)
910
                         HoTT_printfxy(11,7,"%s",WPL_Name)
909
    case 3:
911
    case 3:
910
    case 4:
912
    case 4:
911
    case 5:
913
    case 5:
912
                  if(HottKeyboard) DebugOut.Analog[17]++;
914
                        HoTT_printfxy(0,3,"Load list:")
913
                        if(load_waypoint_tmp)
915
                        if(load_waypoint_tmp)
914
                         {
916
                         {
915
                          if(changed && HoTTBlink) HoTT_printfxy(10,3,"   ")
917
                          if(changed && HoTTBlink) HoTT_printfxy(10,3,"   ")
916
                          else HoTT_printfxy(10,3,"%2d (FIX)",load_waypoint_tmp);
918
                          else HoTT_printfxy(10,3,"%2d (FIX)",load_waypoint_tmp);
917
                          HoTT_printfxy(0,3,"Load list:")
-
 
918
                         }
919
                         }
919
                        else
920
                        else
920
                         {
921
                         {
921
                          HoTT_printfxy(0,3,"Load list: -- ");
922
                          HoTT_printfxy(10,3," --")
922
                         }
923
                         }
Line 923... Line 924...
923
                       
924
                       
924
                         if(NaviData_MaxWpListIndex == 0) HoTT_printfxy(0,4,"No SD-Card   ")
925
                         if(NaviData_MaxWpListIndex == 0) HoTT_printfxy(0,4,"No SD-Card   ")
925
                         else
926
                         else
Line 928... Line 929...
928
                            else HoTT_printfxy(0,4,"             ");
929
                            else HoTT_printfxy(0,4,"             ");
929
                         }
930
                         }
930
                        if(HottKeyboard == HOTT_KEY_UP && load_waypoint_tmp < NaviData_MaxWpListIndex) { changed = 1; load_waypoint_tmp++; HoTTBlink = 0;}
931
                        if(HottKeyboard == HOTT_KEY_UP && load_waypoint_tmp < NaviData_MaxWpListIndex) { changed = 1; load_waypoint_tmp++; HoTTBlink = 0;}
931
                        if(HottKeyboard == HOTT_KEY_DOWN && load_waypoint_tmp > 1) { changed = 1; load_waypoint_tmp--; HoTTBlink = 0;};
932
                        if(HottKeyboard == HOTT_KEY_DOWN && load_waypoint_tmp > 1) { changed = 1; load_waypoint_tmp--; HoTTBlink = 0;};
932
                        if(HottKeyboard == HOTT_KEY_SET) { if(load_waypoint_tmp) ToNC_Load_WP_List = load_waypoint_tmp; changed = 0;}
933
                        if(HottKeyboard == HOTT_KEY_SET) { if(load_waypoint_tmp) ToNC_Load_WP_List = load_waypoint_tmp; changed = 0;}
-
 
934
                        if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page++; line = 0;}
-
 
935
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page--; line = 0;};
-
 
936
                        HottKeyboard = 0;
-
 
937
                        break;
-
 
938
   default:  line = 0;
-
 
939
                        break;
-
 
940
  }
-
 
941
  break;
-
 
942
  case 5:
-
 
943
  switch(line++)
-
 
944
  {
-
 
945
    static unsigned char wp_tmp, changed;
-
 
946
        case 0:  
-
 
947
                        HoTT_printfxy(0,0,"Store single Position");
-
 
948
//                      HoTT_printfxy(0,1,"(Fixed Positions)"); 
-
 
949
                        break;
-
 
950
    case 1:
-
 
951
                    HoTT_printfxy(0,2," %2i.%1iV ",UBat/10, UBat%10)
-
 
952
                        HoTT_printfxy(0,3," %2i:%02i ",FlugSekunden/60,FlugSekunden%60);                           
-
 
953
//                      HoTT_printfxy(0,4,"Dist:%3dm",NaviData_TargetDistance)
-
 
954
                        break;
-
 
955
    case 2:
-
 
956
                        HoTT_printfxy(11,2,"ALT:%4im", (int16_t)(HoehenWert/100))              
-
 
957
                        HoTT_printfxy(11,3,"DIR: %3d%c",CompassCorrected, HoTT_GRAD);
-
 
958
                        HoTT_printfxy(11,4,"Cam: %3i",Parameter_ServoNickControl);
-
 
959
                        break;
-
 
960
    case 3:
-
 
961
    case 4:
-
 
962
    case 5:
-
 
963
                    HoTT_printfxy(0,6,"Store point:")
-
 
964
                        if(wp_tmp)
-
 
965
                         {
-
 
966
                          if(changed && HoTTBlink) HoTT_printfxy(13,6,"   ")
-
 
967
                          else HoTT_printfxy(13,6,"%2d ",wp_tmp);
-
 
968
                         }
-
 
969
                        else
-
 
970
                         {
-
 
971
                          HoTT_printfxy(13,6," --")
-
 
972
                         }
-
 
973
                       
-
 
974
                         if(NaviData_MaxWpListIndex == 0) HoTT_printfxy(0,7,"No SD-Card   ")
-
 
975
                         else
-
 
976
                         {
-
 
977
                            if(changed && wp_tmp) HoTT_printfxy(0,7,"(Set -> Store)")
-
 
978
                            else Hott_ClearLine(7);
-
 
979
                         }
-
 
980
                        if(HottKeyboard == HOTT_KEY_UP && wp_tmp < NaviData_MaxWpListIndex) { changed = 1; wp_tmp++; HoTTBlink = 0;}
-
 
981
                        if(HottKeyboard == HOTT_KEY_DOWN && wp_tmp > 1) { changed = 1; wp_tmp--; HoTTBlink = 0;};
-
 
982
                        if(HottKeyboard == HOTT_KEY_SET) { if(wp_tmp) ToNC_Store_SingePoint = wp_tmp; changed = 0;}
-
 
983
                        if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page++; line = 0;}
-
 
984
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page--; line = 0;};
-
 
985
                        HottKeyboard = 0;
-
 
986
                        break;
-
 
987
   default:  line = 0;
-
 
988
                        break;
-
 
989
  }
-
 
990
  break;
-
 
991
  case 6:
-
 
992
  switch(line++)
-
 
993
  {
-
 
994
    static unsigned char wp_tmp, changed;
-
 
995
        case 0:  
-
 
996
                        HoTT_printfxy(0,0,"Load single Position");
-
 
997
//                      HoTT_printfxy(0,1,"(Fixed Positions)"); 
-
 
998
                        break;
-
 
999
    case 1:
-
 
1000
                    HoTT_printfxy(0,2," %2i.%1iV ",UBat/10, UBat%10)
-
 
1001
                        HoTT_printfxy(0,3," %2i:%02i ",FlugSekunden/60,FlugSekunden%60);                           
-
 
1002
//                      HoTT_printfxy(0,4,"Dist:%3dm",NaviData_TargetDistance)
-
 
1003
                    if(NaviData_WaypointNumber) HoTT_printfxy(0,5,"Active WP:%2d/%d  %dm ",NaviData_WaypointIndex,NaviData_WaypointNumber,NaviData_TargetDistance)
-
 
1004
                    else Hott_ClearLine(5);
-
 
1005
                        break;
-
 
1006
    case 2:
-
 
1007
                        HoTT_printfxy(11,2,"ALT:%4im", (int16_t)(HoehenWert/100))              
-
 
1008
                        HoTT_printfxy(11,3,"DIR: %3d%c",CompassCorrected, HoTT_GRAD);
-
 
1009
                        HoTT_printfxy(11,4,"Cam: %3i",Parameter_ServoNickControl);
-
 
1010
                        break;
-
 
1011
//                       HoTT_printfxy(11,7,"%s",WPL_Name)
-
 
1012
    case 3:
-
 
1013
    case 4:
-
 
1014
    case 5:
-
 
1015
                  if(HottKeyboard) DebugOut.Analog[17]++;
-
 
1016
                  HoTT_printfxy(0,6,"load point:")
-
 
1017
                        if(wp_tmp)
-
 
1018
                         {
-
 
1019
                          if(changed && HoTTBlink) HoTT_printfxy(11,6,"   ")
-
 
1020
                          else HoTT_printfxy(11,6,"%2d",wp_tmp);
-
 
1021
                         }
-
 
1022
                        else
-
 
1023
                         {
-
 
1024
                          HoTT_printfxy(11,6," --")
-
 
1025
                         }
-
 
1026
                       
-
 
1027
                         if(NaviData_MaxWpListIndex == 0) HoTT_printfxy(0,7,"No SD-Card   ")
-
 
1028
                         else
-
 
1029
                         {
-
 
1030
                            if(changed && wp_tmp) HoTT_printfxy(0,7,"(Set -> Load)")
-
 
1031
                            else Hott_ClearLine(7);
-
 
1032
                         }
-
 
1033
                        if(HottKeyboard == HOTT_KEY_UP && wp_tmp < NaviData_MaxWpListIndex) { changed = 1; wp_tmp++; HoTTBlink = 0;}
-
 
1034
                        if(HottKeyboard == HOTT_KEY_DOWN && wp_tmp > 1) { changed = 1; wp_tmp--; HoTTBlink = 0;};
-
 
1035
                        if(HottKeyboard == HOTT_KEY_SET) { if(wp_tmp) ToNC_Load_SingePoint = wp_tmp; changed = 0;}
933
//                      if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page = 4; line = 0;}
1036
//                      if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page++; line = 0;}
934
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page = 3; line = 0;};
1037
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page--; line = 0;};
935
                        HottKeyboard = 0;
1038
                        HottKeyboard = 0;
936
                        break;
1039
                        break;
937
   default:  line = 0;
1040
   default:  line = 0;
938
                        break;
1041
                        break;
939
  }
1042
  }