0,0 → 1,2583 |
/***************************************************************************** |
* Copyright (C) 2008 Thomas Kaiser, thomas@ft-fanpage.de * |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* Copyright (C) 2011 Christian "Cebra" Brandtner, brandtner@brandtner.net * |
* Copyright (C) 2011 Harald Bongartz * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
* * |
* Credits to: * |
* Holger Buss & Ingo Busker from mikrokopter.de for the MK project + SVN * |
* http://www.mikrokopter.de * |
* Gregor "killagreg" Stobrawa for his version of the MK code * |
* Thomas Kaiser "thkais" for the original project. See * |
* http://www.ft-fanpage.de/mikrokopter/ * |
* http://forum.mikrokopter.de/topic-4061-1.html * |
* Claas Anders "CaScAdE" Rathje for providing the font and his C-OSD code * |
* http://www.mylifesucks.de/oss/c-osd/ * |
* Harald Bongartz "HaraldB" for providing his Ideas and Code for usibility* |
*****************************************************************************/ |
|
//############################################################################ |
//# HISTORY paramset.c |
//# |
//# 16.07.2015 Cebra (PKT385a) |
//# - add: unsigned char SingleWpControlChannel; (FC2.11a) |
//# unsigned char MenuKeyChannel; (FC2.11a) |
//# - add: paramset_106 (FC2.11a) |
//# |
//# 09.04.2015 Cebra (PKT384a) |
//# - add: unsigned char ServoFS_Pos[5] (FC 2.09i) |
//# - add: paramset_105 (FC2.09j) |
//# |
//# 19.03.2015 Cebra (PKT383a) |
//# - add: param_LandingPulse (FC 2.09d) |
//# |
//# 26.01.2015 Cebra |
//# - add: Function transform_ComingHomeOrientation |
//# Ändert die Bits 4+5 für ServoCompInvert |
//# in Konfigurationstabelle der paramSubID: param_ComingHomeOrientation neu |
//# |
//# 26.09.2014 Cebra |
//# - add: Parameterset Rev. 103 (FC 2.07f) |
//# - chg: param_Hoehe_GPS_Z zu param_Hoehe_Verstaerkung im Paramset 103 |
//# |
//# 14.05.2014 OG |
//# - chg: include "mkbase.h" geaendert auf "../mk/mkbase.h" |
//# |
//# 10.05.2014 OG |
//# - add: transform_CompassOffset_DisableDeclCalc() - transformiert true/false |
//# in das Byte von param_CompassOffset |
//# |
//# 09.05.2014 OG |
//# - chg: paramSet() - angepasst auf Transform-Funktionen |
//# - chg: paramGet() - angepasst auf Transform-Funktionen |
//# - add: eine neue Transformations-Zwischenschicht implementiert - abgebildet |
//# ueber die neue Tabelle paramTransform. |
//# Hier koennen Transform-Funktionen hinterlegt werden die einen |
//# ubyte8 Wert veraendern. |
//# Die Transformation wird von paramSet()/paramGet() aufgerufen. |
//# |
//# 17.04.2014 OG |
//# - FIX: _paramset_getsubitemid(): Pruefung von_Revision/bis_Revision |
//# korrigiert - fuehrte vorher ggf. zu falschen Anzeigen von SubItems! |
//# - chg: param_BitConfig_MotorOffLed1 auf bis_Revision 101 begrenzt |
//# - chg: param_BitConfig_MotorOffLed2 auf bis_Revision 101 begrenzt |
//# |
//# 09.04.2014 OG |
//# - chg: Rev. 101 auf param_DUMMY umgestellt um Platz zu sparen |
//# |
//# 08.04.2014 OG |
//# - add: Parameterset Rev. 102 (FC 2.05g) |
//# - fix: _paramset_getsubitemid() - Vergleich bzgl. von/bis_Revision umgedreht |
//# und equal zugefuegt |
//# |
//# 06.04.2014 OG |
//# - add: Parameterset Rev. 101 (FC 2.05f) |
//# -> param_Servo3OnValue, param_Servo3OffValue |
//# -> param_Servo4OnValue, param_Servo4OffValue |
//# |
//# 28.03.2014 OG |
//# - add: Parameterset Rev. 100 (FC 2.05e) |
//# (param_AutoPhotoDistance, param_AutoPhotoAtitudes, param_SingleWpSpeed) |
//# |
//# 26.03.2014 OG |
//# - add: param_CompassOffset_DisableDeclCalc (Sub-Item) |
//# |
//# 24.03.2014 OG |
//# - chg: _paramset_getsubitemid() erweitert Unterstuetzung von/bis FC-Revisionen |
//# - add: paramSubItem_t mit Unterstuetzung fuer von/bis FC-Revisionen |
//# |
//# 27.02.2014 OG |
//# - chg: die Revisions-Tabellen 90 bis 94 mittels param_DUMMY gekuerzt |
//# -> keine Parameter-Bearbeitung bei denen moeglich |
//# - add: vollstaendige Unterstuetzung von paramSubID's via paramGet(), paramSet() |
//# |
//# 26.02.2014 OG |
//# - add: paramSubItem[] - Zugriffstabelle auf Bit- und Bytefelder innerhalb |
//# einer paramID |
//# - chg: bei den paramset_nnn[] Tabellen 'const' ergaenzt |
//# - chg: paramsetTest() umbenannt zu paramsetDEBUG() |
//# |
//# 19.02.2014 OG |
//# - fix: paramsetInit() Parameter pData wurde nicht konsequent verwendet |
//# |
//# 14.02.2014 OG |
//# - add: diverse Zugriffsfunktionen fuer paramID's und paramSet's |
//# - add: Rev-Tabellen von FC v0.88e bis FC v2.03d |
//# |
//# 05.02.2014 OG - NEU |
//############################################################################ |
|
|
//############################################################################ |
//# INHALT |
//# |
//# 1a. Konfigurationtabellen fuer verschiedene FC-Revisionen |
//# 1b. Zuweisungstabelle: Revision -> paramset_xxx |
//# 2. Konfigurationstabelle der paramSubID's (Bit- und Bytefelder) |
//# 3a. interne Zugriffsfunktionen |
//# 3b. oeffentliche Zugriffsfunktionen fuer paramID / paramSubID Elemente |
//# 3c. oeffentliche Zugriffsfunktionen fuer das gesamte Paramset (Int usw.) |
//# x. TEST / DEBUG |
//############################################################################ |
|
|
#include "../cpu.h" |
#include <avr/io.h> |
#include <inttypes.h> |
#include <stdlib.h> |
#include <avr/pgmspace.h> |
#include <avr/wdt.h> |
#include <util/delay.h> |
#include <avr/eeprom.h> |
#include <util/delay.h> |
#include <string.h> |
#include <util/atomic.h> |
|
#include "../main.h" |
#include "../lipo/lipo.h" |
#include "../lcd/lcd.h" |
#include "../uart/usart.h" |
|
#include "../uart/uart1.h" |
#include "../mk-data-structs.h" |
#include "../timer/timer.h" |
#include "../eeprom/eeprom.h" |
#include "../messages.h" |
#include "../utils/scrollbox.h" |
#include "../pkt/pkt.h" |
#include "../mk/mkbase.h" |
#include "paramset.h" |
|
|
|
//--------------------------- |
// fuer transform_... |
//--------------------------- |
#define GETVALUE 1 // Wert setzen |
#define SETVALUE 2 // Wert lesen |
|
|
|
paramRevItem_t *paramsetRevTable; // Zeiger auf aktive Revision-Table oder 0 wenn nicht gesetzt -> wird gesetzt druch paramsetInit() / paramset.c |
unsigned char *mkparamset; // nur temp. gueltig solange der PKT-RX-Buffer (pRxData) noch nicht wieder ueberschrieben -> wird gesetzt druch paramsetInit() / paramset.c |
|
|
|
//############################################################################################# |
//# 1a. Konfigurationtabellen fuer verschiedene FC-Revisionen |
//############################################################################################# |
|
|
//--------------------------------------------------------------------------------------- |
// die nachfolgenden Tabellen entsprechen der Struktur von paramRevItem_t aus paramset.h |
//--------------------------------------------------------------------------------------- |
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 90 |
// |
// ab FC-Version: ab ??? bis ??? |
// gefunden in : 0.88e |
// |
// Tabelle ist definiert in der |
// nachfolgenden paramset_091 |
// |
// STRUKTUR-DIFF zu 0: |
// |
// DEFINE-DIFF zu 0: |
//----------------------------------------------- |
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 91 |
// |
// ab FC-Version: ab ??? bis ??? |
// gefunden in : 0.88m, 0.88n |
// |
// STRUKTUR-DIFF zu 090: |
// - keine Aenderung der internen Datenstruktur erkennbar! |
// |
// DEFINE-DIFF zu 090: |
// - add: #define PID_SPEAK_HOTT_CFG |
// - add: #define CFG3_MOTOR_SWITCH_MODE |
// - add: #define CFG3_NO_GPSFIX_NO_START |
//----------------------------------------------- |
// |
// |
// + paramID (paramRevItem_t -> paramID) |
// | |
// | + size in Bytes (paramRevItem_t -> size) |
// | | |
// | | |
// | | |
paramRevItem_t const paramset_091[] PROGMEM = |
{ |
{ param_DUMMY , 111 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
{ param_Name , 12 }, // char Name[12]; |
{ param_DUMMY , 1 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
|
{ param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
|
}; // end: paramset_091[] |
|
|
|
//############################################################################################################################################################ |
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 92 |
// |
// ab FC-Version: ab ??? bis ??? |
// gefunden in : 0.90d |
// |
// Tabelle ist definiert in der |
// nachfolgenden paramset_093 |
// |
// STRUKTUR-DIFF zu 091: |
// -add: param_NaviOut1Parameter |
//# |
// DEFINE-DIFF zu 091: |
// -add: #define CFG3_USE_NC_FOR_OUT1 0x20 |
// -add: #define CFG3_SPEAK_ALL |
// -add: #define SERVO_NICK_INV 0x01 |
// -add: #define SERVO_ROLL_INV 0x02 |
// -add: #define SERVO_RELATIVE 0x04 |
//----------------------------------------------- |
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 93 |
// |
// ab FC-Version: ab ??? bis ??? |
// gefunden in : 0.90e, 0.90g, 0.90j |
// |
// STRUKTUR-DIFF zu 092: |
// - keine Aenderung der internen Datenstruktur erkennbar! |
// |
// DEFINE-DIFF zu 092: |
// - keine Aenderung erkennbar! |
//----------------------------------------------- |
paramRevItem_t const paramset_093[] PROGMEM = |
{ |
{ param_DUMMY , 112 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
{ param_Name , 12 }, // char Name[12]; |
{ param_DUMMY , 1 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
|
{ param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
|
}; // end: paramset_093[] |
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 94 |
// |
// ab FC-Version: ab ??? bis ??? |
// gefunden in : 0.91a |
// |
// STRUKTUR-DIFF zu 093: |
// - add: param_StartLandChannel |
// - add: param_LandingSpeed |
// |
// DEFINE-DIFF zu 093: |
// etwas undurchsichtig... |
// - add: #define EE_DUMMY |
// - add: #define PID_HARDWARE_VERSION |
//----------------------------------------------- |
paramRevItem_t const paramset_094[] PROGMEM = |
{ |
{ param_DUMMY , 114 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
{ param_Name , 12 }, // char Name[12]; |
{ param_DUMMY , 1 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
|
{ param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
|
}; // end: paramset_094[] |
|
|
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 95 |
// |
// ab FC-Version: ab ??? bis ??? |
// gefunden in : 0.90L, 2.00a, , 2.00e |
// |
// STRUKTUR-DIFF zu 094: |
// - rename: param_MaxHoehe -> param_HoeheChannel |
// - rename: param_NaviGpsModeControl -> param_NaviGpsModeChannel |
// - rename: param_NaviGpsACC -> param_NaviGpsA |
// - rename: param_CareFreeModeControl -> param_CareFreeChannel |
// |
// DEFINE-DIFF zu 094: |
// - keine Aenderung |
//----------------------------------------------- |
paramRevItem_t const paramset_095[] PROGMEM = |
{ |
{ param_Revision , 1 }, // unsigned char Revision; |
{ param_Kanalbelegung , 12 }, // unsigned char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
{ param_GlobalConfig , 1 }, // unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
{ param_Hoehe_MinGas , 1 }, // unsigned char Hoehe_MinGas; // Wert : 0-100 |
{ param_Luftdruck_D , 1 }, // unsigned char Luftdruck_D; // Wert : 0-250 |
{ param_HoeheChannel , 1 }, // unsigned char HoeheChannel; // Wert : 0-32 |
{ param_Hoehe_P , 1 }, // unsigned char Hoehe_P; // Wert : 0-32 |
{ param_Hoehe_Verstaerkung , 1 }, // unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
{ param_Hoehe_ACC_Wirkung , 1 }, // unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
{ param_Hoehe_HoverBand , 1 }, // unsigned char Hoehe_HoverBand; // Wert : 0-250 |
{ param_Hoehe_GPS_Z , 1 }, // unsigned char Hoehe_GPS_Z; // Wert : 0-250 |
{ param_Hoehe_StickNeutralPoint , 1 }, // unsigned char Hoehe_StickNeutralPoint;// Wert : 0-250 |
{ param_Stick_P , 1 }, // unsigned char Stick_P; // Wert : 1-6 |
{ param_Stick_D , 1 }, // unsigned char Stick_D; // Wert : 0-64 |
{ param_StickGier_P , 1 }, // unsigned char StickGier_P; // Wert : 1-20 |
{ param_Gas_Min , 1 }, // unsigned char Gas_Min; // Wert : 0-32 |
{ param_Gas_Max , 1 }, // unsigned char Gas_Max; // Wert : 33-250 |
{ param_GyroAccFaktor , 1 }, // unsigned char GyroAccFaktor; // Wert : 1-64 |
{ param_KompassWirkung , 1 }, // unsigned char KompassWirkung; // Wert : 0-32 |
{ param_Gyro_P , 1 }, // unsigned char Gyro_P; // Wert : 10-250 |
{ param_Gyro_I , 1 }, // unsigned char Gyro_I; // Wert : 0-250 |
{ param_Gyro_D , 1 }, // unsigned char Gyro_D; // Wert : 0-250 |
{ param_Gyro_Gier_P , 1 }, // unsigned char Gyro_Gier_P; // Wert : 10-250 |
{ param_Gyro_Gier_I , 1 }, // unsigned char Gyro_Gier_I; // Wert : 0-250 |
{ param_Gyro_Stability , 1 }, // unsigned char Gyro_Stability; // Wert : 0-16 |
{ param_UnterspannungsWarnung , 1 }, // unsigned char UnterspannungsWarnung; // Wert : 0-250 |
{ param_NotGas , 1 }, // unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
{ param_NotGasZeit , 1 }, // unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
{ param_Receiver , 1 }, // unsigned char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
{ param_I_Faktor , 1 }, // unsigned char I_Faktor; // Wert : 0-250 |
{ param_UserParam1 , 1 }, // unsigned char UserParam1; // Wert : 0-250 |
{ param_UserParam2 , 1 }, // unsigned char UserParam2; // Wert : 0-250 |
{ param_UserParam3 , 1 }, // unsigned char UserParam3; // Wert : 0-250 |
{ param_UserParam4 , 1 }, // unsigned char UserParam4; // Wert : 0-250 |
{ param_ServoNickControl , 1 }, // unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoNickComp , 1 }, // unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
{ param_ServoNickMin , 1 }, // unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
{ param_ServoNickMax , 1 }, // unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
{ param_ServoRollControl , 1 }, // unsigned char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoRollComp , 1 }, // unsigned char ServoRollComp; // Wert : 0-250 |
{ param_ServoRollMin , 1 }, // unsigned char ServoRollMin; // Wert : 0-250 |
{ param_ServoRollMax , 1 }, // unsigned char ServoRollMax; // Wert : 0-250 |
{ param_ServoNickRefresh , 1 }, // unsigned char ServoNickRefresh; // Speed of the Servo |
{ param_ServoManualControlSpeed , 1 }, // unsigned char ServoManualControlSpeed;// |
{ param_CamOrientation , 1 }, // unsigned char CamOrientation; // |
{ param_Servo3 , 1 }, // unsigned char Servo3; // Value or mapping of the Servo Output |
{ param_Servo4 , 1 }, // unsigned char Servo4; // Value or mapping of the Servo Output |
{ param_Servo5 , 1 }, // unsigned char Servo5; // Value or mapping of the Servo Output |
{ param_LoopGasLimit , 1 }, // unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
{ param_LoopThreshold , 1 }, // unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
{ param_LoopHysterese , 1 }, // unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
{ param_AchsKopplung1 , 1 }, // unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
{ param_AchsKopplung2 , 1 }, // unsigned char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_CouplingYawCorrection , 1 }, // unsigned char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_WinkelUmschlagNick , 1 }, // unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
{ param_WinkelUmschlagRoll , 1 }, // unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
{ param_GyroAccAbgleich , 1 }, // unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
{ param_Driftkomp , 1 }, // unsigned char Driftkomp; |
{ param_DynamicStability , 1 }, // unsigned char DynamicStability; |
{ param_UserParam5 , 1 }, // unsigned char UserParam5; // Wert : 0-250 |
{ param_UserParam6 , 1 }, // unsigned char UserParam6; // Wert : 0-250 |
{ param_UserParam7 , 1 }, // unsigned char UserParam7; // Wert : 0-250 |
{ param_UserParam8 , 1 }, // unsigned char UserParam8; // Wert : 0-250 |
{ param_J16Bitmask , 1 }, // unsigned char J16Bitmask; // for the J16 Output |
{ param_J16Timing , 1 }, // unsigned char J16Timing; // for the J16 Output |
{ param_J17Bitmask , 1 }, // unsigned char J17Bitmask; // for the J17 Output |
{ param_J17Timing , 1 }, // unsigned char J17Timing; // for the J17 Output |
{ param_WARN_J16_Bitmask , 1 }, // unsigned char WARN_J16_Bitmask; // for the J16 Output |
{ param_WARN_J17_Bitmask , 1 }, // unsigned char WARN_J17_Bitmask; // for the J17 Output |
{ param_NaviOut1Parameter , 1 }, // unsigned char NaviOut1Parameter; // for the J16 Output |
{ param_NaviGpsModeChannel , 1 }, // unsigned char NaviGpsModeChannel; // Parameters for the Naviboard |
{ param_NaviGpsGain , 1 }, // unsigned char NaviGpsGain; |
{ param_NaviGpsP , 1 }, // unsigned char NaviGpsP; |
{ param_NaviGpsI , 1 }, // unsigned char NaviGpsI; |
{ param_NaviGpsD , 1 }, // unsigned char NaviGpsD; |
{ param_NaviGpsPLimit , 1 }, // unsigned char NaviGpsPLimit; |
{ param_NaviGpsILimit , 1 }, // unsigned char NaviGpsILimit; |
{ param_NaviGpsDLimit , 1 }, // unsigned char NaviGpsDLimit; |
{ param_NaviGpsA , 1 }, // unsigned char NaviGpsA; |
{ param_NaviGpsMinSat , 1 }, // unsigned char NaviGpsMinSat; |
{ param_NaviStickThreshold , 1 }, // unsigned char NaviStickThreshold; |
{ param_NaviWindCorrection , 1 }, // unsigned char NaviWindCorrection; |
{ param_NaviAccCompensation , 1 }, // unsigned char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
{ param_NaviOperatingRadius , 1 }, // unsigned char NaviOperatingRadius; |
{ param_NaviAngleLimitation , 1 }, // unsigned char NaviAngleLimitation; |
{ param_NaviPH_LoginTime , 1 }, // unsigned char NaviPH_LoginTime; |
{ param_ExternalControl , 1 }, // unsigned char ExternalControl; // for serial Control |
{ param_OrientationAngle , 1 }, // unsigned char OrientationAngle; // Where is the front-direction? |
{ param_CareFreeChannel , 1 }, // unsigned char CareFreeChannel; // switch for CareFree |
{ param_MotorSafetySwitch , 1 }, // unsigned char MotorSafetySwitch; |
{ param_MotorSmooth , 1 }, // unsigned char MotorSmooth; |
{ param_ComingHomeAltitude , 1 }, // unsigned char ComingHomeAltitude; |
{ param_FailSafeTime , 1 }, // unsigned char FailSafeTime; |
{ param_MaxAltitude , 1 }, // unsigned char MaxAltitude; |
{ param_FailsafeChannel , 1 }, // unsigned char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
{ param_ServoFilterNick , 1 }, // unsigned char ServoFilterNick; |
{ param_ServoFilterRoll , 1 }, // unsigned char ServoFilterRoll; |
{ param_StartLandChannel , 1 }, // unsigned char StartLandChannel; |
{ param_LandingSpeed , 1 }, // unsigned char LandingSpeed; |
{ param_BitConfig , 1 }, // unsigned char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
{ param_ServoCompInvert , 1 }, // unsigned char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
{ param_ExtraConfig , 1 }, // unsigned char ExtraConfig; // bitcodiert |
{ param_GlobalConfig3 , 1 }, // unsigned char GlobalConfig3; // bitcodiert |
{ param_Name , 12 }, // char Name[12]; |
{ param_crc , 1 }, // unsigned char crc; // must be the last byte! |
|
{ param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
|
}; // end: paramset_095[] |
|
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 96 |
// |
// ab FC-Version: ab ??? bis ??? |
// gefunden in: ??? |
// |
// STRUKTUR-DIFF zu 095: |
// - KEINE AENDERUNG der INTERNEN DATEN-STRUKTUR! |
// |
// DEFINE-DIFF zu 095: |
// GlobalConfig3 |
// - add: #define CFG3_SERVO_NICK_COMP_OFF 0x80 |
//----------------------------------------------- |
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 97 |
// |
// ab FC-Version: ab ??? bis ??? |
// gefunden in: 2.02b |
// |
// STRUKTUR-DIFF zu 096: |
// - add: param_CompassOffset |
// - add: param_AutoLandingVoltage |
// |
// DEFINE-DIFF zu 096: |
// - keine Aenderung |
//----------------------------------------------- |
paramRevItem_t const paramset_097[] PROGMEM = |
{ |
{ param_Revision , 1 }, // unsigned char Revision; |
{ param_Kanalbelegung , 12 }, // unsigned char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
{ param_GlobalConfig , 1 }, // unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
{ param_Hoehe_MinGas , 1 }, // unsigned char Hoehe_MinGas; // Wert : 0-100 |
{ param_Luftdruck_D , 1 }, // unsigned char Luftdruck_D; // Wert : 0-250 |
{ param_HoeheChannel , 1 }, // unsigned char HoeheChannel; // Wert : 0-32 |
{ param_Hoehe_P , 1 }, // unsigned char Hoehe_P; // Wert : 0-32 |
{ param_Hoehe_Verstaerkung , 1 }, // unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
{ param_Hoehe_ACC_Wirkung , 1 }, // unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
{ param_Hoehe_HoverBand , 1 }, // unsigned char Hoehe_HoverBand; // Wert : 0-250 |
{ param_Hoehe_GPS_Z , 1 }, // unsigned char Hoehe_GPS_Z; // Wert : 0-250 |
{ param_Hoehe_StickNeutralPoint , 1 }, // unsigned char Hoehe_StickNeutralPoint;// Wert : 0-250 |
{ param_Stick_P , 1 }, // unsigned char Stick_P; // Wert : 1-6 |
{ param_Stick_D , 1 }, // unsigned char Stick_D; // Wert : 0-64 |
{ param_StickGier_P , 1 }, // unsigned char StickGier_P; // Wert : 1-20 |
{ param_Gas_Min , 1 }, // unsigned char Gas_Min; // Wert : 0-32 |
{ param_Gas_Max , 1 }, // unsigned char Gas_Max; // Wert : 33-250 |
{ param_GyroAccFaktor , 1 }, // unsigned char GyroAccFaktor; // Wert : 1-64 |
{ param_KompassWirkung , 1 }, // unsigned char KompassWirkung; // Wert : 0-32 |
{ param_Gyro_P , 1 }, // unsigned char Gyro_P; // Wert : 10-250 |
{ param_Gyro_I , 1 }, // unsigned char Gyro_I; // Wert : 0-250 |
{ param_Gyro_D , 1 }, // unsigned char Gyro_D; // Wert : 0-250 |
{ param_Gyro_Gier_P , 1 }, // unsigned char Gyro_Gier_P; // Wert : 10-250 |
{ param_Gyro_Gier_I , 1 }, // unsigned char Gyro_Gier_I; // Wert : 0-250 |
{ param_Gyro_Stability , 1 }, // unsigned char Gyro_Stability; // Wert : 0-16 |
{ param_UnterspannungsWarnung , 1 }, // unsigned char UnterspannungsWarnung; // Wert : 0-250 |
{ param_NotGas , 1 }, // unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
{ param_NotGasZeit , 1 }, // unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
{ param_Receiver , 1 }, // unsigned char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
{ param_I_Faktor , 1 }, // unsigned char I_Faktor; // Wert : 0-250 |
{ param_UserParam1 , 1 }, // unsigned char UserParam1; // Wert : 0-250 |
{ param_UserParam2 , 1 }, // unsigned char UserParam2; // Wert : 0-250 |
{ param_UserParam3 , 1 }, // unsigned char UserParam3; // Wert : 0-250 |
{ param_UserParam4 , 1 }, // unsigned char UserParam4; // Wert : 0-250 |
{ param_ServoNickControl , 1 }, // unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoNickComp , 1 }, // unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
{ param_ServoNickMin , 1 }, // unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
{ param_ServoNickMax , 1 }, // unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
{ param_ServoRollControl , 1 }, // unsigned char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoRollComp , 1 }, // unsigned char ServoRollComp; // Wert : 0-250 |
{ param_ServoRollMin , 1 }, // unsigned char ServoRollMin; // Wert : 0-250 |
{ param_ServoRollMax , 1 }, // unsigned char ServoRollMax; // Wert : 0-250 |
{ param_ServoNickRefresh , 1 }, // unsigned char ServoNickRefresh; // Speed of the Servo |
{ param_ServoManualControlSpeed , 1 }, // unsigned char ServoManualControlSpeed;// |
{ param_CamOrientation , 1 }, // unsigned char CamOrientation; // |
{ param_Servo3 , 1 }, // unsigned char Servo3; // Value or mapping of the Servo Output |
{ param_Servo4 , 1 }, // unsigned char Servo4; // Value or mapping of the Servo Output |
{ param_Servo5 , 1 }, // unsigned char Servo5; // Value or mapping of the Servo Output |
{ param_LoopGasLimit , 1 }, // unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
{ param_LoopThreshold , 1 }, // unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
{ param_LoopHysterese , 1 }, // unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
{ param_AchsKopplung1 , 1 }, // unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
{ param_AchsKopplung2 , 1 }, // unsigned char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_CouplingYawCorrection , 1 }, // unsigned char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_WinkelUmschlagNick , 1 }, // unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
{ param_WinkelUmschlagRoll , 1 }, // unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
{ param_GyroAccAbgleich , 1 }, // unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
{ param_Driftkomp , 1 }, // unsigned char Driftkomp; |
{ param_DynamicStability , 1 }, // unsigned char DynamicStability; |
{ param_UserParam5 , 1 }, // unsigned char UserParam5; // Wert : 0-250 |
{ param_UserParam6 , 1 }, // unsigned char UserParam6; // Wert : 0-250 |
{ param_UserParam7 , 1 }, // unsigned char UserParam7; // Wert : 0-250 |
{ param_UserParam8 , 1 }, // unsigned char UserParam8; // Wert : 0-250 |
{ param_J16Bitmask , 1 }, // unsigned char J16Bitmask; // for the J16 Output |
{ param_J16Timing , 1 }, // unsigned char J16Timing; // for the J16 Output |
{ param_J17Bitmask , 1 }, // unsigned char J17Bitmask; // for the J17 Output |
{ param_J17Timing , 1 }, // unsigned char J17Timing; // for the J17 Output |
{ param_WARN_J16_Bitmask , 1 }, // unsigned char WARN_J16_Bitmask; // for the J16 Output |
{ param_WARN_J17_Bitmask , 1 }, // unsigned char WARN_J17_Bitmask; // for the J17 Output |
{ param_NaviOut1Parameter , 1 }, // unsigned char NaviOut1Parameter; // for the J16 Output |
{ param_NaviGpsModeChannel , 1 }, // unsigned char NaviGpsModeChannel; // Parameters for the Naviboard |
{ param_NaviGpsGain , 1 }, // unsigned char NaviGpsGain; |
{ param_NaviGpsP , 1 }, // unsigned char NaviGpsP; |
{ param_NaviGpsI , 1 }, // unsigned char NaviGpsI; |
{ param_NaviGpsD , 1 }, // unsigned char NaviGpsD; |
{ param_NaviGpsPLimit , 1 }, // unsigned char NaviGpsPLimit; |
{ param_NaviGpsILimit , 1 }, // unsigned char NaviGpsILimit; |
{ param_NaviGpsDLimit , 1 }, // unsigned char NaviGpsDLimit; |
{ param_NaviGpsA , 1 }, // unsigned char NaviGpsA; |
{ param_NaviGpsMinSat , 1 }, // unsigned char NaviGpsMinSat; |
{ param_NaviStickThreshold , 1 }, // unsigned char NaviStickThreshold; |
{ param_NaviWindCorrection , 1 }, // unsigned char NaviWindCorrection; |
{ param_NaviAccCompensation , 1 }, // unsigned char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
{ param_NaviOperatingRadius , 1 }, // unsigned char NaviOperatingRadius; |
{ param_NaviAngleLimitation , 1 }, // unsigned char NaviAngleLimitation; |
{ param_NaviPH_LoginTime , 1 }, // unsigned char NaviPH_LoginTime; |
{ param_ExternalControl , 1 }, // unsigned char ExternalControl; // for serial Control |
{ param_OrientationAngle , 1 }, // unsigned char OrientationAngle; // Where is the front-direction? |
{ param_CareFreeChannel , 1 }, // unsigned char CareFreeChannel; // switch for CareFree |
{ param_MotorSafetySwitch , 1 }, // unsigned char MotorSafetySwitch; |
{ param_MotorSmooth , 1 }, // unsigned char MotorSmooth; |
{ param_ComingHomeAltitude , 1 }, // unsigned char ComingHomeAltitude; |
{ param_FailSafeTime , 1 }, // unsigned char FailSafeTime; |
{ param_MaxAltitude , 1 }, // unsigned char MaxAltitude; |
{ param_FailsafeChannel , 1 }, // unsigned char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
{ param_ServoFilterNick , 1 }, // unsigned char ServoFilterNick; |
{ param_ServoFilterRoll , 1 }, // unsigned char ServoFilterRoll; |
{ param_StartLandChannel , 1 }, // unsigned char StartLandChannel; |
{ param_LandingSpeed , 1 }, // unsigned char LandingSpeed; |
{ param_CompassOffset , 1 }, // unsigned char CompassOffset; |
{ param_AutoLandingVoltage , 1 }, // unsigned char AutoLandingVoltage; // in 0,1V 0 -> disabled |
{ param_BitConfig , 1 }, // unsigned char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
{ param_ServoCompInvert , 1 }, // unsigned char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
{ param_ExtraConfig , 1 }, // unsigned char ExtraConfig; // bitcodiert |
{ param_GlobalConfig3 , 1 }, // unsigned char GlobalConfig3; // bitcodiert |
{ param_Name , 12 }, // char Name[12]; |
{ param_crc , 1 }, // unsigned char crc; // must be the last byte! |
|
{ param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
|
}; // end: paramset_097[] |
|
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 98 |
// |
// ab FC-Version: ab ??? bis ??? |
// gefunden in: 2.03d |
// |
// STRUKTUR-DIFF zu 097: |
// - add: param_ComingHomeVoltage |
// |
// DEFINE-DIFF zu 097: |
// - keine Aenderung |
//----------------------------------------------- |
paramRevItem_t const paramset_098[] PROGMEM = |
{ |
{ param_Revision , 1 }, // unsigned char Revision; |
{ param_Kanalbelegung , 12 }, // unsigned char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
{ param_GlobalConfig , 1 }, // unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
{ param_Hoehe_MinGas , 1 }, // unsigned char Hoehe_MinGas; // Wert : 0-100 |
{ param_Luftdruck_D , 1 }, // unsigned char Luftdruck_D; // Wert : 0-250 |
{ param_HoeheChannel , 1 }, // unsigned char HoeheChannel; // Wert : 0-32 |
{ param_Hoehe_P , 1 }, // unsigned char Hoehe_P; // Wert : 0-32 |
{ param_Hoehe_Verstaerkung , 1 }, // unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
{ param_Hoehe_ACC_Wirkung , 1 }, // unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
{ param_Hoehe_HoverBand , 1 }, // unsigned char Hoehe_HoverBand; // Wert : 0-250 |
{ param_Hoehe_GPS_Z , 1 }, // unsigned char Hoehe_GPS_Z; // Wert : 0-250 |
{ param_Hoehe_StickNeutralPoint , 1 }, // unsigned char Hoehe_StickNeutralPoint;// Wert : 0-250 |
{ param_Stick_P , 1 }, // unsigned char Stick_P; // Wert : 1-6 |
{ param_Stick_D , 1 }, // unsigned char Stick_D; // Wert : 0-64 |
{ param_StickGier_P , 1 }, // unsigned char StickGier_P; // Wert : 1-20 |
{ param_Gas_Min , 1 }, // unsigned char Gas_Min; // Wert : 0-32 |
{ param_Gas_Max , 1 }, // unsigned char Gas_Max; // Wert : 33-250 |
{ param_GyroAccFaktor , 1 }, // unsigned char GyroAccFaktor; // Wert : 1-64 |
{ param_KompassWirkung , 1 }, // unsigned char KompassWirkung; // Wert : 0-32 |
{ param_Gyro_P , 1 }, // unsigned char Gyro_P; // Wert : 10-250 |
{ param_Gyro_I , 1 }, // unsigned char Gyro_I; // Wert : 0-250 |
{ param_Gyro_D , 1 }, // unsigned char Gyro_D; // Wert : 0-250 |
{ param_Gyro_Gier_P , 1 }, // unsigned char Gyro_Gier_P; // Wert : 10-250 |
{ param_Gyro_Gier_I , 1 }, // unsigned char Gyro_Gier_I; // Wert : 0-250 |
{ param_Gyro_Stability , 1 }, // unsigned char Gyro_Stability; // Wert : 0-16 |
{ param_UnterspannungsWarnung , 1 }, // unsigned char UnterspannungsWarnung; // Wert : 0-250 |
{ param_NotGas , 1 }, // unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
{ param_NotGasZeit , 1 }, // unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
{ param_Receiver , 1 }, // unsigned char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
{ param_I_Faktor , 1 }, // unsigned char I_Faktor; // Wert : 0-250 |
{ param_UserParam1 , 1 }, // unsigned char UserParam1; // Wert : 0-250 |
{ param_UserParam2 , 1 }, // unsigned char UserParam2; // Wert : 0-250 |
{ param_UserParam3 , 1 }, // unsigned char UserParam3; // Wert : 0-250 |
{ param_UserParam4 , 1 }, // unsigned char UserParam4; // Wert : 0-250 |
{ param_ServoNickControl , 1 }, // unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoNickComp , 1 }, // unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
{ param_ServoNickMin , 1 }, // unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
{ param_ServoNickMax , 1 }, // unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
{ param_ServoRollControl , 1 }, // unsigned char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoRollComp , 1 }, // unsigned char ServoRollComp; // Wert : 0-250 |
{ param_ServoRollMin , 1 }, // unsigned char ServoRollMin; // Wert : 0-250 |
{ param_ServoRollMax , 1 }, // unsigned char ServoRollMax; // Wert : 0-250 |
{ param_ServoNickRefresh , 1 }, // unsigned char ServoNickRefresh; // Speed of the Servo |
{ param_ServoManualControlSpeed , 1 }, // unsigned char ServoManualControlSpeed;// |
{ param_CamOrientation , 1 }, // unsigned char CamOrientation; // |
{ param_Servo3 , 1 }, // unsigned char Servo3; // Value or mapping of the Servo Output |
{ param_Servo4 , 1 }, // unsigned char Servo4; // Value or mapping of the Servo Output |
{ param_Servo5 , 1 }, // unsigned char Servo5; // Value or mapping of the Servo Output |
{ param_LoopGasLimit , 1 }, // unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
{ param_LoopThreshold , 1 }, // unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
{ param_LoopHysterese , 1 }, // unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
{ param_AchsKopplung1 , 1 }, // unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
{ param_AchsKopplung2 , 1 }, // unsigned char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_CouplingYawCorrection , 1 }, // unsigned char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_WinkelUmschlagNick , 1 }, // unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
{ param_WinkelUmschlagRoll , 1 }, // unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
{ param_GyroAccAbgleich , 1 }, // unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
{ param_Driftkomp , 1 }, // unsigned char Driftkomp; |
{ param_DynamicStability , 1 }, // unsigned char DynamicStability; |
{ param_UserParam5 , 1 }, // unsigned char UserParam5; // Wert : 0-250 |
{ param_UserParam6 , 1 }, // unsigned char UserParam6; // Wert : 0-250 |
{ param_UserParam7 , 1 }, // unsigned char UserParam7; // Wert : 0-250 |
{ param_UserParam8 , 1 }, // unsigned char UserParam8; // Wert : 0-250 |
{ param_J16Bitmask , 1 }, // unsigned char J16Bitmask; // for the J16 Output |
{ param_J16Timing , 1 }, // unsigned char J16Timing; // for the J16 Output |
{ param_J17Bitmask , 1 }, // unsigned char J17Bitmask; // for the J17 Output |
{ param_J17Timing , 1 }, // unsigned char J17Timing; // for the J17 Output |
{ param_WARN_J16_Bitmask , 1 }, // unsigned char WARN_J16_Bitmask; // for the J16 Output |
{ param_WARN_J17_Bitmask , 1 }, // unsigned char WARN_J17_Bitmask; // for the J17 Output |
{ param_NaviOut1Parameter , 1 }, // unsigned char NaviOut1Parameter; // for the J16 Output |
{ param_NaviGpsModeChannel , 1 }, // unsigned char NaviGpsModeChannel; // Parameters for the Naviboard |
{ param_NaviGpsGain , 1 }, // unsigned char NaviGpsGain; |
{ param_NaviGpsP , 1 }, // unsigned char NaviGpsP; |
{ param_NaviGpsI , 1 }, // unsigned char NaviGpsI; |
{ param_NaviGpsD , 1 }, // unsigned char NaviGpsD; |
{ param_NaviGpsPLimit , 1 }, // unsigned char NaviGpsPLimit; |
{ param_NaviGpsILimit , 1 }, // unsigned char NaviGpsILimit; |
{ param_NaviGpsDLimit , 1 }, // unsigned char NaviGpsDLimit; |
{ param_NaviGpsA , 1 }, // unsigned char NaviGpsA; |
{ param_NaviGpsMinSat , 1 }, // unsigned char NaviGpsMinSat; |
{ param_NaviStickThreshold , 1 }, // unsigned char NaviStickThreshold; |
{ param_NaviWindCorrection , 1 }, // unsigned char NaviWindCorrection; |
{ param_NaviAccCompensation , 1 }, // unsigned char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
{ param_NaviOperatingRadius , 1 }, // unsigned char NaviOperatingRadius; |
{ param_NaviAngleLimitation , 1 }, // unsigned char NaviAngleLimitation; |
{ param_NaviPH_LoginTime , 1 }, // unsigned char NaviPH_LoginTime; |
{ param_ExternalControl , 1 }, // unsigned char ExternalControl; // for serial Control |
{ param_OrientationAngle , 1 }, // unsigned char OrientationAngle; // Where is the front-direction? |
{ param_CareFreeChannel , 1 }, // unsigned char CareFreeChannel; // switch for CareFree |
{ param_MotorSafetySwitch , 1 }, // unsigned char MotorSafetySwitch; |
{ param_MotorSmooth , 1 }, // unsigned char MotorSmooth; |
{ param_ComingHomeAltitude , 1 }, // unsigned char ComingHomeAltitude; |
{ param_FailSafeTime , 1 }, // unsigned char FailSafeTime; |
{ param_MaxAltitude , 1 }, // unsigned char MaxAltitude; |
{ param_FailsafeChannel , 1 }, // unsigned char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
{ param_ServoFilterNick , 1 }, // unsigned char ServoFilterNick; |
{ param_ServoFilterRoll , 1 }, // unsigned char ServoFilterRoll; |
{ param_StartLandChannel , 1 }, // unsigned char StartLandChannel; |
{ param_LandingSpeed , 1 }, // unsigned char LandingSpeed; |
{ param_CompassOffset , 1 }, // unsigned char CompassOffset; |
{ param_AutoLandingVoltage , 1 }, // unsigned char AutoLandingVoltage; // in 0,1V 0 -> disabled |
{ param_ComingHomeVoltage , 1 }, // unsigned char ComingHomeVoltage; // in 0,1V 0 -> disabled |
{ param_BitConfig , 1 }, // unsigned char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
{ param_ServoCompInvert , 1 }, // unsigned char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
{ param_ExtraConfig , 1 }, // unsigned char ExtraConfig; // bitcodiert |
{ param_GlobalConfig3 , 1 }, // unsigned char GlobalConfig3; // bitcodiert |
{ param_Name , 12 }, // char Name[12]; |
{ param_crc , 1 }, // unsigned char crc; // must be the last byte! |
|
{ param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
|
}; // end: paramset_098[] |
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 99 |
// keine Inormationen zu Rev. 99 vorhanden. |
// |
// Kommentar dazu von Holger Buss: |
// "Die Revision 0.99 kannst Du ignorieren." |
//----------------------------------------------- |
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 100 |
// |
// ab FC-Version: ab ??? bis 2.05e |
// gefunden in: 2.05e |
// |
// STRUKTUR-DIFF zu 098: |
// - del: NaviOut1Parameter |
// - add: AutoPhotoDistance (ersetzt NaviOut1Parameter) |
// - add: AutoPhotoAtitudes |
// - add: SingleWpSpeed |
// |
// DEFINE-DIFF zu 098: |
// - keine Aenderung |
// |
// ANMERKUNG OG 06.04.2014: |
// Die Tabelle kann ggf. demnaechst geloescht werden |
// da sie nur fuer eine kurze Zeit in Betaversionen |
// vorhanden war! |
//----------------------------------------------- |
paramRevItem_t const paramset_100[] PROGMEM = |
{ |
{ param_Revision , 1 }, // unsigned char Revision; |
{ param_Kanalbelegung , 12 }, // unsigned char char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
{ param_GlobalConfig , 1 }, // unsigned char char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
{ param_Hoehe_MinGas , 1 }, // unsigned char char Hoehe_MinGas; // Wert : 0-100 |
{ param_Luftdruck_D , 1 }, // unsigned char char Luftdruck_D; // Wert : 0-250 |
{ param_HoeheChannel , 1 }, // unsigned char char HoeheChannel; // Wert : 0-32 |
{ param_Hoehe_P , 1 }, // unsigned char char Hoehe_P; // Wert : 0-32 |
{ param_Hoehe_Verstaerkung , 1 }, // unsigned char char Hoehe_Verstaerkung; // Wert : 0-50 |
{ param_Hoehe_ACC_Wirkung , 1 }, // unsigned char char Hoehe_ACC_Wirkung; // Wert : 0-250 |
{ param_Hoehe_HoverBand , 1 }, // unsigned char char Hoehe_HoverBand; // Wert : 0-250 |
{ param_Hoehe_GPS_Z , 1 }, // unsigned char char Hoehe_GPS_Z; // Wert : 0-250 |
{ param_Hoehe_StickNeutralPoint , 1 }, // unsigned char char Hoehe_StickNeutralPoint; // Wert : 0-250 |
{ param_Stick_P , 1 }, // unsigned char char Stick_P; // Wert : 1-6 |
{ param_Stick_D , 1 }, // unsigned char char Stick_D; // Wert : 0-64 |
{ param_StickGier_P , 1 }, // unsigned char char StickGier_P; // Wert : 1-20 |
{ param_Gas_Min , 1 }, // unsigned char char Gas_Min; // Wert : 0-32 |
{ param_Gas_Max , 1 }, // unsigned char char Gas_Max; // Wert : 33-250 |
{ param_GyroAccFaktor , 1 }, // unsigned char char GyroAccFaktor; // Wert : 1-64 |
{ param_KompassWirkung , 1 }, // unsigned char char KompassWirkung; // Wert : 0-32 |
{ param_Gyro_P , 1 }, // unsigned char char Gyro_P; // Wert : 10-250 |
{ param_Gyro_I , 1 }, // unsigned char char Gyro_I; // Wert : 0-250 |
{ param_Gyro_D , 1 }, // unsigned char char Gyro_D; // Wert : 0-250 |
{ param_Gyro_Gier_P , 1 }, // unsigned char char Gyro_Gier_P; // Wert : 10-250 |
{ param_Gyro_Gier_I , 1 }, // unsigned char char Gyro_Gier_I; // Wert : 0-250 |
{ param_Gyro_Stability , 1 }, // unsigned char char Gyro_Stability; // Wert : 0-16 |
{ param_UnterspannungsWarnung , 1 }, // unsigned char char UnterspannungsWarnung; // Wert : 0-250 |
{ param_NotGas , 1 }, // unsigned char char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
{ param_NotGasZeit , 1 }, // unsigned char char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
{ param_Receiver , 1 }, // unsigned char char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
{ param_I_Faktor , 1 }, // unsigned char char I_Faktor; // Wert : 0-250 |
{ param_UserParam1 , 1 }, // unsigned char char UserParam1; // Wert : 0-250 |
{ param_UserParam2 , 1 }, // unsigned char char UserParam2; // Wert : 0-250 |
{ param_UserParam3 , 1 }, // unsigned char char UserParam3; // Wert : 0-250 |
{ param_UserParam4 , 1 }, // unsigned char char UserParam4; // Wert : 0-250 |
{ param_ServoNickControl , 1 }, // unsigned char char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoNickComp , 1 }, // unsigned char char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
{ param_ServoNickMin , 1 }, // unsigned char char ServoNickMin; // Wert : 0-250 // Anschlag |
{ param_ServoNickMax , 1 }, // unsigned char char ServoNickMax; // Wert : 0-250 // Anschlag |
{ param_ServoRollControl , 1 }, // unsigned char char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoRollComp , 1 }, // unsigned char char ServoRollComp; // Wert : 0-250 |
{ param_ServoRollMin , 1 }, // unsigned char char ServoRollMin; // Wert : 0-250 |
{ param_ServoRollMax , 1 }, // unsigned char char ServoRollMax; // Wert : 0-250 |
{ param_ServoNickRefresh , 1 }, // unsigned char char ServoNickRefresh; // Speed of the Servo |
{ param_ServoManualControlSpeed , 1 }, // unsigned char char ServoManualControlSpeed; // |
{ param_CamOrientation , 1 }, // unsigned char char CamOrientation; // |
{ param_Servo3 , 1 }, // unsigned char char Servo3; // Value or mapping of the Servo Output |
{ param_Servo4 , 1 }, // unsigned char char Servo4; // Value or mapping of the Servo Output |
{ param_Servo5 , 1 }, // unsigned char char Servo5; // Value or mapping of the Servo Output |
{ param_LoopGasLimit , 1 }, // unsigned char char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
{ param_LoopThreshold , 1 }, // unsigned char char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
{ param_LoopHysterese , 1 }, // unsigned char char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
{ param_AchsKopplung1 , 1 }, // unsigned char char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
{ param_AchsKopplung2 , 1 }, // unsigned char char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_CouplingYawCorrection , 1 }, // unsigned char char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_WinkelUmschlagNick , 1 }, // unsigned char char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
{ param_WinkelUmschlagRoll , 1 }, // unsigned char char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
{ param_GyroAccAbgleich , 1 }, // unsigned char char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
{ param_Driftkomp , 1 }, // unsigned char char Driftkomp; |
{ param_DynamicStability , 1 }, // unsigned char char DynamicStability; |
{ param_UserParam5 , 1 }, // unsigned char char UserParam5; // Wert : 0-250 |
{ param_UserParam6 , 1 }, // unsigned char char UserParam6; // Wert : 0-250 |
{ param_UserParam7 , 1 }, // unsigned char char UserParam7; // Wert : 0-250 |
{ param_UserParam8 , 1 }, // unsigned char char UserParam8; // Wert : 0-250 |
{ param_J16Bitmask , 1 }, // unsigned char char J16Bitmask; // for the J16 Output |
{ param_J16Timing , 1 }, // unsigned char char J16Timing; // for the J16 Output |
{ param_J17Bitmask , 1 }, // unsigned char char J17Bitmask; // for the J17 Output |
{ param_J17Timing , 1 }, // unsigned char char J17Timing; // for the J17 Output |
{ param_WARN_J16_Bitmask , 1 }, // unsigned char char WARN_J16_Bitmask; // for the J16 Output |
{ param_WARN_J17_Bitmask , 1 }, // unsigned char char WARN_J17_Bitmask; // for the J17 Output |
{ param_AutoPhotoDistance , 1 }, // unsigned char char AutoPhotoDistance; // Auto Photo // ab Rev. 100 (ehemals NaviOut1Parameter) |
{ param_NaviGpsModeChannel , 1 }, // unsigned char char NaviGpsModeChannel; // Parameters for the Naviboard |
{ param_NaviGpsGain , 1 }, // unsigned char char NaviGpsGain; |
{ param_NaviGpsP , 1 }, // unsigned char char NaviGpsP; |
{ param_NaviGpsI , 1 }, // unsigned char char NaviGpsI; |
{ param_NaviGpsD , 1 }, // unsigned char char NaviGpsD; |
{ param_NaviGpsPLimit , 1 }, // unsigned char char NaviGpsPLimit; |
{ param_NaviGpsILimit , 1 }, // unsigned char char NaviGpsILimit; |
{ param_NaviGpsDLimit , 1 }, // unsigned char char NaviGpsDLimit; |
{ param_NaviGpsA , 1 }, // unsigned char char NaviGpsA; |
{ param_NaviGpsMinSat , 1 }, // unsigned char char NaviGpsMinSat; |
{ param_NaviStickThreshold , 1 }, // unsigned char char NaviStickThreshold; |
{ param_NaviWindCorrection , 1 }, // unsigned char char NaviWindCorrection; |
{ param_NaviAccCompensation , 1 }, // unsigned char char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
{ param_NaviOperatingRadius , 1 }, // unsigned char char NaviOperatingRadius; |
{ param_NaviAngleLimitation , 1 }, // unsigned char char NaviAngleLimitation; |
{ param_NaviPH_LoginTime , 1 }, // unsigned char char NaviPH_LoginTime; |
{ param_ExternalControl , 1 }, // unsigned char char ExternalControl; // for serial Control |
{ param_OrientationAngle , 1 }, // unsigned char char OrientationAngle; // Where is the front-direction? |
{ param_CareFreeChannel , 1 }, // unsigned char char CareFreeChannel; // switch for CareFree |
{ param_MotorSafetySwitch , 1 }, // unsigned char char MotorSafetySwitch; |
{ param_MotorSmooth , 1 }, // unsigned char char MotorSmooth; |
{ param_ComingHomeAltitude , 1 }, // unsigned char char ComingHomeAltitude; |
{ param_FailSafeTime , 1 }, // unsigned char char FailSafeTime; |
{ param_MaxAltitude , 1 }, // unsigned char char MaxAltitude; |
{ param_FailsafeChannel , 1 }, // unsigned char char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
{ param_ServoFilterNick , 1 }, // unsigned char char ServoFilterNick; |
{ param_ServoFilterRoll , 1 }, // unsigned char char ServoFilterRoll; |
{ param_StartLandChannel , 1 }, // unsigned char char StartLandChannel; |
{ param_LandingSpeed , 1 }, // unsigned char char LandingSpeed; |
{ param_CompassOffset , 1 }, // unsigned char char CompassOffset; |
{ param_AutoLandingVoltage , 1 }, // unsigned char char AutoLandingVoltage; // in 0,1V 0 -> disabled |
{ param_ComingHomeVoltage , 1 }, // unsigned char char ComingHomeVoltage; // in 0,1V 0 -> disabled |
{ param_AutoPhotoAtitudes , 1 }, // unsigned char char AutoPhotoAtitudes; // ab Rev. 100 |
{ param_SingleWpSpeed , 1 }, // unsigned char char SingleWpSpeed; // ab Rev. 100 |
{ param_BitConfig , 1 }, // unsigned char char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
{ param_ServoCompInvert , 1 }, // unsigned char char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
{ param_ExtraConfig , 1 }, // unsigned char char ExtraConfig; // bitcodiert |
{ param_GlobalConfig3 , 1 }, // unsigned char char GlobalConfig3; // bitcodiert |
{ param_Name , 12 }, // char Name[12]; |
{ param_crc , 1 }, // unsigned char char crc; // must be the last byte! |
|
{ param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
|
}; // end: paramset_100[] |
|
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 101 |
// |
// ab FC-Version: ab 2.05f bis 2.05f |
// gefunden in: 2.05f |
// |
// STRUKTUR-DIFF zu 100: |
// - add: Servo3OnValue |
// - add: Servo3OffValue |
// - add: Servo4OnValue |
// - add: Servo4OffValue |
// |
// DEFINE-DIFF zu 100: |
// - keine Aenderung |
// |
// ANMERKUNG OG 06.04.2014: |
// Die Tabelle kann ggf. demnaechst geloescht werden |
// da sie nur fuer eine einzige Betaversion |
// vorhanden war! |
//----------------------------------------------- |
paramRevItem_t const paramset_101[] PROGMEM = |
{ |
{ param_DUMMY , 123 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
{ param_Name , 12 }, // char Name[12]; |
{ param_DUMMY , 1 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
|
{ param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
|
}; // end: paramset_101[] |
|
|
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 102 |
// |
// ab FC-Version: ab 2.05g bis ??? (min. 2.06b) |
// gefunden in: 2.05g, 2.06a |
// |
// STRUKTUR-DIFF zu 101: |
// - add: NaviMaxFlyingRange (ersetzt NaviOperatingRadius) |
// - add: NaviDescendRange |
// - del: NaviOperatingRadius |
// |
// DEFINE-DIFF zu 101: |
// - del: CFG3_DPH_MAX_RADIUS |
//----------------------------------------------- |
paramRevItem_t const paramset_102[] PROGMEM = |
{ |
{ param_Revision , 1 }, // unsigned char Revision; |
{ param_Kanalbelegung , 12 }, // unsigned char char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
{ param_GlobalConfig , 1 }, // unsigned char char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
{ param_Hoehe_MinGas , 1 }, // unsigned char char Hoehe_MinGas; // Wert : 0-100 |
{ param_Luftdruck_D , 1 }, // unsigned char char Luftdruck_D; // Wert : 0-250 |
{ param_HoeheChannel , 1 }, // unsigned char char HoeheChannel; // Wert : 0-32 |
{ param_Hoehe_P , 1 }, // unsigned char char Hoehe_P; // Wert : 0-32 |
{ param_Hoehe_Verstaerkung , 1 }, // unsigned char char Hoehe_Verstaerkung; // Wert : 0-50 |
{ param_Hoehe_ACC_Wirkung , 1 }, // unsigned char char Hoehe_ACC_Wirkung; // Wert : 0-250 |
{ param_Hoehe_HoverBand , 1 }, // unsigned char char Hoehe_HoverBand; // Wert : 0-250 |
{ param_Hoehe_GPS_Z , 1 }, // unsigned char char Hoehe_GPS_Z; // Wert : 0-250 |
{ param_Hoehe_StickNeutralPoint , 1 }, // unsigned char char Hoehe_StickNeutralPoint; // Wert : 0-250 |
{ param_Stick_P , 1 }, // unsigned char char Stick_P; // Wert : 1-6 |
{ param_Stick_D , 1 }, // unsigned char char Stick_D; // Wert : 0-64 |
{ param_StickGier_P , 1 }, // unsigned char char StickGier_P; // Wert : 1-20 |
{ param_Gas_Min , 1 }, // unsigned char char Gas_Min; // Wert : 0-32 |
{ param_Gas_Max , 1 }, // unsigned char char Gas_Max; // Wert : 33-250 |
{ param_GyroAccFaktor , 1 }, // unsigned char char GyroAccFaktor; // Wert : 1-64 |
{ param_KompassWirkung , 1 }, // unsigned char char KompassWirkung; // Wert : 0-32 |
{ param_Gyro_P , 1 }, // unsigned char char Gyro_P; // Wert : 10-250 |
{ param_Gyro_I , 1 }, // unsigned char char Gyro_I; // Wert : 0-250 |
{ param_Gyro_D , 1 }, // unsigned char char Gyro_D; // Wert : 0-250 |
{ param_Gyro_Gier_P , 1 }, // unsigned char char Gyro_Gier_P; // Wert : 10-250 |
{ param_Gyro_Gier_I , 1 }, // unsigned char char Gyro_Gier_I; // Wert : 0-250 |
{ param_Gyro_Stability , 1 }, // unsigned char char Gyro_Stability; // Wert : 0-16 |
{ param_UnterspannungsWarnung , 1 }, // unsigned char char UnterspannungsWarnung; // Wert : 0-250 |
{ param_NotGas , 1 }, // unsigned char char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
{ param_NotGasZeit , 1 }, // unsigned char char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
{ param_Receiver , 1 }, // unsigned char char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
{ param_I_Faktor , 1 }, // unsigned char char I_Faktor; // Wert : 0-250 |
{ param_UserParam1 , 1 }, // unsigned char char UserParam1; // Wert : 0-250 |
{ param_UserParam2 , 1 }, // unsigned char char UserParam2; // Wert : 0-250 |
{ param_UserParam3 , 1 }, // unsigned char char UserParam3; // Wert : 0-250 |
{ param_UserParam4 , 1 }, // unsigned char char UserParam4; // Wert : 0-250 |
{ param_ServoNickControl , 1 }, // unsigned char char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoNickComp , 1 }, // unsigned char char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
{ param_ServoNickMin , 1 }, // unsigned char char ServoNickMin; // Wert : 0-250 // Anschlag |
{ param_ServoNickMax , 1 }, // unsigned char char ServoNickMax; // Wert : 0-250 // Anschlag |
{ param_ServoRollControl , 1 }, // unsigned char char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoRollComp , 1 }, // unsigned char char ServoRollComp; // Wert : 0-250 |
{ param_ServoRollMin , 1 }, // unsigned char char ServoRollMin; // Wert : 0-250 |
{ param_ServoRollMax , 1 }, // unsigned char char ServoRollMax; // Wert : 0-250 |
{ param_ServoNickRefresh , 1 }, // unsigned char char ServoNickRefresh; // Speed of the Servo |
{ param_ServoManualControlSpeed , 1 }, // unsigned char char ServoManualControlSpeed; // |
{ param_CamOrientation , 1 }, // unsigned char char CamOrientation; // |
{ param_Servo3 , 1 }, // unsigned char char Servo3; // Value or mapping of the Servo Output |
{ param_Servo4 , 1 }, // unsigned char char Servo4; // Value or mapping of the Servo Output |
{ param_Servo5 , 1 }, // unsigned char char Servo5; // Value or mapping of the Servo Output |
{ param_LoopGasLimit , 1 }, // unsigned char char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
{ param_LoopThreshold , 1 }, // unsigned char char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
{ param_LoopHysterese , 1 }, // unsigned char char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
{ param_AchsKopplung1 , 1 }, // unsigned char char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
{ param_AchsKopplung2 , 1 }, // unsigned char char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_CouplingYawCorrection , 1 }, // unsigned char char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_WinkelUmschlagNick , 1 }, // unsigned char char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
{ param_WinkelUmschlagRoll , 1 }, // unsigned char char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
{ param_GyroAccAbgleich , 1 }, // unsigned char char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
{ param_Driftkomp , 1 }, // unsigned char char Driftkomp; |
{ param_DynamicStability , 1 }, // unsigned char char DynamicStability; |
{ param_UserParam5 , 1 }, // unsigned char char UserParam5; // Wert : 0-250 |
{ param_UserParam6 , 1 }, // unsigned char char UserParam6; // Wert : 0-250 |
{ param_UserParam7 , 1 }, // unsigned char char UserParam7; // Wert : 0-250 |
{ param_UserParam8 , 1 }, // unsigned char char UserParam8; // Wert : 0-250 |
{ param_J16Bitmask , 1 }, // unsigned char char J16Bitmask; // for the J16 Output |
{ param_J16Timing , 1 }, // unsigned char char J16Timing; // for the J16 Output |
{ param_J17Bitmask , 1 }, // unsigned char char J17Bitmask; // for the J17 Output |
{ param_J17Timing , 1 }, // unsigned char char J17Timing; // for the J17 Output |
{ param_WARN_J16_Bitmask , 1 }, // unsigned char char WARN_J16_Bitmask; // for the J16 Output |
{ param_WARN_J17_Bitmask , 1 }, // unsigned char char WARN_J17_Bitmask; // for the J17 Output |
{ param_AutoPhotoDistance , 1 }, // unsigned char char AutoPhotoDistance; // Auto Photo // ab Rev. 100 (ehemals NaviOut1Parameter) |
{ param_NaviGpsModeChannel , 1 }, // unsigned char char NaviGpsModeChannel; // Parameters for the Naviboard |
{ param_NaviGpsGain , 1 }, // unsigned char char NaviGpsGain; |
{ param_NaviGpsP , 1 }, // unsigned char char NaviGpsP; |
{ param_NaviGpsI , 1 }, // unsigned char char NaviGpsI; |
{ param_NaviGpsD , 1 }, // unsigned char char NaviGpsD; |
{ param_NaviGpsPLimit , 1 }, // unsigned char char NaviGpsPLimit; |
{ param_NaviGpsILimit , 1 }, // unsigned char char NaviGpsILimit; |
{ param_NaviGpsDLimit , 1 }, // unsigned char char NaviGpsDLimit; |
{ param_NaviGpsA , 1 }, // unsigned char char NaviGpsA; |
{ param_NaviGpsMinSat , 1 }, // unsigned char char NaviGpsMinSat; |
{ param_NaviStickThreshold , 1 }, // unsigned char char NaviStickThreshold; |
{ param_NaviWindCorrection , 1 }, // unsigned char char NaviWindCorrection; |
{ param_NaviAccCompensation , 1 }, // unsigned char char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
{ param_NaviMaxFlyingRange , 1 }, // unsigned char char NaviMaxFlyingRange; // in 10m |
{ param_NaviAngleLimitation , 1 }, // unsigned char char NaviAngleLimitation; |
{ param_NaviPH_LoginTime , 1 }, // unsigned char char NaviPH_LoginTime; |
{ param_NaviDescendRange , 1 }, // unsigned char char NaviDescendRange; |
{ param_ExternalControl , 1 }, // unsigned char char ExternalControl; // for serial Control |
{ param_OrientationAngle , 1 }, // unsigned char char OrientationAngle; // Where is the front-direction? |
{ param_CareFreeChannel , 1 }, // unsigned char char CareFreeChannel; // switch for CareFree |
{ param_MotorSafetySwitch , 1 }, // unsigned char char MotorSafetySwitch; |
{ param_MotorSmooth , 1 }, // unsigned char char MotorSmooth; |
{ param_ComingHomeAltitude , 1 }, // unsigned char char ComingHomeAltitude; |
{ param_FailSafeTime , 1 }, // unsigned char char FailSafeTime; |
{ param_MaxAltitude , 1 }, // unsigned char char MaxAltitude; |
{ param_FailsafeChannel , 1 }, // unsigned char char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
{ param_ServoFilterNick , 1 }, // unsigned char char ServoFilterNick; |
{ param_ServoFilterRoll , 1 }, // unsigned char char ServoFilterRoll; |
{ param_Servo3OnValue , 1 }, // unsigned char char Servo3OnValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo3OffValue , 1 }, // unsigned char char Servo3OffValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo4OnValue , 1 }, // unsigned char char Servo4OnValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo4OffValue , 1 }, // unsigned char char Servo4OffValue; // ab Rev. 101 (FC 2.05f) |
{ param_StartLandChannel , 1 }, // unsigned char char StartLandChannel; |
{ param_LandingSpeed , 1 }, // unsigned char char LandingSpeed; |
{ param_CompassOffset , 1 }, // unsigned char char CompassOffset; |
{ param_AutoLandingVoltage , 1 }, // unsigned char char AutoLandingVoltage; // in 0,1V 0 -> disabled |
{ param_ComingHomeVoltage , 1 }, // unsigned char char ComingHomeVoltage; // in 0,1V 0 -> disabled |
{ param_AutoPhotoAtitudes , 1 }, // unsigned char char AutoPhotoAtitudes; // ab Rev. 100 |
{ param_SingleWpSpeed , 1 }, // unsigned char char SingleWpSpeed; // ab Rev. 100 |
{ param_BitConfig , 1 }, // unsigned char char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
{ param_ServoCompInvert , 1 }, // unsigned char char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
{ param_ExtraConfig , 1 }, // unsigned char char ExtraConfig; // bitcodiert |
{ param_GlobalConfig3 , 1 }, // unsigned char char GlobalConfig3; // bitcodiert |
{ param_Name , 12 }, // char Name[12]; |
{ param_crc , 1 }, // unsigned char char crc; // must be the last byte! |
|
{ param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
|
}; // end: paramset_102[] |
|
|
|
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 103 |
// |
// ab FC-Version: ab 2.07f bis ??? |
// gefunden in: 2.07f |
// |
// STRUKTUR-DIFF zu 102: |
// keine |
// |
// DEFINE-DIFF zu 102: |
// - chg: Hoehe_GPS_Z zu Hoehe_TiltCompensation |
//----------------------------------------------- |
paramRevItem_t const paramset_103[] PROGMEM = |
{ |
{ param_Revision , 1 }, // unsigned char Revision; |
{ param_Kanalbelegung , 12 }, // unsigned char char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
{ param_GlobalConfig , 1 }, // unsigned char char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
{ param_Hoehe_MinGas , 1 }, // unsigned char char Hoehe_MinGas; // Wert : 0-100 |
{ param_Luftdruck_D , 1 }, // unsigned char char Luftdruck_D; // Wert : 0-250 |
{ param_HoeheChannel , 1 }, // unsigned char char HoeheChannel; // Wert : 0-32 |
{ param_Hoehe_P , 1 }, // unsigned char char Hoehe_P; // Wert : 0-32 |
{ param_Hoehe_Verstaerkung , 1 }, // unsigned char char Hoehe_Verstaerkung; // Wert : 0-50 |
{ param_Hoehe_ACC_Wirkung , 1 }, // unsigned char char Hoehe_ACC_Wirkung; // Wert : 0-250 |
{ param_Hoehe_HoverBand , 1 }, // unsigned char char Hoehe_HoverBand; // Wert : 0-250 |
{ param_Hoehe_TiltCompensation , 1 }, // unsigned char char Hoehe_TiltCompensation; // Wert : 0-250 |
{ param_Hoehe_StickNeutralPoint , 1 }, // unsigned char char Hoehe_StickNeutralPoint; // Wert : 0-250 |
{ param_Stick_P , 1 }, // unsigned char char Stick_P; // Wert : 1-6 |
{ param_Stick_D , 1 }, // unsigned char char Stick_D; // Wert : 0-64 |
{ param_StickGier_P , 1 }, // unsigned char char StickGier_P; // Wert : 1-20 |
{ param_Gas_Min , 1 }, // unsigned char char Gas_Min; // Wert : 0-32 |
{ param_Gas_Max , 1 }, // unsigned char char Gas_Max; // Wert : 33-250 |
{ param_GyroAccFaktor , 1 }, // unsigned char char GyroAccFaktor; // Wert : 1-64 |
{ param_KompassWirkung , 1 }, // unsigned char char KompassWirkung; // Wert : 0-32 |
{ param_Gyro_P , 1 }, // unsigned char char Gyro_P; // Wert : 10-250 |
{ param_Gyro_I , 1 }, // unsigned char char Gyro_I; // Wert : 0-250 |
{ param_Gyro_D , 1 }, // unsigned char char Gyro_D; // Wert : 0-250 |
{ param_Gyro_Gier_P , 1 }, // unsigned char char Gyro_Gier_P; // Wert : 10-250 |
{ param_Gyro_Gier_I , 1 }, // unsigned char char Gyro_Gier_I; // Wert : 0-250 |
{ param_Gyro_Stability , 1 }, // unsigned char char Gyro_Stability; // Wert : 0-16 |
{ param_UnterspannungsWarnung , 1 }, // unsigned char char UnterspannungsWarnung; // Wert : 0-250 |
{ param_NotGas , 1 }, // unsigned char char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
{ param_NotGasZeit , 1 }, // unsigned char char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
{ param_Receiver , 1 }, // unsigned char char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
{ param_I_Faktor , 1 }, // unsigned char char I_Faktor; // Wert : 0-250 |
{ param_UserParam1 , 1 }, // unsigned char char UserParam1; // Wert : 0-250 |
{ param_UserParam2 , 1 }, // unsigned char char UserParam2; // Wert : 0-250 |
{ param_UserParam3 , 1 }, // unsigned char char UserParam3; // Wert : 0-250 |
{ param_UserParam4 , 1 }, // unsigned char char UserParam4; // Wert : 0-250 |
{ param_ServoNickControl , 1 }, // unsigned char char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoNickComp , 1 }, // unsigned char char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
{ param_ServoNickMin , 1 }, // unsigned char char ServoNickMin; // Wert : 0-250 // Anschlag |
{ param_ServoNickMax , 1 }, // unsigned char char ServoNickMax; // Wert : 0-250 // Anschlag |
{ param_ServoRollControl , 1 }, // unsigned char char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoRollComp , 1 }, // unsigned char char ServoRollComp; // Wert : 0-250 |
{ param_ServoRollMin , 1 }, // unsigned char char ServoRollMin; // Wert : 0-250 |
{ param_ServoRollMax , 1 }, // unsigned char char ServoRollMax; // Wert : 0-250 |
{ param_ServoNickRefresh , 1 }, // unsigned char char ServoNickRefresh; // Speed of the Servo |
{ param_ServoManualControlSpeed , 1 }, // unsigned char char ServoManualControlSpeed; // |
{ param_CamOrientation , 1 }, // unsigned char char CamOrientation; // |
{ param_Servo3 , 1 }, // unsigned char char Servo3; // Value or mapping of the Servo Output |
{ param_Servo4 , 1 }, // unsigned char char Servo4; // Value or mapping of the Servo Output |
{ param_Servo5 , 1 }, // unsigned char char Servo5; // Value or mapping of the Servo Output |
{ param_LoopGasLimit , 1 }, // unsigned char char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
{ param_LoopThreshold , 1 }, // unsigned char char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
{ param_LoopHysterese , 1 }, // unsigned char char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
{ param_AchsKopplung1 , 1 }, // unsigned char char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
{ param_AchsKopplung2 , 1 }, // unsigned char char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_CouplingYawCorrection , 1 }, // unsigned char char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_WinkelUmschlagNick , 1 }, // unsigned char char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
{ param_WinkelUmschlagRoll , 1 }, // unsigned char char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
{ param_GyroAccAbgleich , 1 }, // unsigned char char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
{ param_Driftkomp , 1 }, // unsigned char char Driftkomp; |
{ param_DynamicStability , 1 }, // unsigned char char DynamicStability; |
{ param_UserParam5 , 1 }, // unsigned char char UserParam5; // Wert : 0-250 |
{ param_UserParam6 , 1 }, // unsigned char char UserParam6; // Wert : 0-250 |
{ param_UserParam7 , 1 }, // unsigned char char UserParam7; // Wert : 0-250 |
{ param_UserParam8 , 1 }, // unsigned char char UserParam8; // Wert : 0-250 |
{ param_J16Bitmask , 1 }, // unsigned char char J16Bitmask; // for the J16 Output |
{ param_J16Timing , 1 }, // unsigned char char J16Timing; // for the J16 Output |
{ param_J17Bitmask , 1 }, // unsigned char char J17Bitmask; // for the J17 Output |
{ param_J17Timing , 1 }, // unsigned char char J17Timing; // for the J17 Output |
{ param_WARN_J16_Bitmask , 1 }, // unsigned char char WARN_J16_Bitmask; // for the J16 Output |
{ param_WARN_J17_Bitmask , 1 }, // unsigned char char WARN_J17_Bitmask; // for the J17 Output |
{ param_AutoPhotoDistance , 1 }, // unsigned char char AutoPhotoDistance; // Auto Photo // ab Rev. 100 (ehemals NaviOut1Parameter) |
{ param_NaviGpsModeChannel , 1 }, // unsigned char char NaviGpsModeChannel; // Parameters for the Naviboard |
{ param_NaviGpsGain , 1 }, // unsigned char char NaviGpsGain; |
{ param_NaviGpsP , 1 }, // unsigned char char NaviGpsP; |
{ param_NaviGpsI , 1 }, // unsigned char char NaviGpsI; |
{ param_NaviGpsD , 1 }, // unsigned char char NaviGpsD; |
{ param_NaviGpsPLimit , 1 }, // unsigned char char NaviGpsPLimit; |
{ param_NaviGpsILimit , 1 }, // unsigned char char NaviGpsILimit; |
{ param_NaviGpsDLimit , 1 }, // unsigned char char NaviGpsDLimit; |
{ param_NaviGpsA , 1 }, // unsigned char char NaviGpsA; |
{ param_NaviGpsMinSat , 1 }, // unsigned char char NaviGpsMinSat; |
{ param_NaviStickThreshold , 1 }, // unsigned char char NaviStickThreshold; |
{ param_NaviWindCorrection , 1 }, // unsigned char char NaviWindCorrection; |
{ param_NaviAccCompensation , 1 }, // unsigned char char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
{ param_NaviMaxFlyingRange , 1 }, // unsigned char char NaviMaxFlyingRange; // in 10m |
{ param_NaviAngleLimitation , 1 }, // unsigned char char NaviAngleLimitation; |
{ param_NaviPH_LoginTime , 1 }, // unsigned char char NaviPH_LoginTime; |
{ param_NaviDescendRange , 1 }, // unsigned char char NaviDescendRange; |
{ param_ExternalControl , 1 }, // unsigned char char ExternalControl; // for serial Control |
{ param_OrientationAngle , 1 }, // unsigned char char OrientationAngle; // Where is the front-direction? |
{ param_CareFreeChannel , 1 }, // unsigned char char CareFreeChannel; // switch for CareFree |
{ param_MotorSafetySwitch , 1 }, // unsigned char char MotorSafetySwitch; |
{ param_MotorSmooth , 1 }, // unsigned char char MotorSmooth; |
{ param_ComingHomeAltitude , 1 }, // unsigned char char ComingHomeAltitude; |
{ param_FailSafeTime , 1 }, // unsigned char char FailSafeTime; |
{ param_MaxAltitude , 1 }, // unsigned char char MaxAltitude; |
{ param_FailsafeChannel , 1 }, // unsigned char char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
{ param_ServoFilterNick , 1 }, // unsigned char char ServoFilterNick; |
{ param_ServoFilterRoll , 1 }, // unsigned char char ServoFilterRoll; |
{ param_Servo3OnValue , 1 }, // unsigned char char Servo3OnValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo3OffValue , 1 }, // unsigned char char Servo3OffValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo4OnValue , 1 }, // unsigned char char Servo4OnValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo4OffValue , 1 }, // unsigned char char Servo4OffValue; // ab Rev. 101 (FC 2.05f) |
{ param_StartLandChannel , 1 }, // unsigned char char StartLandChannel; |
{ param_LandingSpeed , 1 }, // unsigned char char LandingSpeed; |
{ param_CompassOffset , 1 }, // unsigned char char CompassOffset; |
{ param_AutoLandingVoltage , 1 }, // unsigned char char AutoLandingVoltage; // in 0,1V 0 -> disabled |
{ param_ComingHomeVoltage , 1 }, // unsigned char char ComingHomeVoltage; // in 0,1V 0 -> disabled |
{ param_AutoPhotoAtitudes , 1 }, // unsigned char char AutoPhotoAtitudes; // ab Rev. 100 |
{ param_SingleWpSpeed , 1 }, // unsigned char char SingleWpSpeed; // ab Rev. 100 |
{ param_BitConfig , 1 }, // unsigned char char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
{ param_ServoCompInvert , 1 }, // unsigned char char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
{ param_ExtraConfig , 1 }, // unsigned char char ExtraConfig; // bitcodiert |
{ param_GlobalConfig3 , 1 }, // unsigned char char GlobalConfig3; // bitcodiert |
{ param_Name , 12 }, // char Name[12]; |
{ param_crc , 1 }, // unsigned char char crc; // must be the last byte! |
|
{ param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
|
}; // end: paramset_103[] |
|
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 104 |
// |
// ab FC-Version: ab 2.09d bis ??? |
// gefunden in: 2.09d |
// |
// STRUKTUR-DIFF zu 103: |
// add: LandingPulse |
// |
|
//----------------------------------------------- |
paramRevItem_t const paramset_104[] PROGMEM = |
{ |
{ param_Revision , 1 }, // unsigned char Revision; |
{ param_Kanalbelegung , 12 }, // unsigned char char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
{ param_GlobalConfig , 1 }, // unsigned char char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
{ param_Hoehe_MinGas , 1 }, // unsigned char char Hoehe_MinGas; // Wert : 0-100 |
{ param_Luftdruck_D , 1 }, // unsigned char char Luftdruck_D; // Wert : 0-250 |
{ param_HoeheChannel , 1 }, // unsigned char char HoeheChannel; // Wert : 0-32 |
{ param_Hoehe_P , 1 }, // unsigned char char Hoehe_P; // Wert : 0-32 |
{ param_Hoehe_Verstaerkung , 1 }, // unsigned char char Hoehe_Verstaerkung; // Wert : 0-50 |
{ param_Hoehe_ACC_Wirkung , 1 }, // unsigned char char Hoehe_ACC_Wirkung; // Wert : 0-250 |
{ param_Hoehe_HoverBand , 1 }, // unsigned char char Hoehe_HoverBand; // Wert : 0-250 |
{ param_Hoehe_TiltCompensation , 1 }, // unsigned char char Hoehe_TiltCompensation; // Wert : 0-250 |
{ param_Hoehe_StickNeutralPoint , 1 }, // unsigned char char Hoehe_StickNeutralPoint; // Wert : 0-250 |
{ param_Stick_P , 1 }, // unsigned char char Stick_P; // Wert : 1-6 |
{ param_Stick_D , 1 }, // unsigned char char Stick_D; // Wert : 0-64 |
{ param_StickGier_P , 1 }, // unsigned char char StickGier_P; // Wert : 1-20 |
{ param_Gas_Min , 1 }, // unsigned char char Gas_Min; // Wert : 0-32 |
{ param_Gas_Max , 1 }, // unsigned char char Gas_Max; // Wert : 33-250 |
{ param_GyroAccFaktor , 1 }, // unsigned char char GyroAccFaktor; // Wert : 1-64 |
{ param_KompassWirkung , 1 }, // unsigned char char KompassWirkung; // Wert : 0-32 |
{ param_Gyro_P , 1 }, // unsigned char char Gyro_P; // Wert : 10-250 |
{ param_Gyro_I , 1 }, // unsigned char char Gyro_I; // Wert : 0-250 |
{ param_Gyro_D , 1 }, // unsigned char char Gyro_D; // Wert : 0-250 |
{ param_Gyro_Gier_P , 1 }, // unsigned char char Gyro_Gier_P; // Wert : 10-250 |
{ param_Gyro_Gier_I , 1 }, // unsigned char char Gyro_Gier_I; // Wert : 0-250 |
{ param_Gyro_Stability , 1 }, // unsigned char char Gyro_Stability; // Wert : 0-16 |
{ param_UnterspannungsWarnung , 1 }, // unsigned char char UnterspannungsWarnung; // Wert : 0-250 |
{ param_NotGas , 1 }, // unsigned char char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
{ param_NotGasZeit , 1 }, // unsigned char char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
{ param_Receiver , 1 }, // unsigned char char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
{ param_I_Faktor , 1 }, // unsigned char char I_Faktor; // Wert : 0-250 |
{ param_UserParam1 , 1 }, // unsigned char char UserParam1; // Wert : 0-250 |
{ param_UserParam2 , 1 }, // unsigned char char UserParam2; // Wert : 0-250 |
{ param_UserParam3 , 1 }, // unsigned char char UserParam3; // Wert : 0-250 |
{ param_UserParam4 , 1 }, // unsigned char char UserParam4; // Wert : 0-250 |
{ param_ServoNickControl , 1 }, // unsigned char char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoNickComp , 1 }, // unsigned char char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
{ param_ServoNickMin , 1 }, // unsigned char char ServoNickMin; // Wert : 0-250 // Anschlag |
{ param_ServoNickMax , 1 }, // unsigned char char ServoNickMax; // Wert : 0-250 // Anschlag |
{ param_ServoRollControl , 1 }, // unsigned char char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoRollComp , 1 }, // unsigned char char ServoRollComp; // Wert : 0-250 |
{ param_ServoRollMin , 1 }, // unsigned char char ServoRollMin; // Wert : 0-250 |
{ param_ServoRollMax , 1 }, // unsigned char char ServoRollMax; // Wert : 0-250 |
{ param_ServoNickRefresh , 1 }, // unsigned char char ServoNickRefresh; // Speed of the Servo |
{ param_ServoManualControlSpeed , 1 }, // unsigned char char ServoManualControlSpeed; // |
{ param_CamOrientation , 1 }, // unsigned char char CamOrientation; // |
{ param_Servo3 , 1 }, // unsigned char char Servo3; // Value or mapping of the Servo Output |
{ param_Servo4 , 1 }, // unsigned char char Servo4; // Value or mapping of the Servo Output |
{ param_Servo5 , 1 }, // unsigned char char Servo5; // Value or mapping of the Servo Output |
{ param_LoopGasLimit , 1 }, // unsigned char char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
{ param_LoopThreshold , 1 }, // unsigned char char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
{ param_LoopHysterese , 1 }, // unsigned char char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
{ param_AchsKopplung1 , 1 }, // unsigned char char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
{ param_AchsKopplung2 , 1 }, // unsigned char char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_CouplingYawCorrection , 1 }, // unsigned char char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_WinkelUmschlagNick , 1 }, // unsigned char char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
{ param_WinkelUmschlagRoll , 1 }, // unsigned char char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
{ param_GyroAccAbgleich , 1 }, // unsigned char char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
{ param_Driftkomp , 1 }, // unsigned char char Driftkomp; |
{ param_DynamicStability , 1 }, // unsigned char char DynamicStability; |
{ param_UserParam5 , 1 }, // unsigned char char UserParam5; // Wert : 0-250 |
{ param_UserParam6 , 1 }, // unsigned char char UserParam6; // Wert : 0-250 |
{ param_UserParam7 , 1 }, // unsigned char char UserParam7; // Wert : 0-250 |
{ param_UserParam8 , 1 }, // unsigned char char UserParam8; // Wert : 0-250 |
{ param_J16Bitmask , 1 }, // unsigned char char J16Bitmask; // for the J16 Output |
{ param_J16Timing , 1 }, // unsigned char char J16Timing; // for the J16 Output |
{ param_J17Bitmask , 1 }, // unsigned char char J17Bitmask; // for the J17 Output |
{ param_J17Timing , 1 }, // unsigned char char J17Timing; // for the J17 Output |
{ param_WARN_J16_Bitmask , 1 }, // unsigned char char WARN_J16_Bitmask; // for the J16 Output |
{ param_WARN_J17_Bitmask , 1 }, // unsigned char char WARN_J17_Bitmask; // for the J17 Output |
{ param_AutoPhotoDistance , 1 }, // unsigned char char AutoPhotoDistance; // Auto Photo // ab Rev. 100 (ehemals NaviOut1Parameter) |
{ param_NaviGpsModeChannel , 1 }, // unsigned char char NaviGpsModeChannel; // Parameters for the Naviboard |
{ param_NaviGpsGain , 1 }, // unsigned char char NaviGpsGain; |
{ param_NaviGpsP , 1 }, // unsigned char char NaviGpsP; |
{ param_NaviGpsI , 1 }, // unsigned char char NaviGpsI; |
{ param_NaviGpsD , 1 }, // unsigned char char NaviGpsD; |
{ param_NaviGpsPLimit , 1 }, // unsigned char char NaviGpsPLimit; |
{ param_NaviGpsILimit , 1 }, // unsigned char char NaviGpsILimit; |
{ param_NaviGpsDLimit , 1 }, // unsigned char char NaviGpsDLimit; |
{ param_NaviGpsA , 1 }, // unsigned char char NaviGpsA; |
{ param_NaviGpsMinSat , 1 }, // unsigned char char NaviGpsMinSat; |
{ param_NaviStickThreshold , 1 }, // unsigned char char NaviStickThreshold; |
{ param_NaviWindCorrection , 1 }, // unsigned char char NaviWindCorrection; |
{ param_NaviAccCompensation , 1 }, // unsigned char char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
{ param_NaviMaxFlyingRange , 1 }, // unsigned char char NaviMaxFlyingRange; // in 10m |
{ param_NaviAngleLimitation , 1 }, // unsigned char char NaviAngleLimitation; |
{ param_NaviPH_LoginTime , 1 }, // unsigned char char NaviPH_LoginTime; |
{ param_NaviDescendRange , 1 }, // unsigned char char NaviDescendRange; |
{ param_ExternalControl , 1 }, // unsigned char char ExternalControl; // for serial Control |
{ param_OrientationAngle , 1 }, // unsigned char char OrientationAngle; // Where is the front-direction? |
{ param_CareFreeChannel , 1 }, // unsigned char char CareFreeChannel; // switch for CareFree |
{ param_MotorSafetySwitch , 1 }, // unsigned char char MotorSafetySwitch; |
{ param_MotorSmooth , 1 }, // unsigned char char MotorSmooth; |
{ param_ComingHomeAltitude , 1 }, // unsigned char char ComingHomeAltitude; |
{ param_FailSafeTime , 1 }, // unsigned char char FailSafeTime; |
{ param_MaxAltitude , 1 }, // unsigned char char MaxAltitude; |
{ param_FailsafeChannel , 1 }, // unsigned char char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
{ param_ServoFilterNick , 1 }, // unsigned char char ServoFilterNick; |
{ param_ServoFilterRoll , 1 }, // unsigned char char ServoFilterRoll; |
{ param_Servo3OnValue , 1 }, // unsigned char char Servo3OnValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo3OffValue , 1 }, // unsigned char char Servo3OffValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo4OnValue , 1 }, // unsigned char char Servo4OnValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo4OffValue , 1 }, // unsigned char char Servo4OffValue; // ab Rev. 101 (FC 2.05f) |
{ param_StartLandChannel , 1 }, // unsigned char char StartLandChannel; |
{ param_LandingSpeed , 1 }, // unsigned char char LandingSpeed; |
{ param_CompassOffset , 1 }, // unsigned char char CompassOffset; |
{ param_AutoLandingVoltage , 1 }, // unsigned char char AutoLandingVoltage; // in 0,1V 0 -> disabled |
{ param_ComingHomeVoltage , 1 }, // unsigned char char ComingHomeVoltage; // in 0,1V 0 -> disabled |
{ param_AutoPhotoAtitudes , 1 }, // unsigned char char AutoPhotoAtitudes; // ab Rev. 100 |
{ param_SingleWpSpeed , 1 }, // unsigned char char SingleWpSpeed; // ab Rev. 100 |
{ param_LandingPulse , 1 }, // unsigned char char LandingPulse; // ab Rev. 104 (FC 2.09d) |
{ param_BitConfig , 1 }, // unsigned char char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
{ param_ServoCompInvert , 1 }, // unsigned char char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
{ param_ExtraConfig , 1 }, // unsigned char char ExtraConfig; // bitcodiert |
{ param_GlobalConfig3 , 1 }, // unsigned char char GlobalConfig3; // bitcodiert |
{ param_Name , 12 }, // char Name[12]; |
{ param_crc , 1 }, // unsigned char char crc; // must be the last byte! |
|
{ param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
|
}; // end: paramset_104[] |
|
//----------------------------------------------- |
// FC-Parameter Revision: 105 |
// |
// ab FC-Version: ab 2.09j bis ??? |
// gefunden in: 2.09j |
// |
// STRUKTUR-DIFF zu 104: |
// add: unsigned char ServoFS_Pos[5]; |
// |
|
//----------------------------------------------- |
paramRevItem_t const paramset_105[] PROGMEM = |
{ |
{ param_Revision , 1 }, // unsigned char Revision; |
{ param_Kanalbelegung , 12 }, // unsigned char char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
{ param_GlobalConfig , 1 }, // unsigned char char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
{ param_Hoehe_MinGas , 1 }, // unsigned char char Hoehe_MinGas; // Wert : 0-100 |
{ param_Luftdruck_D , 1 }, // unsigned char char Luftdruck_D; // Wert : 0-250 |
{ param_HoeheChannel , 1 }, // unsigned char char HoeheChannel; // Wert : 0-32 |
{ param_Hoehe_P , 1 }, // unsigned char char Hoehe_P; // Wert : 0-32 |
{ param_Hoehe_Verstaerkung , 1 }, // unsigned char char Hoehe_Verstaerkung; // Wert : 0-50 |
{ param_Hoehe_ACC_Wirkung , 1 }, // unsigned char char Hoehe_ACC_Wirkung; // Wert : 0-250 |
{ param_Hoehe_HoverBand , 1 }, // unsigned char char Hoehe_HoverBand; // Wert : 0-250 |
{ param_Hoehe_TiltCompensation , 1 }, // unsigned char char Hoehe_TiltCompensation; // Wert : 0-250 |
{ param_Hoehe_StickNeutralPoint , 1 }, // unsigned char char Hoehe_StickNeutralPoint; // Wert : 0-250 |
{ param_Stick_P , 1 }, // unsigned char char Stick_P; // Wert : 1-6 |
{ param_Stick_D , 1 }, // unsigned char char Stick_D; // Wert : 0-64 |
{ param_StickGier_P , 1 }, // unsigned char char StickGier_P; // Wert : 1-20 |
{ param_Gas_Min , 1 }, // unsigned char char Gas_Min; // Wert : 0-32 |
{ param_Gas_Max , 1 }, // unsigned char char Gas_Max; // Wert : 33-250 |
{ param_GyroAccFaktor , 1 }, // unsigned char char GyroAccFaktor; // Wert : 1-64 |
{ param_KompassWirkung , 1 }, // unsigned char char KompassWirkung; // Wert : 0-32 |
{ param_Gyro_P , 1 }, // unsigned char char Gyro_P; // Wert : 10-250 |
{ param_Gyro_I , 1 }, // unsigned char char Gyro_I; // Wert : 0-250 |
{ param_Gyro_D , 1 }, // unsigned char char Gyro_D; // Wert : 0-250 |
{ param_Gyro_Gier_P , 1 }, // unsigned char char Gyro_Gier_P; // Wert : 10-250 |
{ param_Gyro_Gier_I , 1 }, // unsigned char char Gyro_Gier_I; // Wert : 0-250 |
{ param_Gyro_Stability , 1 }, // unsigned char char Gyro_Stability; // Wert : 0-16 |
{ param_UnterspannungsWarnung , 1 }, // unsigned char char UnterspannungsWarnung; // Wert : 0-250 |
{ param_NotGas , 1 }, // unsigned char char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
{ param_NotGasZeit , 1 }, // unsigned char char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
{ param_Receiver , 1 }, // unsigned char char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
{ param_I_Faktor , 1 }, // unsigned char char I_Faktor; // Wert : 0-250 |
{ param_UserParam1 , 1 }, // unsigned char char UserParam1; // Wert : 0-250 |
{ param_UserParam2 , 1 }, // unsigned char char UserParam2; // Wert : 0-250 |
{ param_UserParam3 , 1 }, // unsigned char char UserParam3; // Wert : 0-250 |
{ param_UserParam4 , 1 }, // unsigned char char UserParam4; // Wert : 0-250 |
{ param_ServoNickControl , 1 }, // unsigned char char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoNickComp , 1 }, // unsigned char char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
{ param_ServoNickMin , 1 }, // unsigned char char ServoNickMin; // Wert : 0-250 // Anschlag |
{ param_ServoNickMax , 1 }, // unsigned char char ServoNickMax; // Wert : 0-250 // Anschlag |
{ param_ServoRollControl , 1 }, // unsigned char char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoRollComp , 1 }, // unsigned char char ServoRollComp; // Wert : 0-250 |
{ param_ServoRollMin , 1 }, // unsigned char char ServoRollMin; // Wert : 0-250 |
{ param_ServoRollMax , 1 }, // unsigned char char ServoRollMax; // Wert : 0-250 |
{ param_ServoNickRefresh , 1 }, // unsigned char char ServoNickRefresh; // Speed of the Servo |
{ param_ServoManualControlSpeed , 1 }, // unsigned char char ServoManualControlSpeed; // |
{ param_CamOrientation , 1 }, // unsigned char char CamOrientation; // |
{ param_Servo3 , 1 }, // unsigned char char Servo3; // Value or mapping of the Servo Output |
{ param_Servo4 , 1 }, // unsigned char char Servo4; // Value or mapping of the Servo Output |
{ param_Servo5 , 1 }, // unsigned char char Servo5; // Value or mapping of the Servo Output |
{ param_LoopGasLimit , 1 }, // unsigned char char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
{ param_LoopThreshold , 1 }, // unsigned char char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
{ param_LoopHysterese , 1 }, // unsigned char char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
{ param_AchsKopplung1 , 1 }, // unsigned char char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
{ param_AchsKopplung2 , 1 }, // unsigned char char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_CouplingYawCorrection , 1 }, // unsigned char char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_WinkelUmschlagNick , 1 }, // unsigned char char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
{ param_WinkelUmschlagRoll , 1 }, // unsigned char char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
{ param_GyroAccAbgleich , 1 }, // unsigned char char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
{ param_Driftkomp , 1 }, // unsigned char char Driftkomp; |
{ param_DynamicStability , 1 }, // unsigned char char DynamicStability; |
{ param_UserParam5 , 1 }, // unsigned char char UserParam5; // Wert : 0-250 |
{ param_UserParam6 , 1 }, // unsigned char char UserParam6; // Wert : 0-250 |
{ param_UserParam7 , 1 }, // unsigned char char UserParam7; // Wert : 0-250 |
{ param_UserParam8 , 1 }, // unsigned char char UserParam8; // Wert : 0-250 |
{ param_J16Bitmask , 1 }, // unsigned char char J16Bitmask; // for the J16 Output |
{ param_J16Timing , 1 }, // unsigned char char J16Timing; // for the J16 Output |
{ param_J17Bitmask , 1 }, // unsigned char char J17Bitmask; // for the J17 Output |
{ param_J17Timing , 1 }, // unsigned char char J17Timing; // for the J17 Output |
{ param_WARN_J16_Bitmask , 1 }, // unsigned char char WARN_J16_Bitmask; // for the J16 Output |
{ param_WARN_J17_Bitmask , 1 }, // unsigned char char WARN_J17_Bitmask; // for the J17 Output |
{ param_AutoPhotoDistance , 1 }, // unsigned char char AutoPhotoDistance; // Auto Photo // ab Rev. 100 (ehemals NaviOut1Parameter) |
{ param_NaviGpsModeChannel , 1 }, // unsigned char char NaviGpsModeChannel; // Parameters for the Naviboard |
{ param_NaviGpsGain , 1 }, // unsigned char char NaviGpsGain; |
{ param_NaviGpsP , 1 }, // unsigned char char NaviGpsP; |
{ param_NaviGpsI , 1 }, // unsigned char char NaviGpsI; |
{ param_NaviGpsD , 1 }, // unsigned char char NaviGpsD; |
{ param_NaviGpsPLimit , 1 }, // unsigned char char NaviGpsPLimit; |
{ param_NaviGpsILimit , 1 }, // unsigned char char NaviGpsILimit; |
{ param_NaviGpsDLimit , 1 }, // unsigned char char NaviGpsDLimit; |
{ param_NaviGpsA , 1 }, // unsigned char char NaviGpsA; |
{ param_NaviGpsMinSat , 1 }, // unsigned char char NaviGpsMinSat; |
{ param_NaviStickThreshold , 1 }, // unsigned char char NaviStickThreshold; |
{ param_NaviWindCorrection , 1 }, // unsigned char char NaviWindCorrection; |
{ param_NaviAccCompensation , 1 }, // unsigned char char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
{ param_NaviMaxFlyingRange , 1 }, // unsigned char char NaviMaxFlyingRange; // in 10m |
{ param_NaviAngleLimitation , 1 }, // unsigned char char NaviAngleLimitation; |
{ param_NaviPH_LoginTime , 1 }, // unsigned char char NaviPH_LoginTime; |
{ param_NaviDescendRange , 1 }, // unsigned char char NaviDescendRange; |
{ param_ExternalControl , 1 }, // unsigned char char ExternalControl; // for serial Control |
{ param_OrientationAngle , 1 }, // unsigned char char OrientationAngle; // Where is the front-direction? |
{ param_CareFreeChannel , 1 }, // unsigned char char CareFreeChannel; // switch for CareFree |
{ param_MotorSafetySwitch , 1 }, // unsigned char char MotorSafetySwitch; |
{ param_MotorSmooth , 1 }, // unsigned char char MotorSmooth; |
{ param_ComingHomeAltitude , 1 }, // unsigned char char ComingHomeAltitude; |
{ param_FailSafeTime , 1 }, // unsigned char char FailSafeTime; |
{ param_MaxAltitude , 1 }, // unsigned char char MaxAltitude; |
{ param_FailsafeChannel , 1 }, // unsigned char char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
{ param_ServoFilterNick , 1 }, // unsigned char char ServoFilterNick; |
{ param_ServoFilterRoll , 1 }, // unsigned char char ServoFilterRoll; |
{ param_Servo3OnValue , 1 }, // unsigned char char Servo3OnValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo3OffValue , 1 }, // unsigned char char Servo3OffValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo4OnValue , 1 }, // unsigned char char Servo4OnValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo4OffValue , 1 }, // unsigned char char Servo4OffValue; // ab Rev. 101 (FC 2.05f) |
{ param_ServoFS_Pos , 5 }, // unsigned char ServoFS_Pos[5]; // ab Rev. 105 (FC 2.09i) |
{ param_StartLandChannel , 1 }, // unsigned char char StartLandChannel; |
{ param_LandingSpeed , 1 }, // unsigned char char LandingSpeed; |
{ param_CompassOffset , 1 }, // unsigned char char CompassOffset; |
{ param_AutoLandingVoltage , 1 }, // unsigned char char AutoLandingVoltage; // in 0,1V 0 -> disabled |
{ param_ComingHomeVoltage , 1 }, // unsigned char char ComingHomeVoltage; // in 0,1V 0 -> disabled |
{ param_AutoPhotoAtitudes , 1 }, // unsigned char char AutoPhotoAtitudes; // ab Rev. 100 |
{ param_SingleWpSpeed , 1 }, // unsigned char char SingleWpSpeed; // ab Rev. 100 |
{ param_LandingPulse , 1 }, // unsigned char char LandingPulse; // ab Rev. 104 (FC 2.09d) |
{ param_BitConfig , 1 }, // unsigned char char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
{ param_ServoCompInvert , 1 }, // unsigned char char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
{ param_ExtraConfig , 1 }, // unsigned char char ExtraConfig; // bitcodiert |
{ param_GlobalConfig3 , 1 }, // unsigned char char GlobalConfig3; // bitcodiert |
{ param_Name , 12 }, // char Name[12]; |
{ param_crc , 1 }, // unsigned char char crc; // must be the last byte! |
|
{ param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
|
}; // end: paramset_105[] |
|
|
//----------------------------------------------- |
// FC-Parameter Revision: 106 |
// |
// ab FC-Version: ab 2.11a bis ??? |
// gefunden in: 2.11a |
// |
// STRUKTUR-DIFF zu 105: |
// add: unsigned char SingleWpControlChannel; |
// unsigned char MenuKeyChannel; |
|
// |
|
//----------------------------------------------- |
paramRevItem_t const paramset_106[] PROGMEM = |
{ |
{ param_Revision , 1 }, // unsigned char Revision; |
{ param_Kanalbelegung , 12 }, // unsigned char char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
{ param_GlobalConfig , 1 }, // unsigned char char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
{ param_Hoehe_MinGas , 1 }, // unsigned char char Hoehe_MinGas; // Wert : 0-100 |
{ param_Luftdruck_D , 1 }, // unsigned char char Luftdruck_D; // Wert : 0-250 |
{ param_HoeheChannel , 1 }, // unsigned char char HoeheChannel; // Wert : 0-32 |
{ param_Hoehe_P , 1 }, // unsigned char char Hoehe_P; // Wert : 0-32 |
{ param_Hoehe_Verstaerkung , 1 }, // unsigned char char Hoehe_Verstaerkung; // Wert : 0-50 |
{ param_Hoehe_ACC_Wirkung , 1 }, // unsigned char char Hoehe_ACC_Wirkung; // Wert : 0-250 |
{ param_Hoehe_HoverBand , 1 }, // unsigned char char Hoehe_HoverBand; // Wert : 0-250 |
{ param_Hoehe_TiltCompensation , 1 }, // unsigned char char Hoehe_TiltCompensation; // Wert : 0-250 |
{ param_Hoehe_StickNeutralPoint , 1 }, // unsigned char char Hoehe_StickNeutralPoint; // Wert : 0-250 |
{ param_Stick_P , 1 }, // unsigned char char Stick_P; // Wert : 1-6 |
{ param_Stick_D , 1 }, // unsigned char char Stick_D; // Wert : 0-64 |
{ param_StickGier_P , 1 }, // unsigned char char StickGier_P; // Wert : 1-20 |
{ param_Gas_Min , 1 }, // unsigned char char Gas_Min; // Wert : 0-32 |
{ param_Gas_Max , 1 }, // unsigned char char Gas_Max; // Wert : 33-250 |
{ param_GyroAccFaktor , 1 }, // unsigned char char GyroAccFaktor; // Wert : 1-64 |
{ param_KompassWirkung , 1 }, // unsigned char char KompassWirkung; // Wert : 0-32 |
{ param_Gyro_P , 1 }, // unsigned char char Gyro_P; // Wert : 10-250 |
{ param_Gyro_I , 1 }, // unsigned char char Gyro_I; // Wert : 0-250 |
{ param_Gyro_D , 1 }, // unsigned char char Gyro_D; // Wert : 0-250 |
{ param_Gyro_Gier_P , 1 }, // unsigned char char Gyro_Gier_P; // Wert : 10-250 |
{ param_Gyro_Gier_I , 1 }, // unsigned char char Gyro_Gier_I; // Wert : 0-250 |
{ param_Gyro_Stability , 1 }, // unsigned char char Gyro_Stability; // Wert : 0-16 |
{ param_UnterspannungsWarnung , 1 }, // unsigned char char UnterspannungsWarnung; // Wert : 0-250 |
{ param_NotGas , 1 }, // unsigned char char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
{ param_NotGasZeit , 1 }, // unsigned char char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
{ param_Receiver , 1 }, // unsigned char char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
{ param_I_Faktor , 1 }, // unsigned char char I_Faktor; // Wert : 0-250 |
{ param_UserParam1 , 1 }, // unsigned char char UserParam1; // Wert : 0-250 |
{ param_UserParam2 , 1 }, // unsigned char char UserParam2; // Wert : 0-250 |
{ param_UserParam3 , 1 }, // unsigned char char UserParam3; // Wert : 0-250 |
{ param_UserParam4 , 1 }, // unsigned char char UserParam4; // Wert : 0-250 |
{ param_ServoNickControl , 1 }, // unsigned char char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoNickComp , 1 }, // unsigned char char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
{ param_ServoNickMin , 1 }, // unsigned char char ServoNickMin; // Wert : 0-250 // Anschlag |
{ param_ServoNickMax , 1 }, // unsigned char char ServoNickMax; // Wert : 0-250 // Anschlag |
{ param_ServoRollControl , 1 }, // unsigned char char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
{ param_ServoRollComp , 1 }, // unsigned char char ServoRollComp; // Wert : 0-250 |
{ param_ServoRollMin , 1 }, // unsigned char char ServoRollMin; // Wert : 0-250 |
{ param_ServoRollMax , 1 }, // unsigned char char ServoRollMax; // Wert : 0-250 |
{ param_ServoNickRefresh , 1 }, // unsigned char char ServoNickRefresh; // Speed of the Servo |
{ param_ServoManualControlSpeed , 1 }, // unsigned char char ServoManualControlSpeed; // |
{ param_CamOrientation , 1 }, // unsigned char char CamOrientation; // |
{ param_Servo3 , 1 }, // unsigned char char Servo3; // Value or mapping of the Servo Output |
{ param_Servo4 , 1 }, // unsigned char char Servo4; // Value or mapping of the Servo Output |
{ param_Servo5 , 1 }, // unsigned char char Servo5; // Value or mapping of the Servo Output |
{ param_LoopGasLimit , 1 }, // unsigned char char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
{ param_LoopThreshold , 1 }, // unsigned char char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
{ param_LoopHysterese , 1 }, // unsigned char char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
{ param_AchsKopplung1 , 1 }, // unsigned char char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
{ param_AchsKopplung2 , 1 }, // unsigned char char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_CouplingYawCorrection , 1 }, // unsigned char char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
{ param_WinkelUmschlagNick , 1 }, // unsigned char char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
{ param_WinkelUmschlagRoll , 1 }, // unsigned char char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
{ param_GyroAccAbgleich , 1 }, // unsigned char char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
{ param_Driftkomp , 1 }, // unsigned char char Driftkomp; |
{ param_DynamicStability , 1 }, // unsigned char char DynamicStability; |
{ param_UserParam5 , 1 }, // unsigned char char UserParam5; // Wert : 0-250 |
{ param_UserParam6 , 1 }, // unsigned char char UserParam6; // Wert : 0-250 |
{ param_UserParam7 , 1 }, // unsigned char char UserParam7; // Wert : 0-250 |
{ param_UserParam8 , 1 }, // unsigned char char UserParam8; // Wert : 0-250 |
{ param_J16Bitmask , 1 }, // unsigned char char J16Bitmask; // for the J16 Output |
{ param_J16Timing , 1 }, // unsigned char char J16Timing; // for the J16 Output |
{ param_J17Bitmask , 1 }, // unsigned char char J17Bitmask; // for the J17 Output |
{ param_J17Timing , 1 }, // unsigned char char J17Timing; // for the J17 Output |
{ param_WARN_J16_Bitmask , 1 }, // unsigned char char WARN_J16_Bitmask; // for the J16 Output |
{ param_WARN_J17_Bitmask , 1 }, // unsigned char char WARN_J17_Bitmask; // for the J17 Output |
{ param_AutoPhotoDistance , 1 }, // unsigned char char AutoPhotoDistance; // Auto Photo // ab Rev. 100 (ehemals NaviOut1Parameter) |
{ param_NaviGpsModeChannel , 1 }, // unsigned char char NaviGpsModeChannel; // Parameters for the Naviboard |
{ param_NaviGpsGain , 1 }, // unsigned char char NaviGpsGain; |
{ param_NaviGpsP , 1 }, // unsigned char char NaviGpsP; |
{ param_NaviGpsI , 1 }, // unsigned char char NaviGpsI; |
{ param_NaviGpsD , 1 }, // unsigned char char NaviGpsD; |
{ param_NaviGpsPLimit , 1 }, // unsigned char char NaviGpsPLimit; |
{ param_NaviGpsILimit , 1 }, // unsigned char char NaviGpsILimit; |
{ param_NaviGpsDLimit , 1 }, // unsigned char char NaviGpsDLimit; |
{ param_NaviGpsA , 1 }, // unsigned char char NaviGpsA; |
{ param_NaviGpsMinSat , 1 }, // unsigned char char NaviGpsMinSat; |
{ param_NaviStickThreshold , 1 }, // unsigned char char NaviStickThreshold; |
{ param_NaviWindCorrection , 1 }, // unsigned char char NaviWindCorrection; |
{ param_NaviAccCompensation , 1 }, // unsigned char char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
{ param_NaviMaxFlyingRange , 1 }, // unsigned char char NaviMaxFlyingRange; // in 10m |
{ param_NaviAngleLimitation , 1 }, // unsigned char char NaviAngleLimitation; |
{ param_NaviPH_LoginTime , 1 }, // unsigned char char NaviPH_LoginTime; |
{ param_NaviDescendRange , 1 }, // unsigned char char NaviDescendRange; |
{ param_ExternalControl , 1 }, // unsigned char char ExternalControl; // for serial Control |
{ param_OrientationAngle , 1 }, // unsigned char char OrientationAngle; // Where is the front-direction? |
{ param_CareFreeChannel , 1 }, // unsigned char char CareFreeChannel; // switch for CareFree |
{ param_MotorSafetySwitch , 1 }, // unsigned char char MotorSafetySwitch; |
{ param_MotorSmooth , 1 }, // unsigned char char MotorSmooth; |
{ param_ComingHomeAltitude , 1 }, // unsigned char char ComingHomeAltitude; |
{ param_FailSafeTime , 1 }, // unsigned char char FailSafeTime; |
{ param_MaxAltitude , 1 }, // unsigned char char MaxAltitude; |
{ param_FailsafeChannel , 1 }, // unsigned char char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
{ param_ServoFilterNick , 1 }, // unsigned char char ServoFilterNick; |
{ param_ServoFilterRoll , 1 }, // unsigned char char ServoFilterRoll; |
{ param_Servo3OnValue , 1 }, // unsigned char char Servo3OnValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo3OffValue , 1 }, // unsigned char char Servo3OffValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo4OnValue , 1 }, // unsigned char char Servo4OnValue; // ab Rev. 101 (FC 2.05f) |
{ param_Servo4OffValue , 1 }, // unsigned char char Servo4OffValue; // ab Rev. 101 (FC 2.05f) |
{ param_ServoFS_Pos , 5 }, // unsigned char ServoFS_Pos[5]; // ab Rev. 105 (FC 2.09i) |
{ param_StartLandChannel , 1 }, // unsigned char char StartLandChannel; |
{ param_LandingSpeed , 1 }, // unsigned char char LandingSpeed; |
{ param_CompassOffset , 1 }, // unsigned char char CompassOffset; |
{ param_AutoLandingVoltage , 1 }, // unsigned char char AutoLandingVoltage; // in 0,1V 0 -> disabled |
{ param_ComingHomeVoltage , 1 }, // unsigned char char ComingHomeVoltage; // in 0,1V 0 -> disabled |
{ param_AutoPhotoAtitudes , 1 }, // unsigned char char AutoPhotoAtitudes; // ab Rev. 100 |
{ param_SingleWpSpeed , 1 }, // unsigned char char SingleWpSpeed; // ab Rev. 100 |
{ param_LandingPulse , 1 }, // unsigned char char LandingPulse; // ab Rev. 104 (FC 2.09d) |
{ param_SingleWpControlChannel , 1 }, // unsigned char SingleWpControlChannel; // ab Rev. 106 (FC2.11a) |
{ param_MenuKeyChannel , 1 }, // unsigned char MenuKeyChannel; // ab Rev. 106 (FC2.11a) |
{ param_BitConfig , 1 }, // unsigned char char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
{ param_ServoCompInvert , 1 }, // unsigned char char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
{ param_ExtraConfig , 1 }, // unsigned char char ExtraConfig; // bitcodiert |
{ param_GlobalConfig3 , 1 }, // unsigned char char GlobalConfig3; // bitcodiert |
{ param_Name , 12 }, // char Name[12]; |
{ param_crc , 1 }, // unsigned char char crc; // must be the last byte! |
|
{ param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
|
}; // end: paramset_106[] |
|
|
|
|
//############################################################################################# |
//# 1b. Zuweisungstabelle: Revision -> paramset_xxx |
//############################################################################################# |
|
typedef struct |
{ |
unsigned char Revision; |
const paramRevItem_t *RevisionTable; |
} paramsetRevMap_t; |
|
#define MAPEOF 255 |
|
|
//---------------------------------------------------------------- |
// Mappingtabelle zwischen FC-Revision und Paramset-Tabelle |
// |
// Anmerkung bzgl. Groesse: |
// Angenommen man wuerde die Rev 97 bis 90 weglassen, dann |
// wuerde man ca. 1 KByte sparen |
//---------------------------------------------------------------- |
paramsetRevMap_t paramsetRevMap[] = |
{ |
{ 106 , paramset_106 }, // 2.11a |
{ 105 , paramset_105 }, // 2.09j |
{ 104 , paramset_104 }, // 2.09d |
{ 103 , paramset_103 }, // 2.07f |
{ 102 , paramset_102 }, // 2.05g (bis min. 2.06b) |
{ 101 , paramset_101 }, // 2.05f (eingeschraenkte Unterstuetzung - ) nur in einer einzigen Betaversion vorhanden!) |
{ 100 , paramset_100 }, // 2.05e (Anmerkung OG 06.04.2014: ggf. spaeter loeschen um Platz zu sparen da diese Version nur in einigen wenigen Betaversionen vorhanden ist) |
// Rev. 99: nicht vorhanden; ignorieren |
{ 98 , paramset_098 }, // 2.03d |
{ 97 , paramset_097 }, // 2.02b |
{ 96 , paramset_095 }, // ??? (keine Struktur-Aenderung zu 095) |
{ 95 , paramset_095 }, // 0.90L, 2.00a, 2.00e |
{ 94 , paramset_094 }, // eingeschraenkte Unterstuetzung; 0.91a |
{ 93 , paramset_093 }, // eingeschraenkte Unterstuetzung; 0.90e, 0.90g, 0.90j |
{ 92 , paramset_093 }, // eingeschraenkte Unterstuetzung; 0.90d (keine Struktur-Aenderung zu 093) |
{ 91 , paramset_091 }, // eingeschraenkte Unterstuetzung; 0.88m, 0.88n |
{ 90 , paramset_091 }, // eingeschraenkte Unterstuetzung; 0.88e (keine Struktur-Aenderung zu 091) |
|
{ MAPEOF, 0 } // END OF LIST - MUST BE THE LAST!! |
}; |
|
|
|
|
//############################################################################################# |
//# 2. Konfigurationstabelle der paramSubID's (Bit- und Bytefelder) |
//############################################################################################# |
|
//--------------------------------------- |
// struct: einzelnes Parameter-SubItem |
//--------------------------------------- |
typedef struct |
{ |
unsigned char paramSubID; // groesser/gleich PARAMSUBITEMS |
unsigned char paramID; // -> mapping auf entsprechende paramID |
unsigned char subType; // SUBTYPE_BIT oder SUBTYPE_BYTE |
unsigned char subIndex; // bei SUBTYPE_BIT: Bitmask z.b. 0x02 |
// bei SUBTYPE_BYTE: index des Bytes (siehe param_Kanalbelegung) |
unsigned char von_Revision; // ab welcher FC-Revision ist das SubItem vorhanden (0=immer) |
unsigned char bis_Revision; // bis zu welcher FC-Revision ist das SubItem vorhanden (0=immer) |
} paramSubItem_t; |
|
|
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
// +- von_Revision |
// | |
// +- paramSubID +- gehoert zu? +- Bit/Byte? +- Bit/Byte der paramID | +- bis_Revision |
// | | | | | | |
//--|-----------------------------------------|----------------------|--------------|----------------------------------|--|---------------------------------------------- |
paramSubItem_t const paramSubItem[] PROGMEM = |
{ |
{ param_ServoCompInvert_SERVO_NICK_INV , param_ServoCompInvert, SUBTYPE_BIT, SERVO_NICK_INV , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: SVNick 0x01 |
{ param_ServoCompInvert_SERVO_ROLL_INV , param_ServoCompInvert, SUBTYPE_BIT, SERVO_ROLL_INV , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: SVRoll 0x02 |
{ param_ServoCompInvert_SERVO_RELATIVE , param_ServoCompInvert, SUBTYPE_BIT, SERVO_RELATIVE , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: SVRelMov 0x04 |
|
{ param_ExtraConfig_HeightLimit , param_ExtraConfig, SUBTYPE_BIT, CFG2_HEIGHT_LIMIT , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG2_HEIGHT_LIMIT 0x01 |
{ param_ExtraConfig_HeightVario , param_ExtraConfig, SUBTYPE_BITN, CFG2_HEIGHT_LIMIT , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG2_HEIGHT_LIMIT 0x01 negiert zu param_ExtraConfig_HeightLimit |
{ param_ExtraConfig_VarioBeep , param_ExtraConfig, SUBTYPE_BIT, CFG2_VARIO_BEEP , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG2_VARIO_BEEP 0x02 |
{ param_ExtraConfig_SensitiveRc , param_ExtraConfig, SUBTYPE_BIT, CFG_SENSITIVE_RC , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_SENSITIVE_RC 0x04 |
{ param_ExtraConfig_33vReference , param_ExtraConfig, SUBTYPE_BIT, CFG_3_3V_REFERENCE , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_3_3V_REFERENCE 0x08 |
{ param_ExtraConfig_NoRcOffBeeping , param_ExtraConfig, SUBTYPE_BIT, CFG_NO_RCOFF_BEEPING , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_NO_RCOFF_BEEPING 0x10 |
{ param_ExtraConfig_GpsAid , param_ExtraConfig, SUBTYPE_BIT, CFG_GPS_AID , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_GPS_AID 0x20 |
{ param_ExtraConfig_LearnableCarefree , param_ExtraConfig, SUBTYPE_BIT, CFG_LEARNABLE_CAREFREE , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_LEARNABLE_CAREFREE 0x40 |
{ param_ExtraConfig_IgnoreMagErrAtStartup , param_ExtraConfig, SUBTYPE_BIT, CFG_IGNORE_MAG_ERR_AT_STARTUP , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_IGNORE_MAG_ERR_AT_STARTUP 0x80 |
|
{ param_BitConfig_LoopOben , param_BitConfig, SUBTYPE_BIT, CFG_LOOP_OBEN , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_LOOP_OBEN 0x01 |
{ param_BitConfig_LoopUnten , param_BitConfig, SUBTYPE_BIT, CFG_LOOP_UNTEN , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_LOOP_UNTEN 0x02 |
{ param_BitConfig_LoopLinks , param_BitConfig, SUBTYPE_BIT, CFG_LOOP_LINKS , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_LOOP_LINKS 0x04 |
{ param_BitConfig_LoopRechts , param_BitConfig, SUBTYPE_BIT, CFG_LOOP_RECHTS , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_LOOP_RECHTS 0x08 |
{ param_BitConfig_MotorBlink1 , param_BitConfig, SUBTYPE_BIT, CFG_MOTOR_BLINK1 , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_MOTOR_BLINK1 0x10 |
{ param_BitConfig_MotorOffLed1 , param_BitConfig, SUBTYPE_BIT, CFG_MOTOR_OFF_LED1 , 0,101}, // SUBTYPE_BIT - mk-data-structs.h: CFG_MOTOR_OFF_LED1 0x20 |
{ param_BitConfig_MotorOffLed2 , param_BitConfig, SUBTYPE_BIT, CFG_MOTOR_OFF_LED2 , 0,101}, // SUBTYPE_BIT - mk-data-structs.h: CFG_MOTOR_OFF_LED2 0x40 |
{ param_BitConfig_MotorBlink2 , param_BitConfig, SUBTYPE_BIT, CFG_MOTOR_BLINK2 , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_MOTOR_BLINK2 0x80 |
|
{ param_GlobalConfig3_NoSdCardNoStart , param_GlobalConfig3, SUBTYPE_BIT, CFG3_NO_SDCARD_NO_START , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG3_NO_SDCARD_NO_START 0x01 |
{ param_GlobalConfig3_DphMaxRadius , param_GlobalConfig3, SUBTYPE_BIT, CFG3_DPH_MAX_RADIUS , 0,100}, // SUBTYPE_BIT - mk-data-structs.h: CFG3_DPH_MAX_RADIUS 0x02 |
{ param_GlobalConfig3_VarioFailsafe , param_GlobalConfig3, SUBTYPE_BIT, CFG3_VARIO_FAILSAFE , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG3_VARIO_FAILSAFE 0x04 |
{ param_GlobalConfig3_MotorSwitchMode , param_GlobalConfig3, SUBTYPE_BIT, CFG3_MOTOR_SWITCH_MODE , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG3_MOTOR_SWITCH_MODE 0x08 |
{ param_GlobalConfig3_NoGpsFixNoStart , param_GlobalConfig3, SUBTYPE_BIT, CFG3_NO_GPSFIX_NO_START , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG3_NO_GPSFIX_NO_START 0x10 |
{ param_GlobalConfig3_UseNcForOut1 , param_GlobalConfig3, SUBTYPE_BIT, CFG3_USE_NC_FOR_OUT1 , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG3_USE_NC_FOR_OUT1 0x20 |
{ param_GlobalConfig3_SpeakAll , param_GlobalConfig3, SUBTYPE_BIT, CFG3_SPEAK_ALL , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG3_SPEAK_ALL 0x40 |
{ param_GlobalConfig3_ServoNickCompOff , param_GlobalConfig3, SUBTYPE_BIT, CFG3_SERVO_NICK_COMP_OFF , 96, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG3_SERVO_NICK_COMP_OFF 0x80 |
|
{ param_GlobalConfig_HoehenRegelung , param_GlobalConfig, SUBTYPE_BIT, CFG_HOEHENREGELUNG , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_HOEHENREGELUNG 0x01 |
{ param_GlobalConfig_HoehenSchalter , param_GlobalConfig, SUBTYPE_BIT, CFG_HOEHEN_SCHALTER , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_HOEHEN_SCHALTER 0x02 |
{ param_GlobalConfig_HeadingHold , param_GlobalConfig, SUBTYPE_BIT, CFG_HEADING_HOLD , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_HEADING_HOLD 0x04 |
{ param_GlobalConfig_KompassAktiv , param_GlobalConfig, SUBTYPE_BIT, CFG_KOMPASS_AKTIV , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_KOMPASS_AKTIV 0x08 |
{ param_GlobalConfig_KompassFix , param_GlobalConfig, SUBTYPE_BIT, CFG_KOMPASS_FIX , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_KOMPASS_FIX 0x10 |
{ param_GlobalConfig_GpsAktiv , param_GlobalConfig, SUBTYPE_BIT, CFG_GPS_AKTIV , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_GPS_AKTIV 0x20 |
{ param_GlobalConfig_AchsenkopplungAktiv , param_GlobalConfig, SUBTYPE_BIT, CFG_ACHSENKOPPLUNG_AKTIV , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_ACHSENKOPPLUNG_AKTIV 0x40 |
{ param_GlobalConfig_DrehratenBegrenzer , param_GlobalConfig, SUBTYPE_BIT, CFG_DREHRATEN_BEGRENZER , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_DREHRATEN_BEGRENZER 0x80 |
|
{ param_Kanalbelegung_Nick , param_Kanalbelegung, SUBTYPE_BYTE, 0 , 0, 0}, // -> Kanalbelegung[12] |
{ param_Kanalbelegung_Roll , param_Kanalbelegung, SUBTYPE_BYTE, 1 , 0, 0}, |
{ param_Kanalbelegung_Gas , param_Kanalbelegung, SUBTYPE_BYTE, 2 , 0, 0}, |
{ param_Kanalbelegung_Gear , param_Kanalbelegung, SUBTYPE_BYTE, 3 , 0, 0}, |
{ param_Kanalbelegung_Poti1 , param_Kanalbelegung, SUBTYPE_BYTE, 4 , 0, 0}, |
{ param_Kanalbelegung_Poti2 , param_Kanalbelegung, SUBTYPE_BYTE, 5 , 0, 0}, |
{ param_Kanalbelegung_Poti3 , param_Kanalbelegung, SUBTYPE_BYTE, 6 , 0, 0}, |
{ param_Kanalbelegung_Poti4 , param_Kanalbelegung, SUBTYPE_BYTE, 7 , 0, 0}, |
{ param_Kanalbelegung_Poti5 , param_Kanalbelegung, SUBTYPE_BYTE, 8 , 0, 0}, |
{ param_Kanalbelegung_Poti6 , param_Kanalbelegung, SUBTYPE_BYTE, 9 , 0, 0}, |
{ param_Kanalbelegung_Poti7 , param_Kanalbelegung, SUBTYPE_BYTE, 10 , 0, 0}, |
{ param_Kanalbelegung_Poti8 , param_Kanalbelegung, SUBTYPE_BYTE, 11 , 0, 0}, |
|
{ param_CompassOffset_DisableDeclCalc , param_CompassOffset, SUBTYPE_BYTE, 0 , 0, 0}, // ist in Bit 8 und 7 von CompassOffset kodiert |
{ param_ComingHomeOrientation , param_ServoCompInvert, SUBTYPE_BYTE, 0 , 0, 0}, // ist in Bit 5 und 4 von CervoCompInvert |
|
{ param_ServoNickFailsave , param_ServoFS_Pos, SUBTYPE_BYTE, 0 , 0, 0}, |
{ param_ServoRollFailsave , param_ServoFS_Pos, SUBTYPE_BYTE, 1 , 0, 0}, |
{ param_Servo3Failsave , param_ServoFS_Pos, SUBTYPE_BYTE, 2 , 0, 0}, |
{ param_Servo4Failsave , param_ServoFS_Pos, SUBTYPE_BYTE, 3 , 0, 0}, |
{ param_Servo5Failsave , param_ServoFS_Pos, SUBTYPE_BYTE, 4 , 0, 0}, |
|
{ param_EOF , 0,0,0,0,0 } // END - MUST BE THE LAST!! |
}; // end: paramSubItem[] |
|
|
|
//############################################################################################# |
//# 3a. Transformations-Tabelle |
//############################################################################################# |
|
//--------------------------------------- |
// struct: einzelnes Parameter-SubItem |
//--------------------------------------- |
typedef struct |
{ |
unsigned char paramID; // paramID oder paramSubID |
unsigned char (*transformfunc)( uint8_t cmd, unsigned char value, unsigned char newvalue ); // Edit-Funktion (z.B. editGeneric()); cmd = CMD_EDIT oder CMD_SHORTVALUE |
} paramTransform_t; |
|
|
|
//--------------------------------------- |
// forward Deklarationen fuer transform |
//--------------------------------------- |
unsigned char transform_CompassOffset_DisableDeclCalc( uint8_t cmd, unsigned char value, unsigned char newvalue ); |
unsigned char transform_ComingHomeOrientation( uint8_t cmd, unsigned char value, unsigned char newvalue ); |
//unsigned char transform_ValueACCZ( uint16_t cmd, uint16_t value, uint16_t newvalue ); |
|
//--------------------------------------- |
//--------------------------------------- |
paramTransform_t const paramTransform[] = |
{ |
{ param_CompassOffset_DisableDeclCalc , &transform_CompassOffset_DisableDeclCalc }, |
{ param_ComingHomeOrientation , &transform_ComingHomeOrientation }, |
// { param_LandingPulse, &transform_ValueACCZ}, |
|
{ param_EOF , NULL } // END - MUST BE THE LAST!! |
}; |
|
|
|
|
//############################################################################################# |
//# 3b. Transformations-Funktionen |
//############################################################################################# |
|
//--------------------------------------- |
// transform_CompassOffset_DisableDeclCalc() |
// |
// PARAMETER: |
// cmd : GETVALUE || SETVALUE |
// value : |
// newvalue: nur wenn cmd == SETVALUE |
// |
// Der true/false (Ja/Nein) Wert von param_CompassOffset_DisableDeclCalc |
// ist in dem Byte von param_CompassOffset in den Bits 7 & 8 einkodiert. |
//--------------------------------------- |
unsigned char transform_CompassOffset_DisableDeclCalc( uint8_t cmd, unsigned char value, unsigned char newvalue ) |
{ |
uint8_t bit7; |
uint8_t bit8; |
|
bit7 = ((value & 0x40) ? true : false); |
bit8 = ((value & 0x80) ? true : false); |
|
if( cmd == GETVALUE ) |
{ |
// Bit 8 == Bit 7: Disable dec. Calc AUS |
// Bit 8 != Bit 7: Disable dec. Calc AN |
value = ((bit8 == bit7) ? 0 : 1); |
} |
|
if( cmd == SETVALUE ) |
{ |
if( newvalue ) bit8 = !bit7; // Bit 8 != Bit 7: Disable dec. Calc AN |
else bit8 = bit7; // Bit 8 == Bit 7: Disable dec. Calc AUS |
|
if( bit8 ) value = (value | 0x80); // Bit 8 setzen |
else value = (value & (0x80 ^ 0xff)); // Bit 8 loeschen |
} |
|
|
//lcdx_printf_at_P( 0, 7, MINVERS, 0,0 , PSTR(" %d => %d "), value, newvalue ); |
|
return value; |
} |
|
//--------------------------------------- |
// transform_ComingHomeOrientation() |
// |
// PARAMETER: |
// cmd : GETVALUE || SETVALUE |
// value : |
// newvalue: nur wenn cmd == SETVALUE |
// |
// |
// ist in dem Byte von param_ServoCompInvert in den Bits 4 & 5 einkodiert, Bits 1-3 bleiben unverändert |
//--------------------------------------- |
|
uint8_t save =0; // globale Variable zum Sichern des alten Byte ServoCompInvert Wertes |
|
unsigned char transform_ComingHomeOrientation( uint8_t cmd, unsigned char value, unsigned char newvalue ) |
{ |
|
if( cmd == GETVALUE ) |
{ |
save = value; // altes "gemeinsames" Byte ServoCompInvert sichern |
value =((value & 0x18) >> 3); // CominghomeOrientation Bits nach rechts verschieben |
} |
|
if( cmd == SETVALUE ) |
{ |
value = ((newvalue << 3)|(save & 0x07)); // CominghomeOrientation Bits nach links verschieben und "alte" Bits 1-3 wieder dazufügen |
} |
|
|
//lcdx_printf_at_P( 0, 7, MINVERS, 0,0 , PSTR(" %d => %d "), value, newvalue ); |
|
return value; |
} |
|
// |
// |
////--------------------------------------- |
//// transform_ValueACCZ() |
//// |
//// PARAMETER: |
//// cmd : GETVALUE || SETVALUE |
//// value : |
//// newvalue: nur wenn cmd == SETVALUE |
//// |
//// |
//// ACC Z Landing Pulse Wert für die Anzeige x 4 |
////--------------------------------------- |
// |
// |
//unsigned char transform_ValueACCZ( uint16_t cmd, uint16_t value, unint16_t newvalue ) |
// |
//uint16_t save16 =0; // globale Variable zum Sichern des alten Byte ServoCompInvert Wertes |
// |
//{ |
// if( cmd == GETVALUE ) |
// { |
// save16 = value; // altes Byte ACC Z Landing Pulse sichern |
// value = (value * 4); // Wert x 4 |
// } |
// |
// if( cmd == SETVALUE ) |
// { |
// value = (newvalue / 4); // Neuer Wert ACC Z Landingpulse /4 |
// } |
// |
// |
// return value; |
//} |
|
//############################################################################################# |
//# 4a. interne Zugriffsfunktionen |
//############################################################################################# |
|
//-------------------------------------------------------------- |
// INTERN |
// |
// Parameter: |
// paramSubID: 'echter' Parameter zum Suchen in paramSubItem[] zum |
// nachfolgeden Parameter geben das Suchergebnis zurueck |
// und sind alle 0 wenn nichts gefunden wurde |
// |
// Rueckgabe: |
// true/false |
//-------------------------------------------------------------- |
unsigned char _paramset_getsubitemid( unsigned char paramSubID, unsigned char *paramID, unsigned char *subType, unsigned char *subIndex ) |
{ |
unsigned char id; |
unsigned char *p; |
unsigned char von_Revision; |
unsigned char bis_Revision; |
|
*paramID = 0; |
*subType = 0; |
*subIndex = 0; |
|
p = (unsigned char *) paramSubItem; |
|
while( true ) |
{ |
id = pgm_read_byte(p+0); // paramSubItem[..].paramSubID - die aktuelle paramSubID |
|
if( (id == paramSubID) ) // gefunden? |
{ |
von_Revision = pgm_read_byte(p+4); // paramSubItem[..].von_Revision; |
bis_Revision = pgm_read_byte(p+5); // paramSubItem[..].bis_Revision; |
|
// in aktueller FC-Revision vorhanden? |
if( von_Revision && (MKVersion.paramsetRevision < von_Revision) ) return false; // passt nicht zur aktuellen FC-Revision -> exit |
if( bis_Revision && (MKVersion.paramsetRevision > bis_Revision) ) return false; // passt nicht zur aktuellen FC-Revision -> exit |
|
*paramID = pgm_read_byte(p+1); // paramSubItem[..].paramID; |
*subType = pgm_read_byte(p+2); // paramSubItem[..].subType; |
*subIndex = pgm_read_byte(p+3); // paramSubItem[..].subIndex; |
return true; |
} |
|
if( id == param_EOF ) break; |
|
p += sizeof( paramSubItem_t ); |
} |
|
return false; |
} |
|
|
|
|
//-------------------------------------------------------------- |
// INTERN |
// |
// Parameter: |
// retItemSize: false = offset zurueckgeben (normaler Modus) |
// true = size von paramID zurueckgeben (fuer paramSize()) |
//-------------------------------------------------------------- |
unsigned char _paramset_getoffsetX( unsigned char paramID, unsigned char retItemSize, unsigned char *subType, unsigned char *subIndex ) |
{ |
unsigned char *p; |
unsigned char offset; |
unsigned char size; |
unsigned char this_paramID; |
unsigned char paramSubID; |
|
*subType = SUBTYPE_NO; // =0 |
*subIndex = 0; |
|
|
size = 0; |
offset = param_NOTFOUND; |
|
if( MKVersion.paramsetOK ) |
{ |
//----------------------- |
// eine paramSubID wurde uebergeben |
// -> ermittle zugehoerige paramID! |
//----------------------- |
if( (paramID >= param_SUBITEM) && (paramID != param_EOF) ) |
{ |
paramSubID = paramID; |
if( !_paramset_getsubitemid( paramSubID, ¶mID, subType, subIndex ) ) |
{ |
// keine paramID gefunden... |
if( retItemSize ) return size; // size == 0 |
else return offset; // offset == param_NOTFOUND |
} |
} |
|
|
//----------------------- |
// paramID suchen |
//----------------------- |
offset = 0; |
|
p = (unsigned char *) paramsetRevTable; |
|
while( true ) |
{ |
this_paramID = pgm_read_byte(p); // die aktuelle paramID |
size = pgm_read_byte(p+1); // size von paramID |
|
// gefunden oder Ende |
if( (this_paramID == paramID) || (this_paramID == param_EOF) ) |
{ |
break; |
} |
|
offset += size; |
p += sizeof( paramRevItem_t ); |
} |
|
|
// paramID nicht gefunden? |
if( (this_paramID == param_EOF) && (paramID != param_EOF) ) |
{ |
offset = param_NOTFOUND; |
size = 0; |
} |
|
} |
|
if( retItemSize ) return size; |
else return offset; |
} |
|
|
|
//-------------------------------------------------------------- |
// INTERN |
// |
// Parameter: |
// retItemSize == false: offset zurueckgeben (normaler Modus) |
// retItemSize == true : size von paramID zurueckgeben |
// --> fuer paramSize() |
//-------------------------------------------------------------- |
unsigned char _paramset_getoffset( unsigned char paramID, unsigned char retItemSize ) |
{ |
unsigned char subType; |
unsigned char subIndex; |
|
return _paramset_getoffsetX( paramID, retItemSize, &subType, &subIndex ); |
} |
|
|
|
//-------------------------------------------------------------- |
// INTERN |
// |
// sucht/prueft ob eine Transform-Funktion vorhanden ist |
// |
// RUECKGABE: |
// Index: (Num 0..n) auf paramTransform[] |
// => param_EOF (=255) wenn keine transform-Funktion vorhanden |
//-------------------------------------------------------------- |
unsigned char _paramset_gettransformIndex( unsigned char paramID ) |
{ |
unsigned char i; |
|
i = 0; |
while( paramTransform[i].paramID != param_EOF ) |
{ |
if( paramTransform[i].paramID == paramID ) return i; |
if( paramTransform[i].paramID == param_EOF ) return param_EOF; |
i++; |
} |
|
return param_EOF; |
} |
|
|
|
//############################################################################################# |
//# 4b. oeffentliche Zugriffsfunktionen fuer paramID / paramSubID Elemente |
//# |
//# Hier sind die Getter/Setter um auf die einzelnen Werte der paramset-Struktur zuzugreifen. |
//# Dazu muss vorher das richtige paramset initialisert worden sein! |
//# |
//# ACHTUNG! |
//# Fuer die Daten wird direkt auf den RX-Buffer vom PKT zugegriffen! |
//# ==> der Buffer darf NICHT durch andere Datenpakete bereits wieder ueberschrieben worden sein! |
//# |
//# Anmerkung: |
//# Das obige 'Achtung' koennte man aendern durch eine Kopie des RX-Buffers. Das verbraucht |
//# zusaetzlichen RAM-Speicher -> probieren wir es erstmal so... |
//############################################################################################# |
|
//-------------------------------------------------------------- |
// size = paramSize( paramID ) |
//-------------------------------------------------------------- |
unsigned char paramSize( unsigned char paramID ) |
{ |
return( _paramset_getoffset(paramID,true) ); // true = size (in Bytes) der paramID zurueckgeben (nicht offset) |
} |
|
|
|
//-------------------------------------------------------------- |
// exist = paramExist( paramID ) |
// |
// Rueckgabe: |
// true : die paramID existiert im aktuellen paramset |
// false : die paramID existiert nicht |
//-------------------------------------------------------------- |
unsigned char paramExist( unsigned char paramID ) |
{ |
return( (_paramset_getoffset(paramID,true) != 0) ); // true = size (in Bytes) der paramID zurueckgeben (nicht offset) |
} |
|
|
|
//-------------------------------------------------------------- |
// pointer = paramGet_p( paramID ) |
// |
// ACHTUNG! Nicht faehig fuer Transform! |
// |
// RUECKGABE: |
// pointer direkt auf~ein Byte im Parameterset |
// (paramSubID nicht moeglich!) |
//-------------------------------------------------------------- |
unsigned char *paramGet_p( unsigned char paramID ) |
{ |
unsigned char offset; |
|
offset = _paramset_getoffset( paramID, false ); // false = offset zurueckgeben |
|
if( offset != param_NOTFOUND ) |
{ |
return( (unsigned char *) (mkparamset + offset) ); // Rueckgabe: Pointer auf die Daten |
} |
return 0; |
} |
|
|
|
//-------------------------------------------------------------- |
// value = paramGet( paramID ) |
// |
// holt den Wert von paramID. paramSubID's werden dabei |
// unterstuetzt (Bit- und Bytefelder). |
// |
// Bei Bit-Feldern (z.B. GlobalConfig3) wird eine enstprechende |
// Bit-Maskierung automatisch durchgefuehrt |
// Ergebnis: true (=1) oder false (=0)false (=0) |
// |
// Bei Byte-Feldern (z.B. Kanalbelegung) wird der Wert des |
// entsprechenden Byte's zurueckgegeben |
// |
// Hinweis: anhand des Rueckgabewertes kann nicht ueberprueft |
// werden ob die paramID gefunden wurde bzw. existiert! |
// -> ggf. erst mit paramExist() pruefen ob der Wert existiert! |
//-------------------------------------------------------------- |
unsigned char paramGet( unsigned char paramID ) |
{ |
unsigned char offset; |
unsigned char subType; |
unsigned char subIndex; |
unsigned char value; |
unsigned char transformIdx; |
|
offset = _paramset_getoffsetX( paramID, false, &subType, &subIndex ); // false = offset zurueckgeben |
|
if( offset == param_NOTFOUND ) return false; // paramID nicht gefunden / nicht unterstuetzt |
|
value = (unsigned char) *(mkparamset + offset); // offset Inhalt lesen (paramID) |
|
//------------------- |
// subIndex: Bit |
//------------------- |
if( subType == SUBTYPE_BIT ) |
{ |
value = ((value & subIndex) ? true : false); // Rueckgabe: true/false des gewaehlten Bit's |
} |
|
//------------------- |
// subIndex: Bit negiert |
//------------------- |
if( subType == SUBTYPE_BITN ) |
{ |
value = ((value & subIndex) ? false : true); // Rueckgabe: true/false des gewaehlten Bit's (negiert) |
} |
|
//------------------- |
// subIndex: Byte |
//------------------- |
if( subType == SUBTYPE_BYTE ) |
{ |
value = (unsigned char) *(mkparamset + (offset+subIndex)); // subIndex Inhalt lesen |
} |
|
|
//------------------- |
// Transform |
//------------------- |
transformIdx = _paramset_gettransformIndex( paramID ); |
if( transformIdx != param_EOF ) |
{ |
value = paramTransform[transformIdx].transformfunc( GETVALUE, value, value); |
} |
|
return value; // ubyte zurueckgeben |
} |
|
|
|
//-------------------------------------------------------------- |
//-------------------------------------------------------------- |
unsigned char paramSet( unsigned char paramID, unsigned char newvalue ) |
{ |
unsigned char offset; |
unsigned char subOffset = 0; |
unsigned char subType; |
unsigned char subIndex; |
unsigned char byte; |
unsigned char value; |
unsigned char transformIdx; |
|
value = newvalue; |
|
offset = _paramset_getoffsetX( paramID, false, &subType, &subIndex ); // false = offset zurueckgeben |
|
if( offset == param_NOTFOUND ) return false; // paramID nicht gefunden / nicht unterstuetzt |
|
//------------------- |
// subIndex: Bit |
//------------------- |
if( (subType == SUBTYPE_BIT) || (subType == SUBTYPE_BITN) ) |
{ |
byte = (unsigned char) *(mkparamset + offset); // offset Inhalt lesen |
|
if( subType == SUBTYPE_BITN ) // SUBTYPE_BITN = negiertes BIT |
value = (value ? false : true); // negieren |
|
if(value) byte = byte | subIndex; // Bit setzen |
else byte = byte & (subIndex ^ 0xff); // Bit loeschen |
|
value = byte; // neues Value fuer das gesamte Byte (mit eingerechnetem BIT) |
} |
|
//------------------- |
// subIndex: Byte |
//------------------- |
if( subType == SUBTYPE_BYTE ) |
{ |
subOffset = subIndex; // das 'verschobene' Byte (hier nur den Offset verschieben) |
} |
|
|
//------------------- |
// Transform |
//------------------- |
transformIdx = _paramset_gettransformIndex( paramID ); |
if( transformIdx != param_EOF ) |
{ |
byte = (unsigned char) *(mkparamset + offset + subOffset); // offset Inhalt lesen |
value = paramTransform[transformIdx].transformfunc( SETVALUE, byte, newvalue); |
} |
|
|
//------------------- |
// Byte speichern |
//------------------- |
*(mkparamset + offset + subOffset) = value; |
return true; // OK |
} |
|
|
|
|
//############################################################################################# |
//# 4c. oeffentliche Zugriffsfunktionen fuer das gesamte Paramset (Int usw.) |
//# |
//# Init und Abfrage der Groesse in Bytes ddes gesamten Paramset's |
//############################################################################################# |
|
|
//-------------------------------------------------------------- |
// ok = paramsetInit( *pData ) |
// |
// Ermittelt zu einer empfangenen Revision die passende paramset-Tabelle |
// und setzt entsprechende Werte in MKVersion |
// |
// Wird von MK_load_setting() aufgerufen nach dem Einlesen der |
// MK-Parameter (Setting-Request 'q') |
// |
// Parameter: |
// *pData : Zeiger direkt auf den RX-Buffer des PKT |
// |
// Rueckgabe: |
// true : OK - Paramset ist initialisert; die aktuelle FC-Revision |
// steht in MKVersion.paramsetRevision |
// false : Fehler - keine passende paramset-Tabelle gefunden |
//-------------------------------------------------------------- |
unsigned char paramsetInit( unsigned char *pData ) |
{ |
unsigned char i; |
unsigned char *p; |
|
paramsetRevTable = 0; |
mkparamset = 0; |
MKVersion.paramsetOK = false; |
MKVersion.paramsetRevision = 0; |
MKVersion.mksetting = 0; |
MKVersion.mksettingName[0] = 0; |
|
//-------------------------------------------------- |
// pData == 0 -> nur 'reset' der Daten |
//-------------------------------------------------- |
if( pData == 0 ) |
{ |
return 0; |
} |
|
//-------------------------------------------------- |
// diese beiden Werte koennen in jedem Fall gesetzt werden |
// unabhaengig ob das gefundene Parameterset vom PKT |
// unterstuetzt wird oder nicht |
//-------------------------------------------------- |
MKVersion.mksetting = (unsigned char) *pData; |
MKVersion.paramsetRevision = (unsigned char) *(pData + 1); |
|
|
//-------------------------------------------------- |
// FC-Revision in paramsetRevMap suchen |
//-------------------------------------------------- |
i = 0; |
while( true ) |
{ |
if( (paramsetRevMap[i].Revision == MKVersion.paramsetRevision) || (paramsetRevMap[i].Revision == MAPEOF) ) |
break; |
i++; |
} |
|
|
//-------------------------------------- |
// Revision nicht gefunden -> return 0 |
//-------------------------------------- |
if( paramsetRevMap[i].Revision == MAPEOF ) |
{ |
return 0; |
} |
|
//-------------------------------------- |
// Revision gefunden |
//-------------------------------------- |
mkparamset = (unsigned char *) (pData + 1); |
paramsetRevTable = (paramRevItem_t *) paramsetRevMap[i].RevisionTable; |
MKVersion.paramsetOK = true; |
|
|
//-------------------------------------- |
// den aktuellen Setting-Namen kopieren |
// wird u.a. vom OSD verwendet |
//-------------------------------------- |
p = paramGet_p( param_Name ); |
if( p ) memcpy( MKVersion.mksettingName, p, 12 ); |
|
return MKVersion.paramsetOK; |
} |
|
|
|
//-------------------------------------------------------------- |
// size = paramsetSize() |
// |
// Gibt die Groesse des gesamten aktuellen Parameterset's |
// zurueck. Fuer Revision 098 z.B. 130 = 130 Bytes. |
// |
// Rueckgabe: |
// =0 : Fehler; nicht unterstuetzte FC-Revision oder nicht |
// initialisiert |
//-------------------------------------------------------------- |
unsigned char paramsetSize( void ) |
{ |
if( MKVersion.paramsetOK ) |
return _paramset_getoffset( param_EOF, false ); // false = offset zurueckgeben; der offset von param_EOF entspricht der Groesse des paramSet's! |
else |
return 0; |
} |
|
|
|
|
|
//############################################################################################# |
//# x. TEST / DEBUG |
//############################################################################################# |
|
//-------------------------------------------------------------- |
// TEST / DEBUG |
//-------------------------------------------------------------- |
#ifdef DEBUG_PARAMSET |
void paramsetDEBUG( void ) |
{ |
lcd_cls(); |
|
//lcdx_printp_at( 0, 0, PSTR("NEW PARAM TEST..."), MNORMAL, 0,0); |
lcd_printp_at(12, 7, strGet(ENDE), MNORMAL); // Keyline |
|
//memcpy( &MKVersion.NCVersion, (Version_t *) (pRxData), sizeof(MKVersion_t) ); |
|
/* |
|
typedef struct |
{ |
Version_t NCVersion; // |
Version_t FCVersion; // |
unsigned char paramsetRevision; // von der FC |
unsigned char paramsetOk; // true wenn Revision in paramset.c vorhanden |
} MKVersion_t; |
|
|
//------------------------------------- |
// zur Orientierung: Version_t |
//------------------------------------- |
//typedef struct |
//{ |
// unsigned char SWMajor; |
// unsigned char SWMinor; |
// unsigned char ProtoMajor; |
// unsigned char ProtoMinor; |
// unsigned char SWPatch; |
// unsigned char HardwareError[5]; |
//} __attribute__((packed)) Version_t; |
*/ |
|
//setting = MK_Setting_load( 0xff, 20); // aktuelles MK Setting ermitteln |
MK_Setting_load( 0xff, 20); // aktuelles MK Setting ermitteln |
|
//---------------------------------- |
// Anzeige: FC/NC Version |
//---------------------------------- |
lcdx_printp_at( 0, 0, PSTR("FC:"), MNORMAL, 0,0); |
MKVersion_print_at( 3, 0, FC, MNORMAL, 0,0); |
|
lcdx_printp_at( 13, 0, PSTR("NC:"), MNORMAL, 0,0); |
MKVersion_print_at( 16, 0, NC, MNORMAL, 0,0); |
|
|
//---------------------------------- |
// Anzeige: FC Revision |
//---------------------------------- |
lcd_printf_at_P( 0, 1, MNORMAL, PSTR("Rev: %03u"), MKVersion.paramsetRevision ); |
if( MKVersion.paramsetOK ) |
lcdx_printp_at( 8, 1, PSTR(" ok!"), MINVERS, 0,0); |
else |
lcdx_printp_at( 8, 1, PSTR(" err"), MINVERS, 0,0); |
|
// Size von paramset |
lcd_printf_at_P( 13, 1, MNORMAL, PSTR("Size=%3u"), paramsetSize() ); |
|
|
//---------------------------------- |
// Anzeige: aktuelles MK Setting |
//---------------------------------- |
//lcd_printf_at_P( 0, 2, MNORMAL, PSTR("Set:%2u %s"), MKVersion.mksetting, MKVersion.mksettingName ); |
|
/* |
unsigned char *p; |
|
p = paramGet_p( param_Name ); |
if( p ) |
{ |
lcd_printf_at_P( 0, 3, MNORMAL, PSTR("%c"), *p ); |
p++; |
lcd_printf_at_P( 1, 3, MNORMAL, PSTR("%c"), *p ); |
p++; |
lcd_printf_at_P( 2, 3, MNORMAL, PSTR("%c"), *p ); |
} |
*/ |
|
//---------------------------------- |
//---------------------------------- |
|
/* |
lcd_printf_at_P( 0, 3, MNORMAL, PSTR("Size Name:%3u"), paramSize(param_Name) ); |
lcd_printf_at_P( 0, 5, MNORMAL, PSTR("%c"), paramGet_UByte( param_Name ) ); |
paramSet_UByte( param_Name, 'x' ); |
lcd_printf_at_P( 3, 5, MNORMAL, PSTR("%c"), paramGet_UByte( param_Name ) ); |
*/ |
|
/* |
uint8_t v; |
v = MKVersion_Cmp( MKVersion.FCVer, 2,0,'f' ); |
|
lcd_printf_at_P( 0, 4, MNORMAL, PSTR("v:%3u"), v ); |
*/ |
|
|
/* |
unsigned char paramID = 1; |
unsigned char paramSubType = 1; |
unsigned char paramSubIndex =1; |
|
_paramset_getsubitemid( param_GlobalConfig_DrehratenBegrenzer, ¶mID, ¶mSubType, ¶mSubIndex ); |
|
//lcd_printf_at_P( 0, 4, MNORMAL, PSTR("ID:%u T:%u I:%u"), paramID, paramSubType, paramSubIndex ); |
*/ |
|
//#define param_ExtraConfig_NoRcOffBeeping 204 // SUBTYPE_BIT - mk-data-structs.h: CFG_NO_RCOFF_BEEPING 0x10 |
//#define param_ExtraConfig_GpsAid 205 // SUBTYPE_BIT - mk-data-structs.h: CFG_GPS_AID 0x20 |
//#define param_ExtraConfig_LearnableCarefree 206 // SUBTYPE_BIT - mk-data-structs.h: CFG_LEARNABLE_CAREFREE 0x40 |
//#define param_ExtraConfig_IgnoreMagErrAtStartup 207 // SUBTYPE_BIT - mk-data-structs.h: CFG_IGNORE_MAG_ERR_AT_STARTUP 0x80 |
|
//#define param_GlobalConfig3_NoSdCardNoStart 220 // SUBTYPE_BIT - mk-data-structs.h: CFG3_NO_SDCARD_NO_START 0x01 |
//#define param_GlobalConfig3_NoGpsFixNoStart 224 // SUBTYPE_BIT - mk-data-structs.h: CFG3_NO_GPSFIX_NO_START 0x10 |
|
//paramGet( unsigned char paramID ); |
|
//lcd_printf_at_P( 0, 5, MNORMAL, PSTR("%u %u %u"), paramGet(param_ExtraConfig_NoRcOffBeeping), paramGet(param_GlobalConfig3_NoSdCardNoStart), paramGet(param_GlobalConfig3_NoGpsFixNoStart) ); |
|
//#define param_Kanalbelegung_Gas 242 // SUBTYPE_BYTE - Kanalbelegung [2] (unsigned char) |
//#define param_Kanalbelegung_Gear 243 // SUBTYPE_BYTE - Kanalbelegung [3] (unsigned char) |
//#define param_Kanalbelegung_Nick 240 // SUBTYPE_BYTE - Kanalbelegung [0] (unsigned char) |
//#define param_Kanalbelegung_Roll 241 // SUBTYPE_BYTE - Kanalbelegung [1] (unsigned char) |
|
// lcd_printf_at_P( 0, 4, MNORMAL, PSTR("%u %u %u %u"), paramGet(param_Kanalbelegung_Gas), paramGet(param_Kanalbelegung_Gear), paramGet(param_Kanalbelegung_Nick), paramGet(param_Kanalbelegung_Roll) ); |
|
// lcd_printf_at_P( 0, 5, MNORMAL, PSTR("%u"), paramGet(param_Kanalbelegung) ); |
|
|
/* |
lcd_printf_at_P( 0, 4, MNORMAL, PSTR("%u %u %u"), paramGet(param_ExtraConfig_NoRcOffBeeping), paramGet(param_GlobalConfig3_NoSdCardNoStart), paramGet(param_GlobalConfig3_NoGpsFixNoStart) ); |
|
unsigned char v; |
|
v = paramGet(param_GlobalConfig3_NoSdCardNoStart); |
v = (v ? false : true); |
paramSet(param_GlobalConfig3_NoSdCardNoStart, v); |
|
lcd_printf_at_P( 0, 5, MNORMAL, PSTR("%u %u %u"), paramGet(param_ExtraConfig_NoRcOffBeeping), paramGet(param_GlobalConfig3_NoSdCardNoStart), paramGet(param_GlobalConfig3_NoGpsFixNoStart) ); |
|
v = paramGet(param_GlobalConfig3_NoSdCardNoStart); |
v = (v ? false : true); |
paramSet(param_GlobalConfig3_NoSdCardNoStart, v); |
|
lcd_printf_at_P( 0, 6, MNORMAL, PSTR("%u %u %u"), paramGet(param_ExtraConfig_NoRcOffBeeping), paramGet(param_GlobalConfig3_NoSdCardNoStart), paramGet(param_GlobalConfig3_NoGpsFixNoStart) ); |
*/ |
|
/* |
lcd_printf_at_P( 0, 3, MNORMAL, PSTR("%u %u"), |
paramGet( param_Kanalbelegung_Gas ), |
paramGet( param_Kanalbelegung_Gear ) |
); |
|
lcd_printf_at_P( 0, 4, MNORMAL, PSTR("%u %u %u %u"), |
paramGet( param_Kanalbelegung_Poti1 ), |
paramGet( param_Kanalbelegung_Poti2 ), |
paramGet( param_Kanalbelegung_Poti3 ), |
paramGet( param_Kanalbelegung_Poti4 ) |
); |
|
lcd_printf_at_P( 0, 5, MNORMAL, PSTR("%u %u %u %u"), |
paramGet( param_Kanalbelegung_Poti5 ), |
paramGet( param_Kanalbelegung_Poti6 ), |
paramGet( param_Kanalbelegung_Poti7 ), |
paramGet( param_Kanalbelegung_Poti8 ) |
); |
*/ |
|
// lcd_printf_at_P( 0, 3, MNORMAL, PSTR("HR:%u H-Limit:%u"), |
// paramGet( param_GlobalConfig_HoehenRegelung ), |
// paramGet( param_ExtraConfig_HeightLimit ) |
// ); |
|
// lcd_printf_at_P( 0, 5, MNORMAL, PSTR("Auto-S-L:%u"), |
// paramGet( param_StartLandChannel ) |
// ); |
|
lcd_printf_at_P( 0, 4, MNORMAL, PSTR("CH Orientation:%x"), paramGet( param_ServoCompInvert)); |
|
lcd_printf_at_P( 0, 5, MNORMAL, PSTR("ACC Land pulse:%x"), paramGet( param_LandingPulse)); |
|
|
; |
|
while( true ) |
{ |
PKT_CtrlHook(); |
if (get_key_press (1 << KEY_ESC)) |
{ |
break; |
} |
} |
} |
#endif // #ifdef DEBUG_PARAMSET |
|
Property changes: |
Added: svn:mime-type |
+text/plain |
\ No newline at end of property |