Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 952 → Rev 953

/C-OSD/trunk/tags/v1.00/menue.h
0,0 → 1,108
 
/****************************************************************/
/* */
/* 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_
 
/* Indexwerte für Funktions-Pointer in menue.c
typedef void (*Displ_Ptr_Fnct)( uint32_t );
Displ_Ptr_Fnct Displ_Fnct[] = {Displ_U_2Nk, Displ_Set_Contrast, Displ_Backgr_Light, Displ_Channels, Displ_AV_Source, \
Displ_Off_On, Displ_Language, DISPL_Servo_Steps, Displ_Servo_Min, Displ_Servo_Max, \
Displ_Servo_Mid, Displ_Format_Int, Displ_sel_Tracking, Displ_track_TX, Displ_Baudrate};
*/
#define IDX_DISPL_U_2Nk 0
#define IDX_DISPL_SET_CONTRAST 1
#define IDX_DISPL_BACKGR_LIGHT 2
#define IDX_DISPL_CHANNEL 3
#define IDX_DISPL_AV_SOURCE 4
#define IDX_DISPL_OFF_ON 5
#define IDX_DISPL_LANGUAGE 6
#define IDX_DISPL_SERVO_STEPS 7
#define IDX_DISPL_SERVO_MIN 8 // für Servo linke maximale Position
#define IDX_DISPL_SERVO_MAX 9 // für Servo rechte maximale Position
#define IDX_DISPL_SERVO_MID 10
#define IDX_DISPL_FORMAT_INT 11
#define IDX_DISPL_SEL_TRACKING 12
#define IDX_DISPL_TRACK_TX 13
#define IDX_DISPL_BAUDRATE 14
 
#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
 
#define C_REPEAT 0 // konstante repeat Geschwindigkeit
#define V_REPEAT 1 // sich ändernte repeat Geschwindigkeit
 
typedef struct
{
char* menu_nr; // Stringzeiger auf Befehlsnamen
void(*fp)(void); // Zeiger auf auszuführende Funktion
} COMMAND_STRUCTUR;
unsigned char jump_menu (char *);
 
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);
 
/*char amenu[5] = {"0"};
char* pmenu = amenu;*/
char pmenu[5] = {"0"};
uint8_t ch_stored; // Flag zur Speicherung, wenn Wert im Hauptdisplay geändert
uint8_t coldstart;
 
void Displ_Main_Disp(void);
void Displ_AV_Mark(uint8_t p, char marker);
void Disp_Str_mid(char *str, uint8_t zle);
 
#define RIGHT 0
#define LEFT 1
#define MIDDLE 2
 
typedef struct
{
uint16_t min;
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 */