Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1687 - 1
/****************************************************************/
2
/*                                                                                                                                                                                                                                                      */
3
/*                                                                       NG-Video 5,8GHz                                                                                                                */
4
/*                                                                                                                                                                                                                                                      */
5
/*                                                              Copyright (C) 2011 - gebad                                                                              */
6
/*                                                                                                                                                                                                                                                      */
7
/*      This code is distributed under the GNU Public License                           */
8
/*      which can be found at http://www.gnu.org/licenses/gpl.txt               */
9
/*                                                                                                                                                                                                                                                      */
10
/*      Tabs: 2                                                                                                                                                                                                                 */
11
/*                                                                                                                                                                                                                                                      */
12
/****************************************************************/
13
 
14
#ifndef CONFIG_H_
15
#define CONFIG_H_
16
 
17
/* PINA */
18
#define VBAT                                                                            7       //              ADC
19
#define RSSI1                                                                           6       //              ADC
20
#define RSSI0                                                                           5       //              ADC
21
#define MUX_IN                                                                  4       //              OUT
22
#define MUX_EN                                                                  3       //              OUT
23
#define CHANNel_12                                                      2       //              OUT
24
#define CHANNel_11                                                      1       //              OUT
25
#define CHANNel_10                                                      0       //              OUT
26
 
27
/* PINB */
28
#define LCD_BACKLIGHT                                           7       //              OUT
29
#define BEEPER                                                                  4       //              OUT
30
#define POWER                                                                           3       //              OUT
31
#define CHANNel_02                                                      2       //              OUT
32
#define CHANNel_01                                                      1       //              OUT
33
#define CHANNel_00                                                      0       //              OUT
34
 
35
/* PINC */
36
#define KEY_MINUS                                                               7       //              IN
37
#define KEY_PLUS                                                                6       //              IN
38
#define LCD_ENABLE                                                      5       //              OUT
39
#define LCD_REGSELECT                                           4       //              OUT
40
#define LCD_DATA7                                                               3       //              OUT
41
#define LCD_DATA6                                                               2       //              OUT
42
#define LCD_DATA5                                                               1       //              OUT
43
#define LCD_DATA4                                                               0       //              OUT
44
 
45
/* PIND */
46
#define KEY_ENTER                                                               7       //              IN
47
#define HSYNC                                                                           6       //              IN
48
#define SERVO1                                                                  5       //              OUT PWM
49
#define SERVO2                                                                  4       //              OUT PWM
50
#define VSYNC1                                                                  3       //              IN      Int1
51
#define VSYNC0                                                                  2       //              IN      Int0
52
#define TX                                                                                      1       //              OUT USART
53
#define RX                                                                                      0       //              IN      USART 
54
/* PORT - DDR */
55
/*              LCD                     */
56
#define LCD_BACKLIGHT_PORT              PORTB
57
#define LCD_BACKLIGHT_DDR                       DDRB
58
#define LCD_E_PORT                                              PORTC
59
#define LCD_E_DDR                                                       DDRC
60
#define LCD_RS_PORT                                             PORTC
61
#define LCD_RS_DDR                                              DDRC
62
#define LCD_DATA_PORT                                   PORTC
63
#define LCD_DATA_DDR                                    DDRC
64
 
65
#define LCD_LINES                                                               3
66
#define LCD_COLS                                                         16
67
 
68
/* SWITCH */
69
#define KEY_MP_DDR                                              DDRC
70
#define KEY_MP_PORT                                             PORTC
71
#define KEY_MP_PIN                                              PINC
72
#define KEY_ENTER_DDR                           DDRD
73
#define KEY_ENTER_PORT                          PORTD
74
#define KEY_ENTER_PIN                                   PIND
75
 
76
#define SW_MINUS                                                                7
77
#define SW_PLUS                                                                 6
78
#define SW_ENTER                                                                5
79
#define REPEAT_MASK                                     (1<<SW_MINUS | 1<<SW_PLUS | 1<<SW_ENTER)
80
 
