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 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

/* PORTC */
#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

/* PORTD */
#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.00"
#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_ */