Subversion Repositories Projects

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
953 - 1
 
2
/****************************************************************/
3
/*                                                                                                                              */
4
/*                               NG-Video 5,8GHz                                                        */
5
/*                                                                                                                              */
6
/*                              Copyright (C) 2011 - gebad                                              */
7
/*                                                                                                                              */
8
/*  This code is distributed under the GNU Public License               */
9
/*      which can be found at http://www.gnu.org/licenses/gpl.txt       */
10
/*                                                                                                                              */
11
/****************************************************************/
12
 
13
#ifndef SETTING_H_
14
#define SETTING_H_
15
 
16
/* Indexwerte für av_source bzw. zur Auswertung von av_source */
17
#define AV1                                     0
18
#define AV2                                     1
19
#define DIVERSITY                       2
20
 
21
#define MARKER_SELECT           0xfc    // 0xfc enspricht '>>' Menue-Marker
22
#define MARKER_AV                       0xfb    // 0xfb enspricht '<<' Diversity AV-Marker
23
#define MARKER_RSSI                     'd'
24
#define MARKER_SYNC                     's'
25
 
26
#define SET_MUX_0                       PORTA &= ~(1<<MUX_IN); // MUX SxA enabled
27
#define SET_MUX_1                       PORTA |= (1<<MUX_IN);  // MUX SxB enabled
28
#define CLEAR_INT10                     EIMSK &= ~((1<<INT1) | (1<<INT0));      // Interrupt für Sync ausschalten
29
#define SET_INT10                       EIMSK |= (1<<INT1) | (1<<INT0);         // External Interrupt Mask Register ein
30
 
31
/* Beep Verzögerungszeitein */
32
#define DBEEPVERS                       2       // Beep on              nach Versionsanzeige
33
#define DBEEPVERSP                      30      // Beep Pause   nach Versionsanzeige
34
#define BEEPENTER                       1       // Beep on              Enter kurz Scroll_Menu() und Select_Menu()
35
#define DBEEPWR                         4       // Beep on              geänderte Werte ROM schreiben
36
#define DBEEPWRP                        30      // Beep Pause   geänderte Werte ROM schreiben
37
#define BEEPBAT                         20      // Beep on              bei Akku low
38
#define BEEP_LOW_TIME           240     // TIMER0_1 aller 500ms aufgerufen, BeepIntervall Akku leer mit 2 Min Abstand beginnen
39
 
40
#define ENABLE_BTIMER           1       // damit Intervall Beeper für Akku leer mit TIMER0_1 gesteuert wird 
41
#define DISABLE_BTIMER          0
42
 
43
#define GPS_DISP_NONE           0
44
#define GPS_DISP_CALC           1
45
#define GPS_DISP_CURRENT        2
46
#define GPS_DISP_HOME           3
47
 
48
#define BAUDRATE                        5
49
#define BAUDRATE_MIN            0
50
#define BAUDRATE_MAX            6
51
 
52
#define POLOLU_CMD                      2
53
 
54
#define OFF                                     0
55
#define ON                                      1
56
 
57
#define EEPROM                  __attribute__ ((section(".eeprom")))
58
 
59
uint32_t baud[8] = {4800, 7200, 9600, 14400, 19200, 38400, 57600};
60
 
61
typedef struct {
62
uint8_t  rev;
63
uint16_t min;
64
uint16_t max;
65
uint16_t mid;
66
} servo_t;
67
 
68
/**************************************************************/
69
/*                                                                                                                        */
70
/*                          EEPROM                                                        */
71
/*                                                                                                                        */
72
/**************************************************************/
73
static uint8_t   ep_eep_init    EEPROM;
74
static char              ep_version[sizeof(VERSION)]    EEPROM;
75
static uint8_t   ep_dogm_vers           EEPROM;
76
static uint8_t   ep_contrast            EEPROM;
77
static uint8_t   ep_light_time          EEPROM;
78
static uint8_t   ep_u_offset            EEPROM;
79
static uint32_t  ep_u_min               EEPROM;
80
static uint8_t   ep_channel                     EEPROM;
81
static uint8_t   ep_av_source           EEPROM;
82
static uint8_t   ep_language            EEPROM;
83
static uint16_t  ep_udbm_min            EEPROM;
84
static uint16_t  ep_udbm_max            EEPROM;
85
static uint16_t  ep_udbm_korr_1         EEPROM;
86
static uint16_t  ep_udbm_korr_2         EEPROM;
87
static uint8_t   ep_sIdxSteps           EEPROM;
88
static servo_t   ep_servo[SERVO_NUM_CHANNELS][sizeof(servo_t)]  EEPROM;
89
static uint8_t   ep_tracking            EEPROM;
90
static uint8_t   ep_track_hyst          EEPROM;
91
static uint8_t   ep_track_tx            EEPROM;
92
static uint8_t   ep_baudrate            EEPROM;
93
 
94
uint8_t  dogm_vers;
95
uint8_t  contrast;
96
uint8_t light_time = BACKGR_LIGHT_MAX;
97
uint8_t  backgr_light = OFF;
98
uint8_t  u_offset = U_OFFSET;
99
uint32_t u_min = U_MIN;
100
uint8_t  channel = CHANNEL;
101
uint8_t  av_source = AV_SOURCE;
102
uint8_t  language = NO_LANGUAGE;
103
uint16_t udbm_min = UDBM_MIN;
104
uint16_t udbm_max = UDBM_MAX;
105
uint16_t udbm_korr_1 = UDBM_KORR_FA;
106
uint16_t udbm_korr_2 = UDBM_KORR_FA;
107
uint32_t hyst_u_min;
108
servo_t servo[SERVO_NUM_CHANNELS] =     {{SERVO_REV, SERVO_I0_RIGHT, SERVO_I0_LEFT, SERVO_I0_MIDDLE},\
109
                                                                         {SERVO_REV, SERVO_I0_RIGHT, SERVO_I0_LEFT, SERVO_I0_MIDDLE}};
110
uint8_t  tracking       = TRACKING_MIN;
111
uint8_t  track_hyst     = TRACKING_HYSTERESE;
112
uint8_t  track_tx = 0;
113
uint8_t  baudrate = BAUDRATE;
114
uint8_t  gps_display = 0;
115
uint8_t  gps_disp_clear;
116
 
117
void RSSI_Calc_UdBm(uint16_t *pudbm);
118
uint8_t Set_AV_Source(uint8_t src);
119
 
120
uint16_t udbm[12];
121
uint16_t* pudbm = udbm;
122
uint8_t bat_low = 1;   
123
uint8_t sw_avx; // steuert über Set_AV_Source() oder rssi_diversity(av_source) Marker-Position und RX-Umschaltung 
124
 
125
volatile uint8_t  vsync0;
126
volatile uint8_t  vsync1;
127
volatile uint8_t  vscount0;
128
volatile uint8_t  vscount1;
129
 
130
uint16_t ADC_Read( uint8_t channel );
131
void servoSetDefaultPos(void);
132
void USART_Init_Baudrate(void);
133
 
134
#endif /* SETTING_H_ */