81
/* zusätzliche Timer in Abhängikeit vom Interrupttimer 0 - Keys */
82
#define TIMER0_1                                                         50     // x * 10ms für Anzeige UBat
83
#define TIMER0_2                                                         20     // x * 10ms für Bargraph und Diversity
84
#define TIMER0_3                                                                2       // x * 10ms für RSSI Diversity
85
#define TIMER0_4                                                         10     // x * 10ms für wi232 Nachführung Antenne
86
#define TIMER0_5                                                 1000   // x * 10ms Hintergrundbeleuchtung 10 sekunden Schritte
87
#define BLINK_PERIOD                                     12     // abhängig von Tracking_GPS() in Task_0_4(void)
88
#define T2SECDIV                                                 4000   // Divisor für Timer 2 - Ergebnis in Sekunden
89
#define M59S59                                                   3599   // 3599 sind 59 Minuten und 59 Sekunden
90
#define T2PROD_M59S59                                   (uint32_t)T2SECDIV*M59S59
91
/* initiale Anfangswerte der Einstellungen */
92
#define EEP_INITB                                                        73     // irgend ein Wert um beschriebenen EEPROM zu erkennen 75
93
#define VERSION                                                         "1.33"
94
#define CONTRAST3V                                               16     // 16 bei LCD 3,3V Bias 1/5 default Wert
95
#define CONTRAST5V                                               12     // 12 bei LCD    5V Bias 1/4
96
#define CONTRAST_MIN                                            0
97
#define CONTRAST_MAX                                     30
98
#define BACKGR_LIGHT                                     31     // Hintergrundbeleuchtung immer an
99
#define BACKGR_LIGHT_MIN                                0       // Hintergrundbeleuchtung immer aus
100
#define BACKGR_LIGHT_MAX                         31     // Hintergrundbeleuchtung immer an, z.Z.: Max = 5 Minuten
101
#define U_OFFSET                                                         85     // um type float o. double zu vermeiden *100
102
#define U_OFFSET_MIN                                            0
103
#define U_OFFSET_MAX                                    200
104
#define U_MIN                                                                   960     // um type float o. double zu vermeiden *100
105
#define U_MIN_MIN                                                       550     // auch für Lipo 2s
106
#define U_MIN_MAX                                                1400
107
#define CHANNEL                                                                 1       // default Wert
108
#define CHANNEL_MIN                                                     1
109
#define CHANNEL_MAX                                                     7
110
#define AV_SOURCE                                                               0       // av1, av2, diversity
111
#define AV_SOURCE_MIN                                           0
112
#define AV_SOURCE_MAX                                           2
113
/* Toleranzen bei den RSSI-Spannungen ausgleichen */
114
#define UDBM_MIN                                                        460     // RSSI geringste Feldstärke
115
#define UDBM_MAX                                                         75     // RSSI größte Feldstärke
116
#define UDBM_KORR_FA                                    128     // Korrekturfaktor 1 * 128 RSSI1 korrigieren
117
 
118
#define RSSI_INV                                                                0       // 0 kein invertiertes RSSI-Signal, 1 invertiert
119
/* Schwellwert-Einstellungen für Erkennung Sender ein/aus */
120
#define TX_VALUE_OFF                                    500 // RSSI > Wert ==> wahr, Sender ist aus
121
#define TX_VALUE_OFF_MIN                        150     // TX-Schwellen für RSSI-min.-Kalibrierung 400/500
122
#define TX_VALUE_OFF_MAX                        999
123
#define TX_VALUE_ON                                             400 // RSSI < Wert ==> wahr, Sender ist an
124
#define TX_VALUE_ON_MIN                         150     // TX-Schwellen für RSSI-max.-Kalibrierung 200/400
125
#define TX_VALUE_ON_MAX                         999
126
/* Servo */
127
#define SERVO_PAN                                                               0
128
#define SERVO_TILT                                                      1
129
#define SERVO_NUM_CHANNELS                      2       // Anzahl der angeschlossen Servos max. 2!!!
130
/* Servokalibrierungen derzeit zu SERVO_STEPS = 255 skaliert */
131
//prescaler 256
132
#define SERVO_I0_RIGHT                           45     // default Wert, ca. 0,9ms
133
#define SERVO_I0_RIGHT_MIN                      0       // Servokalibrierung Grenze der linken Position
134
#define SERVO_I0_RIGHT_MAX              100     // SERVO_MIN + SERVO_RIGHT
135
#define SERVO_I0_LEFT                                    45     // default Wert, ca. 2,1ms
136
#define SERVO_I0_LEFT_MIN                               0       // Servokalibrierung Grenze der rechten Position
137
#define SERVO_I0_LEFT_MAX                       100     // SERVO_MAX - SERVO_LEFT
138
#define SERVO_I0_MIDDLE                         SERVO_STEPS/2
139
#define SERVO_I0_MIDDLE_MIN             SERVO_STEPS/2 - 25
140
#define SERVO_I0_MIDDLE_MAX             SERVO_STEPS/2 + 25
141
//prescaler 64
142
#define SERVO_I1_RIGHT                          180     // default Wert, ca. 0,9ms
143
#define SERVO_I1_RIGHT_MIN                      0       // Servokalibrierung Grenze der linken Position
144
#define SERVO_I1_RIGHT_MAX              400     // SERVO_MIN + SERVO_RIGHT
145
#define SERVO_I1_LEFT                                   180     // default Wert, ca. 2,1ms
146
#define SERVO_I1_LEFT_MIN                               0       // Servokalibrierung Grenze der rechten Position
147
#define SERVO_I1_LEFT_MAX                       400     // SERVO_MAX - SERVO_LEFT
148
//#define SERVO_I1_MIDDLE                               ((SERVO_STEPS + 1) * 4 - 1)/2
149
#define SERVO_I1_MIDDLE_MIN             ((SERVO_STEPS + 1) * 4 - 1)/2 - 100
150
#define SERVO_I1_MIDDLE_MAX             ((SERVO_STEPS + 1) * 4 - 1)/2 + 100
151
 
