Subversion Repositories FlightCtrl

Rev

Rev 1137 | Rev 1141 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/* parameter.h
 */


#ifndef PARAMETER_H
#define PARAMETER_H

#define PARAM_TIMER_2S                  100                                     // 2 Sekunden

#define PITCH_ALT_THRESHOLD             PITCH_MIN2                              // Schwellwert für Höhenregelung
#define PITCH_NEUTRAL_TIMER             25
#define PITCH_MIN2_TIMER                100

#define PARAM_ALT_P                     Parameter_Hoehe_P
#define PARAM_ALT_D                     Parameter_Luftdruck_D
#define PARAM_ALT_ACC                   Parameter_Hoehe_ACC_Wirkung
#define PARAM_ALT_GAIN                  EE_Parameter.Hoehe_Verstaerkung
#define PARAM_ALT_MAX                   EE_Parameter.MaxHoehe
#define PARAM_ALT_INT_MAX               1000000L

/******************************************************************************************
 * Parameter für Neutral-Pitch-Steuerung
 */

#define PARAM_PITCH_NEUTRAL_DIFF        EE_Parameter.UserParam1                 // Stick-Loslass-Erkennung
#define PARAM_PITCH_MIN2                EE_Parameter.UserParam2                 // Minimalgas

/******************************************************************************************
 * Allgemeine Pitch-Steuerungsparameter
 */

#define PARAM_PITCH_STICK_THRESHOLD     5
#define PITCH_ALT_THRESHOLD             PITCH_MIN2                              // Schwellwert für Höhenregelung

/******************************************************************************************
 * Parameter für MD-Pitch-Steuerung
 */

#define PARAM_PITCH_MD_DELAY0           5                                       // Begrenzung der Pitch-Beschleunigung am Boden
#define PARAM_PITCH_MD_DELAY1           0                                       // Begrenzung der Pitch-Beschleunigung im Flug


/******************************************************************************************
 * Parameter für Höhenregelung
 */

#define PARAM_ALT_I                     EE_Parameter.UserParam3
#define PARAM_ALT_EXP_SMOOTHING_FACTOR  EE_Parameter.UserParam4                 // Faktor für exp. Glättung

/******************************************************************************************
 * Parameter für LED-Ansteuerung
 */


/* Helligkeit J16
 */

#define PARAM_LED_BRIGHTNESS_J16        ( EE_Parameter.UserParam5 )             // 0-250, 25x=PotiX, Wert wird durch 23 geteilt

/* Helligkeit J17
 */

#define PARAM_LED_BRIGHTNESS_J17        ( EE_Parameter.UserParam6 )             // 0-250, 25x=PotiX, Wert wird durch 23 geteilt

/* Wenn die Unterspannungswarnung aktiv wird, kann mit diesem Parameter eingestellt
 * werden, daß sich die Blinkfrequenz der LED's verdoppelt.
 */

#define PARAM_LED_WARNING_SPEEDUP       ( EE_Parameter.UserParam7 & 0x03 )      // 0=deaktiviert >0=Blinkenbeschleunigung

/* Erzwingt die Aktivierung der LED-Ausgänge im Fall einer
 * Unterspannungswarnung.
 */

#define PARAM_LED_FORCE_WARNING_ENABLED ( EE_Parameter.UserParam7 & 0x04 )      // 0=deaktiviert 1=aktiviert

/* Wenn gesetzt, wird der Pegel des Ausgangs J16 vertauscht.
 */

#define PARAM_LED_NEGATE_J16            ( EE_Parameter.UserParam7 & 0x08 )      // 0=normal 1=invertiert
#define LED_NEGATE_J16                          ( PARAM_LED_NEGATE_J16 >> 3 )

/* Wenn gesetzt, wird der Pegel des Ausgangs J17 vertauscht.
 */

#define PARAM_LED_NEGATE_J17            ( EE_Parameter.UserParam7 & 0x10 )      // 0=normal 1=invertiert
#define LED_NEGATE_J17                          ( PARAM_LED_NEGATE_J17 >> 4 )

/* Die Ausgänge J16/J17 lassen sich wahlweise über die Motoren koppeln, so daß
 * die Ausgänge bei ausgeschalteten Motoren unabhängig vom eingestellten Blink-Muster
 * deaktiviert sind.
 */

#define PARAM_LED_ENGINE_ENABLED        ( EE_Parameter.UserParam7 & 0x20 )      // 0=deaktiviert 1=an Motoren gekoppelt

/* Die Ausgänge J16/J17 lassen sich wahlweise bei stehenden Motoren üner den Gierstick schalten.
 */

#define PARAM_LED_STICK_ENABLED         ( EE_Parameter.UserParam7 & 0x40 )      // 0=deaktiviert 1=aktiviert, wird durch Motorkopplung übersteuert


/* Dieser Parameter legt fest, ob in '+'-Formation (normal) oder 'X'-Formation
 * geflogen werden soll. Zur Umschaltung reicht das Setzen des Parameters. Ein
 * Umbau der FC oder Einstellungen am Sender sind nicht notwendig.
 */

#define PARAM_X_FORMATION               ( EE_Parameter.UserParam8 & 0x01 )      // 0=+, 1=X

/* Steuert, ob beim bzw. vor dem Start der Motoren eine Kalibrierung erfolgen
 * soll.
 */

#define PARAM_CAL_ON_START              ( EE_Parameter.UserParam8 & 0x02 )      // 0=deaktiviert 1=aktiviert

/* Setzt den zu verwendenden Pitch-Modus
 */

#define PARAM_PITCH_MODE                (( EE_Parameter.UserParam8 & 0x0C ) >> 2 )      // Pitch-Mode 0-3

#define PARAM_PITCH_MODE_NORMAL         0x00
#define PARAM_PITCH_MODE_NEUTRAL        0x01
#define PARAM_PITCH_MODE_MD             0x02

/* Wenn gesetzt, wird nach ca. 2s andauernder Stick-Stellung auf Minimum
 * ein Reset der Pitch-Regelung durchgeführt, so daß der MK ohne Aus- und
 * Einschalten der Motoren wieder starten kann. Die Pitch-Regelung
 * schaltet auf Leerlaufgas zurück und der Stick kann losgelassen werden,
 * ohne das Gas gegeben wird.
 */

#define PARAM_PITCH_RESTART_ENABLED     ( EE_Parameter.UserParam8 & 0x10 )      // 0=deaktiviert 1=aktiviert


/* Die Motoren können über diesen Parameter aktiviert werden. Ein Wert von 0
 * deaktiviert die Motoren und kann zum Testen verwendet werden.
 */

#define PARAM_ENGINE_ENABLED            ( EE_Parameter.UserParam8 & 0x20 )      // 0=deaktiviert 1=aktiviert

/* Skalierung des Gasinkrements (Default 15)
 */

#define PARAM_STICK_SCALE               (( EE_Parameter.UserParam8 & 0xC0 ) >> 6)

#endif // PARAMETER_H