Subversion Repositories FlightCtrl

Rev

Rev 1118 | Rev 1131 | 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_NEUTRAL_TIMER             25
#define PITCH_MIN2_TIMER                100


/******************************************************************************************
 * Allgemeine Parameter
 */

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

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


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

#define PARAM_ALT_P                     Parameter_Hoehe_P
#define PARAM_ALT_I                     EE_Parameter.UserParam3
#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
#define PARAM_ALT_EXP_SMOOTHING_FACTOR  EE_Parameter.UserParam4                 // Faktor für exp. Glättung


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

 
#define PARAM_PITCH_STICK_THRESHOLD     5
#define PARAM_PITCH_MIN2                EE_Parameter.UserParam2                 // Minimalgas
#define PITCH_ALT_THRESHOLD             PITCH_MIN2                              // Schwellwert für Höhenregelung

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

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

 
#define PARAM_PITCH_NEUTRAL_DIFF        EE_Parameter.UserParam1                 // Stick-Loslass-Erkennung


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

 
#define PARAM_PITCH_MD_HOVER            EE_Parameter.UserParam1                 // Standgaswert
#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 LED-Ansteuerung
 */

 
/* Helligkeit J16
 */

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

/* Helligkeit J17
 */

#define PARAM_LED_BRIGHTNESS_J17                ( EE_Parameter.UserParam6 ) // 0-250, 25x=PotiX, Wert wird durch 25 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

/* Erhöht die Blinkfrequenz für die Unterspannungswarnung.
 */

#define PARAM_LED_WARNING_FAST_ENABLED  ( EE_Parameter.UserParam7 & 0x02 )      // 0=Schnelles Blinken, 1=Ganz Schnelles Blinken

/* 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 mit dem Gear-Stick ein- und ausschalten.
 */

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


#endif // PARAMETER_H