152
#define SERVO_REV                                                               0       // kein Reverse
153
/* Test Servo */
154
#define SERVO_PERIODE                                    20     // default Angabe in ms
155
#define SERVO_PERIODE_MIN                        10     // 10ms
156
#define SERVO_PERIODE_MAX                        30     // 30ms
157
#define SINGLE_STEP                                                     0       // Einzelschritt aus
158
#define SINGLE_STEP_MIN                                 0
159
#define SINGLE_STEP_MAX                          20     // bei prescaler 256, sonst * 4 (von links nach rechts in 9 Abschnitte)
160
                                                                                                                                        // zwischen den Schritten muss Pause > der Servoperiode sein, sonst keine Aktualisierung
161
 
162
#define REPEAT                                                                  1
163
#define REPEAT_MIN                                                      1
164
#define REPEAT_MAX                                              100
165
#define PAUSE                                                                    10
166
#define PAUSE_MIN                                                               4       // mindestens 400ms, da mechanischer Servo-Lauf zur Position berücksichtigt werden muss
167
#define PAUSE_MAX                                                        20     // Pause pro Links-, Mittel- und Rechtsposition 10*100ms
168
#define PAUSE_STEP                                                      0
169
#define PAUSE_STEP_MIN                                  0       // Pause bei jeden Servoschritt in ms
170
#define PAUSE_STEP_MAX                          200
171
/* Antennen-Nachführung */
172
#define TRACKING_MIN                                            0       // aus, TRACKING_RSSI, TRACKING_GPS, TRACKING_MKCOCKPIT, TRACKING_NMEA
173
#define TRACKING_MAX                                            4
174
/* Antennen-Nachführung per RSSI */
175
#define TRACKING_HYSTERESE               40     // Hysterese bevor Tracking bei Richtungswechsel anspricht
176
#define TRACKING_HYST_MIN                               0
177
#define TRACKING_HYST_MAX                       100
178
/* MK Akku-Kapazität */
179
#define AKKU_NR_MIN                                                     0
180
#define AKKU_NR_MAX                                                     9
181
#define AKKU_CAPACITY                            2500   // in mAh für Ermittlung verbleibende Flugzeit
182
#define AKKU_CAPACITY_MIN                1000
183
#define AKKU_CAPACITY_MAX                6000
184
#define MK_I_OFFSET                                                     8       // Standart 0.3
185
#define MK_I_OFFSET_MIN                                 0       // -0.5 (+0,5A ist auch der vom MK gesendete konstante Offset)
186
#define MK_I_OFFSET_MAX                          20
187
#define MK_I_OFFSET_5                                           5       // entspricht -0.5
188
#define MK_I_FAKTOR                                              80
189
#define MK_I_FAKTOR_MIN                          30     // Angabe * 100
190
#define MK_I_FAKTOR_MAX                         200
191
#define MK_W_FAKTOR                                              80
192
#define MK_W_FAKTOR_MIN                          30
193
#define MK_W_FAKTOR_MAX                         200
194
 
195
#endif /* CONFIG_H_ */