0,0 → 1,149 |
/****************************************************************/ |
/* */ |
/* 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 CONFIG_H_ |
#define CONFIG_H_ |
|
/* PINA */ |
#define VBAT 7 // ADC |
#define RSSI1 6 // ADC |
#define RSSI0 5 // ADC |
#define MUX_IN 4 // OUT |
#define MUX_EN 3 // OUT |
#define CHANNel_12 2 // OUT |
#define CHANNel_11 1 // OUT |
#define CHANNel_10 0 // OUT |
|
/* PINB */ |
#define LCD_BACKLIGHT 7 // OUT |
#define BEEPER 4 // OUT |
#define POWER 3 // OUT |
#define CHANNel_02 2 // OUT |
#define CHANNel_01 1 // OUT |
#define CHANNel_00 0 // OUT |
|
/* PINC */ |
#define KEY_MINUS 7 // IN |
#define KEY_PLUS 6 // IN |
#define LCD_ENABLE 5 // OUT |
#define LCD_REGSELECT 4 // OUT |
#define LCD_DATA7 3 // OUT |
#define LCD_DATA6 2 // OUT |
#define LCD_DATA5 1 // OUT |
#define LCD_DATA4 0 // OUT |
|
/* PIND */ |
#define KEY_ENTER 7 // IN |
#define HSYNC 6 // IN |
#define SERVO1 5 // OUT PWM |
#define SERVO2 4 // OUT PWM |
#define VSYNC1 3 // IN Int1 |
#define VSYNC0 2 // IN Int0 |
#define TX 1 // OUT USART |
#define RX 0 // IN USART |
/* PORT - DDR */ |
/* LCD */ |
#define LCD_BACKLIGHT_PORT PORTB |
#define LCD_BACKLIGHT_DDR DDRB |
#define LCD_E_PORT PORTC |
#define LCD_E_DDR DDRC |
#define LCD_RS_PORT PORTC |
#define LCD_RS_DDR DDRC |
#define LCD_DATA_PORT PORTC |
#define LCD_DATA_DDR DDRC |
#define LCD_DATA_PIN PINC |
|
#define LCD_LINES 3 |
#define LCD_COLS 16 |
|
/* SWITCH */ |
#define KEY_MP_DDR DDRC |
#define KEY_MP_PORT PORTC |
#define KEY_MP_PIN PINC |
#define KEY_ENTER_DDR DDRD |
#define KEY_ENTER_PORT PORTD |
#define KEY_ENTER_PIN PIND |
|
#define SW_MINUS 7 |
#define SW_PLUS 6 |
#define SW_ENTER 5 |
#define REPEAT_MASK (1<<SW_MINUS | 1<<SW_PLUS | 1<<SW_ENTER) |
|
/* zusätzliche Timer in Abhängikeit vom Interrupttimer 0 - Keys */ |
#define TIMER0_1 50 // x * 10ms für Anzeige UBat |
#define TIMER0_2 20 // x * 10ms für Bargraph und Diversity |
#define TIMER0_3 2 // x * 10ms für RSSI Diversity |
#define TIMER0_4 10 // x * 10ms für wi232 Nachführung Antenne |
#define TIMER0_5 1000 // x * 10ms Hintergrundbeleuchtung 10 sekunden Schritte |
#define BLINK_PERIOD 12 // abhängig von Tracking_GPS() in Task_0_4(void) |
/* initiale Anfangswerte der Einstellungen */ |
#define EEP_INITB 75 // irgend ein Wert um beschriebenen EEPROM zu erkennen |
#define VERSION "1.10" |
#define CONTRAST3V 16 // 16 bei LCD 3,3V Bias 1/5 default Wert |
#define CONTRAST5V 12 // 12 bei LCD 5V Bias 1/4 |
#define CONTRAST_MIN 0 |
#define CONTRAST_MAX 30 |
#define BACKGR_LIGHT 31 // Hintergrundbeleuchtung immer an |
#define BACKGR_LIGHT_MIN 0 // Hintergrundbeleuchtung immer aus |
#define BACKGR_LIGHT_MAX 31 // Hintergrundbeleuchtung immer an, z.Z.: Max = 5 Minuten |
#define U_OFFSET 85 // um type float o. double zu vermeiden *100 |
#define U_OFFSET_MIN 0 |
#define U_OFFSET_MAX 200 |
#define U_MIN 960 // um type float o. double zu vermeiden *100 |
#define U_MIN_MIN 550 // auch für Lipo 2s |
#define U_MIN_MAX 1400 |
#define CHANNEL 1 // default Wert |
#define CHANNEL_MIN 1 |
#define CHANNEL_MAX 7 |
#define AV_SOURCE 0 // av1, av2, diversity |
#define AV_SOURCE_MIN 0 |
#define AV_SOURCE_MAX 2 |
/* Toleranzen bei den RSSI-Spannungen ausgleichen */ |
#define UDBM_MIN 460 // RSSI geringste Feldstärke |
#define UDBM_MAX 75 // RSSI größte Feldstärke |
#define UDBM_KORR_FA 128 // Korrekturfaktor 1 * 128 RSSI1 korrigieren |
/* Servokalibrierungen derzeit zu SERVO_STEPS = 255 skaliert */ |
#define SERVO_PAN 0 |
#define SERVO_TILT 1 |
#define SERVO_NUM_CHANNELS 2 // Anzahl der angeschlossen Servos max. 2!!! |
#define SERVO_PERIODE 20 // default Angabe in ms |
//prescaler 256 |
#define SERVO_I0_RIGHT 45 // default Wert, ca. 0,9ms |
#define SERVO_I0_RIGHT_MIN 0 // Servokalibrierung Grenze der linken Position |
#define SERVO_I0_RIGHT_MAX 100 // SERVO_MIN + SERVO_RIGHT |
#define SERVO_I0_LEFT 45 // default Wert, ca. 2,1ms |
#define SERVO_I0_LEFT_MIN 0 // Servokalibrierung ,Grenze der rechten Position |
#define SERVO_I0_LEFT_MAX 100 // SERVO_MAX - SERVO_LEFT |
#define SERVO_I0_MIDDLE SERVO_STEPS/2 |
#define SERVO_I0_MIDDLE_MIN SERVO_STEPS/2 - 25 |
#define SERVO_I0_MIDDLE_MAX SERVO_STEPS/2 + 25 |
//prescaler 64 |
#define SERVO_I1_RIGHT 180 // default Wert, ca. 0,9ms |
#define SERVO_I1_RIGHT_MIN 0 // Servokalibrierung Grenze der linken Position |
#define SERVO_I1_RIGHT_MAX 400 // SERVO_MIN + SERVO_RIGHT |
#define SERVO_I1_LEFT 180 // default Wert, ca. 2,1ms |
#define SERVO_I1_LEFT_MIN 0 // Servokalibrierung ,Grenze der rechten Position |
#define SERVO_I1_LEFT_MAX 400 // SERVO_MAX - SERVO_LEFT |
#define SERVO_I1_MIDDLE ((SERVO_STEPS + 1) * 4 - 1)/2 |
#define SERVO_I1_MIDDLE_MIN ((SERVO_STEPS + 1) * 4 - 1)/2 - 100 |
#define SERVO_I1_MIDDLE_MAX ((SERVO_STEPS + 1) * 4 - 1)/2 + 100 |
|
#define SERVO_REV 0 // kein Reverse |
/* Antennen-Nachführung */ |
#define TRACKING_MIN 0 // aus, TRACKING_RSSI, TRACKING_GPS, TRACKING_MKCOCKPIT |
#define TRACKING_MAX 3 |
/* Antennen-Nachführung per RSSI */ |
#define TRACKING_HYSTERESE 40 // Hysterese bevor Tracking bei Richtungswechsel anspricht |
#define TRACKING_HYST_MIN 0 |
#define TRACKING_HYST_MAX 100 |
|
|
#endif /* CONFIG_H_ */ |