Subversion Repositories Projects

Rev

Blame | Last modification | View Log | RSS feed


/****************************************************************/
/*                                                                                                                              */
/*                               NG-Video 5,8GHz                                                        */
/*                                                                                                                              */
/*                              Copyright (C) 2011 - gebad                                              */
/*                                                                                                                              */
/*  This code is distributed under the GNU Public License               */
/*      which can be found at http://www.gnu.org/licenses/gpl.txt       */
/*                                                                                                                              */
/****************************************************************/

#ifndef _MENUE_H_
#define _MENUE_H_      

#define SCROLL_MAIN_MAX                 8       // index array Scroll_Menu scr_main_menu[]  = {....} Anzahl-1, da Beginn bei 0
#define SCROLL_SERVO_MAX                4       // index array Scroll_Menu scr_servo_menu[] = {....} Anzahl-1, da Beginn bei 0

/* bei Change_Value(....) */
#define ZLE_VAL                                 1       // DOGM Zeile des zu ändernten Wertes, einfache generelle bessere Gestaltung

#define C_REPEAT                                0       // konstante repeat Geschwindigkeit
#define V_REPEAT                                1       // sich ändernte repeat Geschwindigkeit

typedef struct
{
  const char *menu_nr;  // Stringzeiger auf Befehlsnamen
  void (*fp)(void);     // Zeiger auf auszuführende Funktion
} command_table_t;     
       
void Menu_Main                          (void);
void Menu_AV_Source                     (void);
void Menu_RX_Channel            (void);
void Menu_RSSI_Calibr           (void);
void Menu_RSSI_min                      (void);
void Menu_RSSI_max                      (void);
void Menu_Language                      (void);
void Menu_Servo_Calibr          (void);
void Menu_Servo_Steps           (void);
void Menu_Servo1                        (void);
void Menu_Servo2                        (void);
void Menu_Servo1_rev            (void);
void Menu_Servo1_left           (void);
void Menu_Servo1_right          (void);
void Menu_Servo1_middle         (void);
void Menu_Servo2_rev            (void);
void Menu_Servo2_left           (void);
void Menu_Servo2_right          (void);
void Menu_Servo2_middle         (void);
void Menu_lcd                           (void);
void Menu_lcd_Contrast          (void);
void Menu_lcd_Backgr_Light      (void);
void Menu_Battery                       (void);
void Menu_Low_U_Setup           (void);
void Menu_U_Offset                      (void);
void Menu_Tool                          (void);
void Menu_Tracking_Ant          (void);
void Menu_Tracking_Option       (void);
void Menu_GPS_Display           (void);
void Menu_GPS_Display_FLAG      (void);
void Menu_GPS_Displ_RX_Time     (void);

char pmenu[5] = {"0"};  // Zuordnung Menü Programmgliederung zu hinterlegten Funktionen
uint8_t ch_stored;              // Flag zur Speicherung, wenn Wert im Hauptdisplay geändert
uint8_t coldstart;              // Flag erstmaliger MK-Start(Motore) nur nach GPS-Fix

void Displ_Main_Disp(void);
void Displ_AV_Mark(uint8_t p, char marker);
void Displ_Str_mid(char *str, uint8_t zle);
void Displ_RX_Time(void);

#define RIGHT           0       // Servopostionen, welche vom Einbau abhängig sind
#define LEFT            1
#define MIDDLE          2

typedef struct
{
uint16_t min;                   // entspricht Servopostionen, welche vom Einbau abhängig sind
uint16_t max;
} servo_limit_t;

servo_limit_t servo_limit[2][3] = {{{SERVO_I0_RIGHT_MIN, SERVO_I0_RIGHT_MAX},\
                                                                         {SERVO_I0_LEFT_MIN, SERVO_I0_LEFT_MAX},\
                                                                         {SERVO_I0_MIDDLE_MIN, SERVO_I0_MIDDLE_MAX}},\
                                                                        {{SERVO_I1_RIGHT_MIN, SERVO_I1_RIGHT_MAX},\
                                                                         {SERVO_I1_LEFT_MIN, SERVO_I1_LEFT_MAX},\
                                                                         {SERVO_I1_MIDDLE_MIN, SERVO_I1_MIDDLE_MAX}}};
                                                                         
#endif /* _MENUE_H */