Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2136 | - | 1 | /***************************************************************************** |
2 | * Copyright (C) 2008 Thomas Kaiser, thomas@ft-fanpage.de * |
||
3 | * Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
||
4 | * Copyright (C) 2011 Christian "Cebra" Brandtner, brandtner@brandtner.net * |
||
5 | * Copyright (C) 2011 Harald Bongartz * |
||
6 | * * |
||
7 | * This program is free software; you can redistribute it and/or modify * |
||
8 | * it under the terms of the GNU General Public License as published by * |
||
9 | * the Free Software Foundation; either version 2 of the License. * |
||
10 | * * |
||
11 | * This program is distributed in the hope that it will be useful, * |
||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * |
||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
||
14 | * GNU General Public License for more details. * |
||
15 | * * |
||
16 | * You should have received a copy of the GNU General Public License * |
||
17 | * along with this program; if not, write to the * |
||
18 | * Free Software Foundation, Inc., * |
||
19 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
||
20 | * * |
||
21 | * * |
||
22 | * Credits to: * |
||
23 | * Holger Buss & Ingo Busker from mikrokopter.de for the MK project + SVN * |
||
24 | * http://www.mikrokopter.de * |
||
25 | * Gregor "killagreg" Stobrawa for his version of the MK code * |
||
26 | * Thomas Kaiser "thkais" for the original project. See * |
||
27 | * http://www.ft-fanpage.de/mikrokopter/ * |
||
28 | * http://forum.mikrokopter.de/topic-4061-1.html * |
||
29 | * Claas Anders "CaScAdE" Rathje for providing the font and his C-OSD code * |
||
30 | * http://www.mylifesucks.de/oss/c-osd/ * |
||
31 | * Harald Bongartz "HaraldB" for providing his Ideas and Code for usibility* |
||
32 | *****************************************************************************/ |
||
33 | |||
34 | //############################################################################ |
||
35 | //# HISTORY paramset.c |
||
36 | //# |
||
37 | //# 16.07.2015 Cebra (PKT385a) |
||
38 | //# - add: unsigned char SingleWpControlChannel; (FC2.11a) |
||
39 | //# unsigned char MenuKeyChannel; (FC2.11a) |
||
40 | //# - add: paramset_106 (FC2.11a) |
||
41 | //# |
||
42 | //# 09.04.2015 Cebra (PKT384a) |
||
43 | //# - add: unsigned char ServoFS_Pos[5] (FC 2.09i) |
||
44 | //# - add: paramset_105 (FC2.09j) |
||
45 | //# |
||
46 | //# 19.03.2015 Cebra (PKT383a) |
||
47 | //# - add: param_LandingPulse (FC 2.09d) |
||
48 | //# |
||
49 | //# 26.01.2015 Cebra |
||
50 | //# - add: Function transform_ComingHomeOrientation |
||
51 | //# Ändert die Bits 4+5 für ServoCompInvert |
||
52 | //# in Konfigurationstabelle der paramSubID: param_ComingHomeOrientation neu |
||
53 | //# |
||
54 | //# 26.09.2014 Cebra |
||
55 | //# - add: Parameterset Rev. 103 (FC 2.07f) |
||
56 | //# - chg: param_Hoehe_GPS_Z zu param_Hoehe_Verstaerkung im Paramset 103 |
||
57 | //# |
||
58 | //# 14.05.2014 OG |
||
59 | //# - chg: include "mkbase.h" geaendert auf "../mk/mkbase.h" |
||
60 | //# |
||
61 | //# 10.05.2014 OG |
||
62 | //# - add: transform_CompassOffset_DisableDeclCalc() - transformiert true/false |
||
63 | //# in das Byte von param_CompassOffset |
||
64 | //# |
||
65 | //# 09.05.2014 OG |
||
66 | //# - chg: paramSet() - angepasst auf Transform-Funktionen |
||
67 | //# - chg: paramGet() - angepasst auf Transform-Funktionen |
||
68 | //# - add: eine neue Transformations-Zwischenschicht implementiert - abgebildet |
||
69 | //# ueber die neue Tabelle paramTransform. |
||
70 | //# Hier koennen Transform-Funktionen hinterlegt werden die einen |
||
71 | //# ubyte8 Wert veraendern. |
||
72 | //# Die Transformation wird von paramSet()/paramGet() aufgerufen. |
||
73 | //# |
||
74 | //# 17.04.2014 OG |
||
75 | //# - FIX: _paramset_getsubitemid(): Pruefung von_Revision/bis_Revision |
||
76 | //# korrigiert - fuehrte vorher ggf. zu falschen Anzeigen von SubItems! |
||
77 | //# - chg: param_BitConfig_MotorOffLed1 auf bis_Revision 101 begrenzt |
||
78 | //# - chg: param_BitConfig_MotorOffLed2 auf bis_Revision 101 begrenzt |
||
79 | //# |
||
80 | //# 09.04.2014 OG |
||
81 | //# - chg: Rev. 101 auf param_DUMMY umgestellt um Platz zu sparen |
||
82 | //# |
||
83 | //# 08.04.2014 OG |
||
84 | //# - add: Parameterset Rev. 102 (FC 2.05g) |
||
85 | //# - fix: _paramset_getsubitemid() - Vergleich bzgl. von/bis_Revision umgedreht |
||
86 | //# und equal zugefuegt |
||
87 | //# |
||
88 | //# 06.04.2014 OG |
||
89 | //# - add: Parameterset Rev. 101 (FC 2.05f) |
||
90 | //# -> param_Servo3OnValue, param_Servo3OffValue |
||
91 | //# -> param_Servo4OnValue, param_Servo4OffValue |
||
92 | //# |
||
93 | //# 28.03.2014 OG |
||
94 | //# - add: Parameterset Rev. 100 (FC 2.05e) |
||
95 | //# (param_AutoPhotoDistance, param_AutoPhotoAtitudes, param_SingleWpSpeed) |
||
96 | //# |
||
97 | //# 26.03.2014 OG |
||
98 | //# - add: param_CompassOffset_DisableDeclCalc (Sub-Item) |
||
99 | //# |
||
100 | //# 24.03.2014 OG |
||
101 | //# - chg: _paramset_getsubitemid() erweitert Unterstuetzung von/bis FC-Revisionen |
||
102 | //# - add: paramSubItem_t mit Unterstuetzung fuer von/bis FC-Revisionen |
||
103 | //# |
||
104 | //# 27.02.2014 OG |
||
105 | //# - chg: die Revisions-Tabellen 90 bis 94 mittels param_DUMMY gekuerzt |
||
106 | //# -> keine Parameter-Bearbeitung bei denen moeglich |
||
107 | //# - add: vollstaendige Unterstuetzung von paramSubID's via paramGet(), paramSet() |
||
108 | //# |
||
109 | //# 26.02.2014 OG |
||
110 | //# - add: paramSubItem[] - Zugriffstabelle auf Bit- und Bytefelder innerhalb |
||
111 | //# einer paramID |
||
112 | //# - chg: bei den paramset_nnn[] Tabellen 'const' ergaenzt |
||
113 | //# - chg: paramsetTest() umbenannt zu paramsetDEBUG() |
||
114 | //# |
||
115 | //# 19.02.2014 OG |
||
116 | //# - fix: paramsetInit() Parameter pData wurde nicht konsequent verwendet |
||
117 | //# |
||
118 | //# 14.02.2014 OG |
||
119 | //# - add: diverse Zugriffsfunktionen fuer paramID's und paramSet's |
||
120 | //# - add: Rev-Tabellen von FC v0.88e bis FC v2.03d |
||
121 | //# |
||
122 | //# 05.02.2014 OG - NEU |
||
123 | //############################################################################ |
||
124 | |||
125 | |||
126 | //############################################################################ |
||
127 | //# INHALT |
||
128 | //# |
||
129 | //# 1a. Konfigurationtabellen fuer verschiedene FC-Revisionen |
||
130 | //# 1b. Zuweisungstabelle: Revision -> paramset_xxx |
||
131 | //# 2. Konfigurationstabelle der paramSubID's (Bit- und Bytefelder) |
||
132 | //# 3a. interne Zugriffsfunktionen |
||
133 | //# 3b. oeffentliche Zugriffsfunktionen fuer paramID / paramSubID Elemente |
||
134 | //# 3c. oeffentliche Zugriffsfunktionen fuer das gesamte Paramset (Int usw.) |
||
135 | //# x. TEST / DEBUG |
||
136 | //############################################################################ |
||
137 | |||
138 | |||
139 | #include "../cpu.h" |
||
140 | #include <avr/io.h> |
||
141 | #include <inttypes.h> |
||
142 | #include <stdlib.h> |
||
143 | #include <avr/pgmspace.h> |
||
144 | #include <avr/wdt.h> |
||
145 | #include <util/delay.h> |
||
146 | #include <avr/eeprom.h> |
||
147 | #include <util/delay.h> |
||
148 | #include <string.h> |
||
149 | #include <util/atomic.h> |
||
150 | |||
151 | #include "../main.h" |
||
152 | #include "../lipo/lipo.h" |
||
153 | #include "../lcd/lcd.h" |
||
154 | #include "../uart/usart.h" |
||
155 | |||
156 | #include "../uart/uart1.h" |
||
157 | #include "../mk-data-structs.h" |
||
158 | #include "../timer/timer.h" |
||
159 | #include "../eeprom/eeprom.h" |
||
160 | #include "../messages.h" |
||
161 | #include "../utils/scrollbox.h" |
||
162 | #include "../pkt/pkt.h" |
||
163 | #include "../mk/mkbase.h" |
||
164 | #include "paramset.h" |
||
165 | |||
166 | |||
167 | |||
168 | //--------------------------- |
||
169 | // fuer transform_... |
||
170 | //--------------------------- |
||
171 | #define GETVALUE 1 // Wert setzen |
||
172 | #define SETVALUE 2 // Wert lesen |
||
173 | |||
174 | |||
175 | |||
176 | paramRevItem_t *paramsetRevTable; // Zeiger auf aktive Revision-Table oder 0 wenn nicht gesetzt -> wird gesetzt druch paramsetInit() / paramset.c |
||
177 | unsigned char *mkparamset; // nur temp. gueltig solange der PKT-RX-Buffer (pRxData) noch nicht wieder ueberschrieben -> wird gesetzt druch paramsetInit() / paramset.c |
||
178 | |||
179 | |||
180 | |||
181 | //############################################################################################# |
||
182 | //# 1a. Konfigurationtabellen fuer verschiedene FC-Revisionen |
||
183 | //############################################################################################# |
||
184 | |||
185 | |||
186 | //--------------------------------------------------------------------------------------- |
||
187 | // die nachfolgenden Tabellen entsprechen der Struktur von paramRevItem_t aus paramset.h |
||
188 | //--------------------------------------------------------------------------------------- |
||
189 | |||
190 | |||
191 | //----------------------------------------------- |
||
192 | // FC-Parameter Revision: 90 |
||
193 | // |
||
194 | // ab FC-Version: ab ??? bis ??? |
||
195 | // gefunden in : 0.88e |
||
196 | // |
||
197 | // Tabelle ist definiert in der |
||
198 | // nachfolgenden paramset_091 |
||
199 | // |
||
200 | // STRUKTUR-DIFF zu 0: |
||
201 | // |
||
202 | // DEFINE-DIFF zu 0: |
||
203 | //----------------------------------------------- |
||
204 | |||
205 | |||
206 | |||
207 | //----------------------------------------------- |
||
208 | // FC-Parameter Revision: 91 |
||
209 | // |
||
210 | // ab FC-Version: ab ??? bis ??? |
||
211 | // gefunden in : 0.88m, 0.88n |
||
212 | // |
||
213 | // STRUKTUR-DIFF zu 090: |
||
214 | // - keine Aenderung der internen Datenstruktur erkennbar! |
||
215 | // |
||
216 | // DEFINE-DIFF zu 090: |
||
217 | // - add: #define PID_SPEAK_HOTT_CFG |
||
218 | // - add: #define CFG3_MOTOR_SWITCH_MODE |
||
219 | // - add: #define CFG3_NO_GPSFIX_NO_START |
||
220 | //----------------------------------------------- |
||
221 | // |
||
222 | // |
||
223 | // + paramID (paramRevItem_t -> paramID) |
||
224 | // | |
||
225 | // | + size in Bytes (paramRevItem_t -> size) |
||
226 | // | | |
||
227 | // | | |
||
228 | // | | |
||
229 | paramRevItem_t const paramset_091[] PROGMEM = |
||
230 | { |
||
231 | { param_DUMMY , 111 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
||
232 | { param_Name , 12 }, // char Name[12]; |
||
233 | { param_DUMMY , 1 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
||
234 | |||
235 | { param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
||
236 | |||
237 | }; // end: paramset_091[] |
||
238 | |||
239 | |||
240 | |||
241 | //############################################################################################################################################################ |
||
242 | |||
243 | |||
244 | |||
245 | //----------------------------------------------- |
||
246 | // FC-Parameter Revision: 92 |
||
247 | // |
||
248 | // ab FC-Version: ab ??? bis ??? |
||
249 | // gefunden in : 0.90d |
||
250 | // |
||
251 | // Tabelle ist definiert in der |
||
252 | // nachfolgenden paramset_093 |
||
253 | // |
||
254 | // STRUKTUR-DIFF zu 091: |
||
255 | // -add: param_NaviOut1Parameter |
||
256 | //# |
||
257 | // DEFINE-DIFF zu 091: |
||
258 | // -add: #define CFG3_USE_NC_FOR_OUT1 0x20 |
||
259 | // -add: #define CFG3_SPEAK_ALL |
||
260 | // -add: #define SERVO_NICK_INV 0x01 |
||
261 | // -add: #define SERVO_ROLL_INV 0x02 |
||
262 | // -add: #define SERVO_RELATIVE 0x04 |
||
263 | //----------------------------------------------- |
||
264 | |||
265 | |||
266 | |||
267 | //----------------------------------------------- |
||
268 | // FC-Parameter Revision: 93 |
||
269 | // |
||
270 | // ab FC-Version: ab ??? bis ??? |
||
271 | // gefunden in : 0.90e, 0.90g, 0.90j |
||
272 | // |
||
273 | // STRUKTUR-DIFF zu 092: |
||
274 | // - keine Aenderung der internen Datenstruktur erkennbar! |
||
275 | // |
||
276 | // DEFINE-DIFF zu 092: |
||
277 | // - keine Aenderung erkennbar! |
||
278 | //----------------------------------------------- |
||
279 | paramRevItem_t const paramset_093[] PROGMEM = |
||
280 | { |
||
281 | { param_DUMMY , 112 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
||
282 | { param_Name , 12 }, // char Name[12]; |
||
283 | { param_DUMMY , 1 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
||
284 | |||
285 | { param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
||
286 | |||
287 | }; // end: paramset_093[] |
||
288 | |||
289 | |||
290 | |||
291 | //----------------------------------------------- |
||
292 | // FC-Parameter Revision: 94 |
||
293 | // |
||
294 | // ab FC-Version: ab ??? bis ??? |
||
295 | // gefunden in : 0.91a |
||
296 | // |
||
297 | // STRUKTUR-DIFF zu 093: |
||
298 | // - add: param_StartLandChannel |
||
299 | // - add: param_LandingSpeed |
||
300 | // |
||
301 | // DEFINE-DIFF zu 093: |
||
302 | // etwas undurchsichtig... |
||
303 | // - add: #define EE_DUMMY |
||
304 | // - add: #define PID_HARDWARE_VERSION |
||
305 | //----------------------------------------------- |
||
306 | paramRevItem_t const paramset_094[] PROGMEM = |
||
307 | { |
||
308 | { param_DUMMY , 114 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
||
309 | { param_Name , 12 }, // char Name[12]; |
||
310 | { param_DUMMY , 1 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
||
311 | |||
312 | { param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
||
313 | |||
314 | }; // end: paramset_094[] |
||
315 | |||
316 | |||
317 | |||
318 | |||
319 | |||
320 | //----------------------------------------------- |
||
321 | // FC-Parameter Revision: 95 |
||
322 | // |
||
323 | // ab FC-Version: ab ??? bis ??? |
||
324 | // gefunden in : 0.90L, 2.00a, , 2.00e |
||
325 | // |
||
326 | // STRUKTUR-DIFF zu 094: |
||
327 | // - rename: param_MaxHoehe -> param_HoeheChannel |
||
328 | // - rename: param_NaviGpsModeControl -> param_NaviGpsModeChannel |
||
329 | // - rename: param_NaviGpsACC -> param_NaviGpsA |
||
330 | // - rename: param_CareFreeModeControl -> param_CareFreeChannel |
||
331 | // |
||
332 | // DEFINE-DIFF zu 094: |
||
333 | // - keine Aenderung |
||
334 | //----------------------------------------------- |
||
335 | paramRevItem_t const paramset_095[] PROGMEM = |
||
336 | { |
||
337 | { param_Revision , 1 }, // unsigned char Revision; |
||
338 | { param_Kanalbelegung , 12 }, // unsigned char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
||
339 | { param_GlobalConfig , 1 }, // unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
||
340 | { param_Hoehe_MinGas , 1 }, // unsigned char Hoehe_MinGas; // Wert : 0-100 |
||
341 | { param_Luftdruck_D , 1 }, // unsigned char Luftdruck_D; // Wert : 0-250 |
||
342 | { param_HoeheChannel , 1 }, // unsigned char HoeheChannel; // Wert : 0-32 |
||
343 | { param_Hoehe_P , 1 }, // unsigned char Hoehe_P; // Wert : 0-32 |
||
344 | { param_Hoehe_Verstaerkung , 1 }, // unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
||
345 | { param_Hoehe_ACC_Wirkung , 1 }, // unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
||
346 | { param_Hoehe_HoverBand , 1 }, // unsigned char Hoehe_HoverBand; // Wert : 0-250 |
||
347 | { param_Hoehe_GPS_Z , 1 }, // unsigned char Hoehe_GPS_Z; // Wert : 0-250 |
||
348 | { param_Hoehe_StickNeutralPoint , 1 }, // unsigned char Hoehe_StickNeutralPoint;// Wert : 0-250 |
||
349 | { param_Stick_P , 1 }, // unsigned char Stick_P; // Wert : 1-6 |
||
350 | { param_Stick_D , 1 }, // unsigned char Stick_D; // Wert : 0-64 |
||
351 | { param_StickGier_P , 1 }, // unsigned char StickGier_P; // Wert : 1-20 |
||
352 | { param_Gas_Min , 1 }, // unsigned char Gas_Min; // Wert : 0-32 |
||
353 | { param_Gas_Max , 1 }, // unsigned char Gas_Max; // Wert : 33-250 |
||
354 | { param_GyroAccFaktor , 1 }, // unsigned char GyroAccFaktor; // Wert : 1-64 |
||
355 | { param_KompassWirkung , 1 }, // unsigned char KompassWirkung; // Wert : 0-32 |
||
356 | { param_Gyro_P , 1 }, // unsigned char Gyro_P; // Wert : 10-250 |
||
357 | { param_Gyro_I , 1 }, // unsigned char Gyro_I; // Wert : 0-250 |
||
358 | { param_Gyro_D , 1 }, // unsigned char Gyro_D; // Wert : 0-250 |
||
359 | { param_Gyro_Gier_P , 1 }, // unsigned char Gyro_Gier_P; // Wert : 10-250 |
||
360 | { param_Gyro_Gier_I , 1 }, // unsigned char Gyro_Gier_I; // Wert : 0-250 |
||
361 | { param_Gyro_Stability , 1 }, // unsigned char Gyro_Stability; // Wert : 0-16 |
||
362 | { param_UnterspannungsWarnung , 1 }, // unsigned char UnterspannungsWarnung; // Wert : 0-250 |
||
363 | { param_NotGas , 1 }, // unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
||
364 | { param_NotGasZeit , 1 }, // unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
||
365 | { param_Receiver , 1 }, // unsigned char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
||
366 | { param_I_Faktor , 1 }, // unsigned char I_Faktor; // Wert : 0-250 |
||
367 | { param_UserParam1 , 1 }, // unsigned char UserParam1; // Wert : 0-250 |
||
368 | { param_UserParam2 , 1 }, // unsigned char UserParam2; // Wert : 0-250 |
||
369 | { param_UserParam3 , 1 }, // unsigned char UserParam3; // Wert : 0-250 |
||
370 | { param_UserParam4 , 1 }, // unsigned char UserParam4; // Wert : 0-250 |
||
371 | { param_ServoNickControl , 1 }, // unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
||
372 | { param_ServoNickComp , 1 }, // unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
||
373 | { param_ServoNickMin , 1 }, // unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
||
374 | { param_ServoNickMax , 1 }, // unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
||
375 | { param_ServoRollControl , 1 }, // unsigned char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
||
376 | { param_ServoRollComp , 1 }, // unsigned char ServoRollComp; // Wert : 0-250 |
||
377 | { param_ServoRollMin , 1 }, // unsigned char ServoRollMin; // Wert : 0-250 |
||
378 | { param_ServoRollMax , 1 }, // unsigned char ServoRollMax; // Wert : 0-250 |
||
379 | { param_ServoNickRefresh , 1 }, // unsigned char ServoNickRefresh; // Speed of the Servo |
||
380 | { param_ServoManualControlSpeed , 1 }, // unsigned char ServoManualControlSpeed;// |
||
381 | { param_CamOrientation , 1 }, // unsigned char CamOrientation; // |
||
382 | { param_Servo3 , 1 }, // unsigned char Servo3; // Value or mapping of the Servo Output |
||
383 | { param_Servo4 , 1 }, // unsigned char Servo4; // Value or mapping of the Servo Output |
||
384 | { param_Servo5 , 1 }, // unsigned char Servo5; // Value or mapping of the Servo Output |
||
385 | { param_LoopGasLimit , 1 }, // unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
||
386 | { param_LoopThreshold , 1 }, // unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
||
387 | { param_LoopHysterese , 1 }, // unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
||
388 | { param_AchsKopplung1 , 1 }, // unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
||
389 | { param_AchsKopplung2 , 1 }, // unsigned char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
390 | { param_CouplingYawCorrection , 1 }, // unsigned char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
391 | { param_WinkelUmschlagNick , 1 }, // unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
||
392 | { param_WinkelUmschlagRoll , 1 }, // unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
||
393 | { param_GyroAccAbgleich , 1 }, // unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
||
394 | { param_Driftkomp , 1 }, // unsigned char Driftkomp; |
||
395 | { param_DynamicStability , 1 }, // unsigned char DynamicStability; |
||
396 | { param_UserParam5 , 1 }, // unsigned char UserParam5; // Wert : 0-250 |
||
397 | { param_UserParam6 , 1 }, // unsigned char UserParam6; // Wert : 0-250 |
||
398 | { param_UserParam7 , 1 }, // unsigned char UserParam7; // Wert : 0-250 |
||
399 | { param_UserParam8 , 1 }, // unsigned char UserParam8; // Wert : 0-250 |
||
400 | { param_J16Bitmask , 1 }, // unsigned char J16Bitmask; // for the J16 Output |
||
401 | { param_J16Timing , 1 }, // unsigned char J16Timing; // for the J16 Output |
||
402 | { param_J17Bitmask , 1 }, // unsigned char J17Bitmask; // for the J17 Output |
||
403 | { param_J17Timing , 1 }, // unsigned char J17Timing; // for the J17 Output |
||
404 | { param_WARN_J16_Bitmask , 1 }, // unsigned char WARN_J16_Bitmask; // for the J16 Output |
||
405 | { param_WARN_J17_Bitmask , 1 }, // unsigned char WARN_J17_Bitmask; // for the J17 Output |
||
406 | { param_NaviOut1Parameter , 1 }, // unsigned char NaviOut1Parameter; // for the J16 Output |
||
407 | { param_NaviGpsModeChannel , 1 }, // unsigned char NaviGpsModeChannel; // Parameters for the Naviboard |
||
408 | { param_NaviGpsGain , 1 }, // unsigned char NaviGpsGain; |
||
409 | { param_NaviGpsP , 1 }, // unsigned char NaviGpsP; |
||
410 | { param_NaviGpsI , 1 }, // unsigned char NaviGpsI; |
||
411 | { param_NaviGpsD , 1 }, // unsigned char NaviGpsD; |
||
412 | { param_NaviGpsPLimit , 1 }, // unsigned char NaviGpsPLimit; |
||
413 | { param_NaviGpsILimit , 1 }, // unsigned char NaviGpsILimit; |
||
414 | { param_NaviGpsDLimit , 1 }, // unsigned char NaviGpsDLimit; |
||
415 | { param_NaviGpsA , 1 }, // unsigned char NaviGpsA; |
||
416 | { param_NaviGpsMinSat , 1 }, // unsigned char NaviGpsMinSat; |
||
417 | { param_NaviStickThreshold , 1 }, // unsigned char NaviStickThreshold; |
||
418 | { param_NaviWindCorrection , 1 }, // unsigned char NaviWindCorrection; |
||
419 | { param_NaviAccCompensation , 1 }, // unsigned char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
||
420 | { param_NaviOperatingRadius , 1 }, // unsigned char NaviOperatingRadius; |
||
421 | { param_NaviAngleLimitation , 1 }, // unsigned char NaviAngleLimitation; |
||
422 | { param_NaviPH_LoginTime , 1 }, // unsigned char NaviPH_LoginTime; |
||
423 | { param_ExternalControl , 1 }, // unsigned char ExternalControl; // for serial Control |
||
424 | { param_OrientationAngle , 1 }, // unsigned char OrientationAngle; // Where is the front-direction? |
||
425 | { param_CareFreeChannel , 1 }, // unsigned char CareFreeChannel; // switch for CareFree |
||
426 | { param_MotorSafetySwitch , 1 }, // unsigned char MotorSafetySwitch; |
||
427 | { param_MotorSmooth , 1 }, // unsigned char MotorSmooth; |
||
428 | { param_ComingHomeAltitude , 1 }, // unsigned char ComingHomeAltitude; |
||
429 | { param_FailSafeTime , 1 }, // unsigned char FailSafeTime; |
||
430 | { param_MaxAltitude , 1 }, // unsigned char MaxAltitude; |
||
431 | { param_FailsafeChannel , 1 }, // unsigned char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
||
432 | { param_ServoFilterNick , 1 }, // unsigned char ServoFilterNick; |
||
433 | { param_ServoFilterRoll , 1 }, // unsigned char ServoFilterRoll; |
||
434 | { param_StartLandChannel , 1 }, // unsigned char StartLandChannel; |
||
435 | { param_LandingSpeed , 1 }, // unsigned char LandingSpeed; |
||
436 | { param_BitConfig , 1 }, // unsigned char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
||
437 | { param_ServoCompInvert , 1 }, // unsigned char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
||
438 | { param_ExtraConfig , 1 }, // unsigned char ExtraConfig; // bitcodiert |
||
439 | { param_GlobalConfig3 , 1 }, // unsigned char GlobalConfig3; // bitcodiert |
||
440 | { param_Name , 12 }, // char Name[12]; |
||
441 | { param_crc , 1 }, // unsigned char crc; // must be the last byte! |
||
442 | |||
443 | { param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
||
444 | |||
445 | }; // end: paramset_095[] |
||
446 | |||
447 | |||
448 | |||
449 | |||
450 | //----------------------------------------------- |
||
451 | // FC-Parameter Revision: 96 |
||
452 | // |
||
453 | // ab FC-Version: ab ??? bis ??? |
||
454 | // gefunden in: ??? |
||
455 | // |
||
456 | // STRUKTUR-DIFF zu 095: |
||
457 | // - KEINE AENDERUNG der INTERNEN DATEN-STRUKTUR! |
||
458 | // |
||
459 | // DEFINE-DIFF zu 095: |
||
460 | // GlobalConfig3 |
||
461 | // - add: #define CFG3_SERVO_NICK_COMP_OFF 0x80 |
||
462 | //----------------------------------------------- |
||
463 | |||
464 | |||
465 | |||
466 | //----------------------------------------------- |
||
467 | // FC-Parameter Revision: 97 |
||
468 | // |
||
469 | // ab FC-Version: ab ??? bis ??? |
||
470 | // gefunden in: 2.02b |
||
471 | // |
||
472 | // STRUKTUR-DIFF zu 096: |
||
473 | // - add: param_CompassOffset |
||
474 | // - add: param_AutoLandingVoltage |
||
475 | // |
||
476 | // DEFINE-DIFF zu 096: |
||
477 | // - keine Aenderung |
||
478 | //----------------------------------------------- |
||
479 | paramRevItem_t const paramset_097[] PROGMEM = |
||
480 | { |
||
481 | { param_Revision , 1 }, // unsigned char Revision; |
||
482 | { param_Kanalbelegung , 12 }, // unsigned char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
||
483 | { param_GlobalConfig , 1 }, // unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
||
484 | { param_Hoehe_MinGas , 1 }, // unsigned char Hoehe_MinGas; // Wert : 0-100 |
||
485 | { param_Luftdruck_D , 1 }, // unsigned char Luftdruck_D; // Wert : 0-250 |
||
486 | { param_HoeheChannel , 1 }, // unsigned char HoeheChannel; // Wert : 0-32 |
||
487 | { param_Hoehe_P , 1 }, // unsigned char Hoehe_P; // Wert : 0-32 |
||
488 | { param_Hoehe_Verstaerkung , 1 }, // unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
||
489 | { param_Hoehe_ACC_Wirkung , 1 }, // unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
||
490 | { param_Hoehe_HoverBand , 1 }, // unsigned char Hoehe_HoverBand; // Wert : 0-250 |
||
491 | { param_Hoehe_GPS_Z , 1 }, // unsigned char Hoehe_GPS_Z; // Wert : 0-250 |
||
492 | { param_Hoehe_StickNeutralPoint , 1 }, // unsigned char Hoehe_StickNeutralPoint;// Wert : 0-250 |
||
493 | { param_Stick_P , 1 }, // unsigned char Stick_P; // Wert : 1-6 |
||
494 | { param_Stick_D , 1 }, // unsigned char Stick_D; // Wert : 0-64 |
||
495 | { param_StickGier_P , 1 }, // unsigned char StickGier_P; // Wert : 1-20 |
||
496 | { param_Gas_Min , 1 }, // unsigned char Gas_Min; // Wert : 0-32 |
||
497 | { param_Gas_Max , 1 }, // unsigned char Gas_Max; // Wert : 33-250 |
||
498 | { param_GyroAccFaktor , 1 }, // unsigned char GyroAccFaktor; // Wert : 1-64 |
||
499 | { param_KompassWirkung , 1 }, // unsigned char KompassWirkung; // Wert : 0-32 |
||
500 | { param_Gyro_P , 1 }, // unsigned char Gyro_P; // Wert : 10-250 |
||
501 | { param_Gyro_I , 1 }, // unsigned char Gyro_I; // Wert : 0-250 |
||
502 | { param_Gyro_D , 1 }, // unsigned char Gyro_D; // Wert : 0-250 |
||
503 | { param_Gyro_Gier_P , 1 }, // unsigned char Gyro_Gier_P; // Wert : 10-250 |
||
504 | { param_Gyro_Gier_I , 1 }, // unsigned char Gyro_Gier_I; // Wert : 0-250 |
||
505 | { param_Gyro_Stability , 1 }, // unsigned char Gyro_Stability; // Wert : 0-16 |
||
506 | { param_UnterspannungsWarnung , 1 }, // unsigned char UnterspannungsWarnung; // Wert : 0-250 |
||
507 | { param_NotGas , 1 }, // unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
||
508 | { param_NotGasZeit , 1 }, // unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
||
509 | { param_Receiver , 1 }, // unsigned char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
||
510 | { param_I_Faktor , 1 }, // unsigned char I_Faktor; // Wert : 0-250 |
||
511 | { param_UserParam1 , 1 }, // unsigned char UserParam1; // Wert : 0-250 |
||
512 | { param_UserParam2 , 1 }, // unsigned char UserParam2; // Wert : 0-250 |
||
513 | { param_UserParam3 , 1 }, // unsigned char UserParam3; // Wert : 0-250 |
||
514 | { param_UserParam4 , 1 }, // unsigned char UserParam4; // Wert : 0-250 |
||
515 | { param_ServoNickControl , 1 }, // unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
||
516 | { param_ServoNickComp , 1 }, // unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
||
517 | { param_ServoNickMin , 1 }, // unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
||
518 | { param_ServoNickMax , 1 }, // unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
||
519 | { param_ServoRollControl , 1 }, // unsigned char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
||
520 | { param_ServoRollComp , 1 }, // unsigned char ServoRollComp; // Wert : 0-250 |
||
521 | { param_ServoRollMin , 1 }, // unsigned char ServoRollMin; // Wert : 0-250 |
||
522 | { param_ServoRollMax , 1 }, // unsigned char ServoRollMax; // Wert : 0-250 |
||
523 | { param_ServoNickRefresh , 1 }, // unsigned char ServoNickRefresh; // Speed of the Servo |
||
524 | { param_ServoManualControlSpeed , 1 }, // unsigned char ServoManualControlSpeed;// |
||
525 | { param_CamOrientation , 1 }, // unsigned char CamOrientation; // |
||
526 | { param_Servo3 , 1 }, // unsigned char Servo3; // Value or mapping of the Servo Output |
||
527 | { param_Servo4 , 1 }, // unsigned char Servo4; // Value or mapping of the Servo Output |
||
528 | { param_Servo5 , 1 }, // unsigned char Servo5; // Value or mapping of the Servo Output |
||
529 | { param_LoopGasLimit , 1 }, // unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
||
530 | { param_LoopThreshold , 1 }, // unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
||
531 | { param_LoopHysterese , 1 }, // unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
||
532 | { param_AchsKopplung1 , 1 }, // unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
||
533 | { param_AchsKopplung2 , 1 }, // unsigned char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
534 | { param_CouplingYawCorrection , 1 }, // unsigned char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
535 | { param_WinkelUmschlagNick , 1 }, // unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
||
536 | { param_WinkelUmschlagRoll , 1 }, // unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
||
537 | { param_GyroAccAbgleich , 1 }, // unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
||
538 | { param_Driftkomp , 1 }, // unsigned char Driftkomp; |
||
539 | { param_DynamicStability , 1 }, // unsigned char DynamicStability; |
||
540 | { param_UserParam5 , 1 }, // unsigned char UserParam5; // Wert : 0-250 |
||
541 | { param_UserParam6 , 1 }, // unsigned char UserParam6; // Wert : 0-250 |
||
542 | { param_UserParam7 , 1 }, // unsigned char UserParam7; // Wert : 0-250 |
||
543 | { param_UserParam8 , 1 }, // unsigned char UserParam8; // Wert : 0-250 |
||
544 | { param_J16Bitmask , 1 }, // unsigned char J16Bitmask; // for the J16 Output |
||
545 | { param_J16Timing , 1 }, // unsigned char J16Timing; // for the J16 Output |
||
546 | { param_J17Bitmask , 1 }, // unsigned char J17Bitmask; // for the J17 Output |
||
547 | { param_J17Timing , 1 }, // unsigned char J17Timing; // for the J17 Output |
||
548 | { param_WARN_J16_Bitmask , 1 }, // unsigned char WARN_J16_Bitmask; // for the J16 Output |
||
549 | { param_WARN_J17_Bitmask , 1 }, // unsigned char WARN_J17_Bitmask; // for the J17 Output |
||
550 | { param_NaviOut1Parameter , 1 }, // unsigned char NaviOut1Parameter; // for the J16 Output |
||
551 | { param_NaviGpsModeChannel , 1 }, // unsigned char NaviGpsModeChannel; // Parameters for the Naviboard |
||
552 | { param_NaviGpsGain , 1 }, // unsigned char NaviGpsGain; |
||
553 | { param_NaviGpsP , 1 }, // unsigned char NaviGpsP; |
||
554 | { param_NaviGpsI , 1 }, // unsigned char NaviGpsI; |
||
555 | { param_NaviGpsD , 1 }, // unsigned char NaviGpsD; |
||
556 | { param_NaviGpsPLimit , 1 }, // unsigned char NaviGpsPLimit; |
||
557 | { param_NaviGpsILimit , 1 }, // unsigned char NaviGpsILimit; |
||
558 | { param_NaviGpsDLimit , 1 }, // unsigned char NaviGpsDLimit; |
||
559 | { param_NaviGpsA , 1 }, // unsigned char NaviGpsA; |
||
560 | { param_NaviGpsMinSat , 1 }, // unsigned char NaviGpsMinSat; |
||
561 | { param_NaviStickThreshold , 1 }, // unsigned char NaviStickThreshold; |
||
562 | { param_NaviWindCorrection , 1 }, // unsigned char NaviWindCorrection; |
||
563 | { param_NaviAccCompensation , 1 }, // unsigned char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
||
564 | { param_NaviOperatingRadius , 1 }, // unsigned char NaviOperatingRadius; |
||
565 | { param_NaviAngleLimitation , 1 }, // unsigned char NaviAngleLimitation; |
||
566 | { param_NaviPH_LoginTime , 1 }, // unsigned char NaviPH_LoginTime; |
||
567 | { param_ExternalControl , 1 }, // unsigned char ExternalControl; // for serial Control |
||
568 | { param_OrientationAngle , 1 }, // unsigned char OrientationAngle; // Where is the front-direction? |
||
569 | { param_CareFreeChannel , 1 }, // unsigned char CareFreeChannel; // switch for CareFree |
||
570 | { param_MotorSafetySwitch , 1 }, // unsigned char MotorSafetySwitch; |
||
571 | { param_MotorSmooth , 1 }, // unsigned char MotorSmooth; |
||
572 | { param_ComingHomeAltitude , 1 }, // unsigned char ComingHomeAltitude; |
||
573 | { param_FailSafeTime , 1 }, // unsigned char FailSafeTime; |
||
574 | { param_MaxAltitude , 1 }, // unsigned char MaxAltitude; |
||
575 | { param_FailsafeChannel , 1 }, // unsigned char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
||
576 | { param_ServoFilterNick , 1 }, // unsigned char ServoFilterNick; |
||
577 | { param_ServoFilterRoll , 1 }, // unsigned char ServoFilterRoll; |
||
578 | { param_StartLandChannel , 1 }, // unsigned char StartLandChannel; |
||
579 | { param_LandingSpeed , 1 }, // unsigned char LandingSpeed; |
||
580 | { param_CompassOffset , 1 }, // unsigned char CompassOffset; |
||
581 | { param_AutoLandingVoltage , 1 }, // unsigned char AutoLandingVoltage; // in 0,1V 0 -> disabled |
||
582 | { param_BitConfig , 1 }, // unsigned char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
||
583 | { param_ServoCompInvert , 1 }, // unsigned char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
||
584 | { param_ExtraConfig , 1 }, // unsigned char ExtraConfig; // bitcodiert |
||
585 | { param_GlobalConfig3 , 1 }, // unsigned char GlobalConfig3; // bitcodiert |
||
586 | { param_Name , 12 }, // char Name[12]; |
||
587 | { param_crc , 1 }, // unsigned char crc; // must be the last byte! |
||
588 | |||
589 | { param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
||
590 | |||
591 | }; // end: paramset_097[] |
||
592 | |||
593 | |||
594 | |||
595 | |||
596 | //----------------------------------------------- |
||
597 | // FC-Parameter Revision: 98 |
||
598 | // |
||
599 | // ab FC-Version: ab ??? bis ??? |
||
600 | // gefunden in: 2.03d |
||
601 | // |
||
602 | // STRUKTUR-DIFF zu 097: |
||
603 | // - add: param_ComingHomeVoltage |
||
604 | // |
||
605 | // DEFINE-DIFF zu 097: |
||
606 | // - keine Aenderung |
||
607 | //----------------------------------------------- |
||
608 | paramRevItem_t const paramset_098[] PROGMEM = |
||
609 | { |
||
610 | { param_Revision , 1 }, // unsigned char Revision; |
||
611 | { param_Kanalbelegung , 12 }, // unsigned char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
||
612 | { param_GlobalConfig , 1 }, // unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
||
613 | { param_Hoehe_MinGas , 1 }, // unsigned char Hoehe_MinGas; // Wert : 0-100 |
||
614 | { param_Luftdruck_D , 1 }, // unsigned char Luftdruck_D; // Wert : 0-250 |
||
615 | { param_HoeheChannel , 1 }, // unsigned char HoeheChannel; // Wert : 0-32 |
||
616 | { param_Hoehe_P , 1 }, // unsigned char Hoehe_P; // Wert : 0-32 |
||
617 | { param_Hoehe_Verstaerkung , 1 }, // unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
||
618 | { param_Hoehe_ACC_Wirkung , 1 }, // unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
||
619 | { param_Hoehe_HoverBand , 1 }, // unsigned char Hoehe_HoverBand; // Wert : 0-250 |
||
620 | { param_Hoehe_GPS_Z , 1 }, // unsigned char Hoehe_GPS_Z; // Wert : 0-250 |
||
621 | { param_Hoehe_StickNeutralPoint , 1 }, // unsigned char Hoehe_StickNeutralPoint;// Wert : 0-250 |
||
622 | { param_Stick_P , 1 }, // unsigned char Stick_P; // Wert : 1-6 |
||
623 | { param_Stick_D , 1 }, // unsigned char Stick_D; // Wert : 0-64 |
||
624 | { param_StickGier_P , 1 }, // unsigned char StickGier_P; // Wert : 1-20 |
||
625 | { param_Gas_Min , 1 }, // unsigned char Gas_Min; // Wert : 0-32 |
||
626 | { param_Gas_Max , 1 }, // unsigned char Gas_Max; // Wert : 33-250 |
||
627 | { param_GyroAccFaktor , 1 }, // unsigned char GyroAccFaktor; // Wert : 1-64 |
||
628 | { param_KompassWirkung , 1 }, // unsigned char KompassWirkung; // Wert : 0-32 |
||
629 | { param_Gyro_P , 1 }, // unsigned char Gyro_P; // Wert : 10-250 |
||
630 | { param_Gyro_I , 1 }, // unsigned char Gyro_I; // Wert : 0-250 |
||
631 | { param_Gyro_D , 1 }, // unsigned char Gyro_D; // Wert : 0-250 |
||
632 | { param_Gyro_Gier_P , 1 }, // unsigned char Gyro_Gier_P; // Wert : 10-250 |
||
633 | { param_Gyro_Gier_I , 1 }, // unsigned char Gyro_Gier_I; // Wert : 0-250 |
||
634 | { param_Gyro_Stability , 1 }, // unsigned char Gyro_Stability; // Wert : 0-16 |
||
635 | { param_UnterspannungsWarnung , 1 }, // unsigned char UnterspannungsWarnung; // Wert : 0-250 |
||
636 | { param_NotGas , 1 }, // unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
||
637 | { param_NotGasZeit , 1 }, // unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
||
638 | { param_Receiver , 1 }, // unsigned char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
||
639 | { param_I_Faktor , 1 }, // unsigned char I_Faktor; // Wert : 0-250 |
||
640 | { param_UserParam1 , 1 }, // unsigned char UserParam1; // Wert : 0-250 |
||
641 | { param_UserParam2 , 1 }, // unsigned char UserParam2; // Wert : 0-250 |
||
642 | { param_UserParam3 , 1 }, // unsigned char UserParam3; // Wert : 0-250 |
||
643 | { param_UserParam4 , 1 }, // unsigned char UserParam4; // Wert : 0-250 |
||
644 | { param_ServoNickControl , 1 }, // unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
||
645 | { param_ServoNickComp , 1 }, // unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
||
646 | { param_ServoNickMin , 1 }, // unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
||
647 | { param_ServoNickMax , 1 }, // unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
||
648 | { param_ServoRollControl , 1 }, // unsigned char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
||
649 | { param_ServoRollComp , 1 }, // unsigned char ServoRollComp; // Wert : 0-250 |
||
650 | { param_ServoRollMin , 1 }, // unsigned char ServoRollMin; // Wert : 0-250 |
||
651 | { param_ServoRollMax , 1 }, // unsigned char ServoRollMax; // Wert : 0-250 |
||
652 | { param_ServoNickRefresh , 1 }, // unsigned char ServoNickRefresh; // Speed of the Servo |
||
653 | { param_ServoManualControlSpeed , 1 }, // unsigned char ServoManualControlSpeed;// |
||
654 | { param_CamOrientation , 1 }, // unsigned char CamOrientation; // |
||
655 | { param_Servo3 , 1 }, // unsigned char Servo3; // Value or mapping of the Servo Output |
||
656 | { param_Servo4 , 1 }, // unsigned char Servo4; // Value or mapping of the Servo Output |
||
657 | { param_Servo5 , 1 }, // unsigned char Servo5; // Value or mapping of the Servo Output |
||
658 | { param_LoopGasLimit , 1 }, // unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
||
659 | { param_LoopThreshold , 1 }, // unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
||
660 | { param_LoopHysterese , 1 }, // unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
||
661 | { param_AchsKopplung1 , 1 }, // unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
||
662 | { param_AchsKopplung2 , 1 }, // unsigned char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
663 | { param_CouplingYawCorrection , 1 }, // unsigned char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
664 | { param_WinkelUmschlagNick , 1 }, // unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
||
665 | { param_WinkelUmschlagRoll , 1 }, // unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
||
666 | { param_GyroAccAbgleich , 1 }, // unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
||
667 | { param_Driftkomp , 1 }, // unsigned char Driftkomp; |
||
668 | { param_DynamicStability , 1 }, // unsigned char DynamicStability; |
||
669 | { param_UserParam5 , 1 }, // unsigned char UserParam5; // Wert : 0-250 |
||
670 | { param_UserParam6 , 1 }, // unsigned char UserParam6; // Wert : 0-250 |
||
671 | { param_UserParam7 , 1 }, // unsigned char UserParam7; // Wert : 0-250 |
||
672 | { param_UserParam8 , 1 }, // unsigned char UserParam8; // Wert : 0-250 |
||
673 | { param_J16Bitmask , 1 }, // unsigned char J16Bitmask; // for the J16 Output |
||
674 | { param_J16Timing , 1 }, // unsigned char J16Timing; // for the J16 Output |
||
675 | { param_J17Bitmask , 1 }, // unsigned char J17Bitmask; // for the J17 Output |
||
676 | { param_J17Timing , 1 }, // unsigned char J17Timing; // for the J17 Output |
||
677 | { param_WARN_J16_Bitmask , 1 }, // unsigned char WARN_J16_Bitmask; // for the J16 Output |
||
678 | { param_WARN_J17_Bitmask , 1 }, // unsigned char WARN_J17_Bitmask; // for the J17 Output |
||
679 | { param_NaviOut1Parameter , 1 }, // unsigned char NaviOut1Parameter; // for the J16 Output |
||
680 | { param_NaviGpsModeChannel , 1 }, // unsigned char NaviGpsModeChannel; // Parameters for the Naviboard |
||
681 | { param_NaviGpsGain , 1 }, // unsigned char NaviGpsGain; |
||
682 | { param_NaviGpsP , 1 }, // unsigned char NaviGpsP; |
||
683 | { param_NaviGpsI , 1 }, // unsigned char NaviGpsI; |
||
684 | { param_NaviGpsD , 1 }, // unsigned char NaviGpsD; |
||
685 | { param_NaviGpsPLimit , 1 }, // unsigned char NaviGpsPLimit; |
||
686 | { param_NaviGpsILimit , 1 }, // unsigned char NaviGpsILimit; |
||
687 | { param_NaviGpsDLimit , 1 }, // unsigned char NaviGpsDLimit; |
||
688 | { param_NaviGpsA , 1 }, // unsigned char NaviGpsA; |
||
689 | { param_NaviGpsMinSat , 1 }, // unsigned char NaviGpsMinSat; |
||
690 | { param_NaviStickThreshold , 1 }, // unsigned char NaviStickThreshold; |
||
691 | { param_NaviWindCorrection , 1 }, // unsigned char NaviWindCorrection; |
||
692 | { param_NaviAccCompensation , 1 }, // unsigned char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
||
693 | { param_NaviOperatingRadius , 1 }, // unsigned char NaviOperatingRadius; |
||
694 | { param_NaviAngleLimitation , 1 }, // unsigned char NaviAngleLimitation; |
||
695 | { param_NaviPH_LoginTime , 1 }, // unsigned char NaviPH_LoginTime; |
||
696 | { param_ExternalControl , 1 }, // unsigned char ExternalControl; // for serial Control |
||
697 | { param_OrientationAngle , 1 }, // unsigned char OrientationAngle; // Where is the front-direction? |
||
698 | { param_CareFreeChannel , 1 }, // unsigned char CareFreeChannel; // switch for CareFree |
||
699 | { param_MotorSafetySwitch , 1 }, // unsigned char MotorSafetySwitch; |
||
700 | { param_MotorSmooth , 1 }, // unsigned char MotorSmooth; |
||
701 | { param_ComingHomeAltitude , 1 }, // unsigned char ComingHomeAltitude; |
||
702 | { param_FailSafeTime , 1 }, // unsigned char FailSafeTime; |
||
703 | { param_MaxAltitude , 1 }, // unsigned char MaxAltitude; |
||
704 | { param_FailsafeChannel , 1 }, // unsigned char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
||
705 | { param_ServoFilterNick , 1 }, // unsigned char ServoFilterNick; |
||
706 | { param_ServoFilterRoll , 1 }, // unsigned char ServoFilterRoll; |
||
707 | { param_StartLandChannel , 1 }, // unsigned char StartLandChannel; |
||
708 | { param_LandingSpeed , 1 }, // unsigned char LandingSpeed; |
||
709 | { param_CompassOffset , 1 }, // unsigned char CompassOffset; |
||
710 | { param_AutoLandingVoltage , 1 }, // unsigned char AutoLandingVoltage; // in 0,1V 0 -> disabled |
||
711 | { param_ComingHomeVoltage , 1 }, // unsigned char ComingHomeVoltage; // in 0,1V 0 -> disabled |
||
712 | { param_BitConfig , 1 }, // unsigned char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
||
713 | { param_ServoCompInvert , 1 }, // unsigned char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
||
714 | { param_ExtraConfig , 1 }, // unsigned char ExtraConfig; // bitcodiert |
||
715 | { param_GlobalConfig3 , 1 }, // unsigned char GlobalConfig3; // bitcodiert |
||
716 | { param_Name , 12 }, // char Name[12]; |
||
717 | { param_crc , 1 }, // unsigned char crc; // must be the last byte! |
||
718 | |||
719 | { param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
||
720 | |||
721 | }; // end: paramset_098[] |
||
722 | |||
723 | |||
724 | |||
725 | //----------------------------------------------- |
||
726 | // FC-Parameter Revision: 99 |
||
727 | // keine Inormationen zu Rev. 99 vorhanden. |
||
728 | // |
||
729 | // Kommentar dazu von Holger Buss: |
||
730 | // "Die Revision 0.99 kannst Du ignorieren." |
||
731 | //----------------------------------------------- |
||
732 | |||
733 | |||
734 | |||
735 | //----------------------------------------------- |
||
736 | // FC-Parameter Revision: 100 |
||
737 | // |
||
738 | // ab FC-Version: ab ??? bis 2.05e |
||
739 | // gefunden in: 2.05e |
||
740 | // |
||
741 | // STRUKTUR-DIFF zu 098: |
||
742 | // - del: NaviOut1Parameter |
||
743 | // - add: AutoPhotoDistance (ersetzt NaviOut1Parameter) |
||
744 | // - add: AutoPhotoAtitudes |
||
745 | // - add: SingleWpSpeed |
||
746 | // |
||
747 | // DEFINE-DIFF zu 098: |
||
748 | // - keine Aenderung |
||
749 | // |
||
750 | // ANMERKUNG OG 06.04.2014: |
||
751 | // Die Tabelle kann ggf. demnaechst geloescht werden |
||
752 | // da sie nur fuer eine kurze Zeit in Betaversionen |
||
753 | // vorhanden war! |
||
754 | //----------------------------------------------- |
||
755 | paramRevItem_t const paramset_100[] PROGMEM = |
||
756 | { |
||
757 | { param_Revision , 1 }, // unsigned char Revision; |
||
758 | { param_Kanalbelegung , 12 }, // unsigned char char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
||
759 | { param_GlobalConfig , 1 }, // unsigned char char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
||
760 | { param_Hoehe_MinGas , 1 }, // unsigned char char Hoehe_MinGas; // Wert : 0-100 |
||
761 | { param_Luftdruck_D , 1 }, // unsigned char char Luftdruck_D; // Wert : 0-250 |
||
762 | { param_HoeheChannel , 1 }, // unsigned char char HoeheChannel; // Wert : 0-32 |
||
763 | { param_Hoehe_P , 1 }, // unsigned char char Hoehe_P; // Wert : 0-32 |
||
764 | { param_Hoehe_Verstaerkung , 1 }, // unsigned char char Hoehe_Verstaerkung; // Wert : 0-50 |
||
765 | { param_Hoehe_ACC_Wirkung , 1 }, // unsigned char char Hoehe_ACC_Wirkung; // Wert : 0-250 |
||
766 | { param_Hoehe_HoverBand , 1 }, // unsigned char char Hoehe_HoverBand; // Wert : 0-250 |
||
767 | { param_Hoehe_GPS_Z , 1 }, // unsigned char char Hoehe_GPS_Z; // Wert : 0-250 |
||
768 | { param_Hoehe_StickNeutralPoint , 1 }, // unsigned char char Hoehe_StickNeutralPoint; // Wert : 0-250 |
||
769 | { param_Stick_P , 1 }, // unsigned char char Stick_P; // Wert : 1-6 |
||
770 | { param_Stick_D , 1 }, // unsigned char char Stick_D; // Wert : 0-64 |
||
771 | { param_StickGier_P , 1 }, // unsigned char char StickGier_P; // Wert : 1-20 |
||
772 | { param_Gas_Min , 1 }, // unsigned char char Gas_Min; // Wert : 0-32 |
||
773 | { param_Gas_Max , 1 }, // unsigned char char Gas_Max; // Wert : 33-250 |
||
774 | { param_GyroAccFaktor , 1 }, // unsigned char char GyroAccFaktor; // Wert : 1-64 |
||
775 | { param_KompassWirkung , 1 }, // unsigned char char KompassWirkung; // Wert : 0-32 |
||
776 | { param_Gyro_P , 1 }, // unsigned char char Gyro_P; // Wert : 10-250 |
||
777 | { param_Gyro_I , 1 }, // unsigned char char Gyro_I; // Wert : 0-250 |
||
778 | { param_Gyro_D , 1 }, // unsigned char char Gyro_D; // Wert : 0-250 |
||
779 | { param_Gyro_Gier_P , 1 }, // unsigned char char Gyro_Gier_P; // Wert : 10-250 |
||
780 | { param_Gyro_Gier_I , 1 }, // unsigned char char Gyro_Gier_I; // Wert : 0-250 |
||
781 | { param_Gyro_Stability , 1 }, // unsigned char char Gyro_Stability; // Wert : 0-16 |
||
782 | { param_UnterspannungsWarnung , 1 }, // unsigned char char UnterspannungsWarnung; // Wert : 0-250 |
||
783 | { param_NotGas , 1 }, // unsigned char char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
||
784 | { param_NotGasZeit , 1 }, // unsigned char char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
||
785 | { param_Receiver , 1 }, // unsigned char char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
||
786 | { param_I_Faktor , 1 }, // unsigned char char I_Faktor; // Wert : 0-250 |
||
787 | { param_UserParam1 , 1 }, // unsigned char char UserParam1; // Wert : 0-250 |
||
788 | { param_UserParam2 , 1 }, // unsigned char char UserParam2; // Wert : 0-250 |
||
789 | { param_UserParam3 , 1 }, // unsigned char char UserParam3; // Wert : 0-250 |
||
790 | { param_UserParam4 , 1 }, // unsigned char char UserParam4; // Wert : 0-250 |
||
791 | { param_ServoNickControl , 1 }, // unsigned char char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
||
792 | { param_ServoNickComp , 1 }, // unsigned char char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
||
793 | { param_ServoNickMin , 1 }, // unsigned char char ServoNickMin; // Wert : 0-250 // Anschlag |
||
794 | { param_ServoNickMax , 1 }, // unsigned char char ServoNickMax; // Wert : 0-250 // Anschlag |
||
795 | { param_ServoRollControl , 1 }, // unsigned char char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
||
796 | { param_ServoRollComp , 1 }, // unsigned char char ServoRollComp; // Wert : 0-250 |
||
797 | { param_ServoRollMin , 1 }, // unsigned char char ServoRollMin; // Wert : 0-250 |
||
798 | { param_ServoRollMax , 1 }, // unsigned char char ServoRollMax; // Wert : 0-250 |
||
799 | { param_ServoNickRefresh , 1 }, // unsigned char char ServoNickRefresh; // Speed of the Servo |
||
800 | { param_ServoManualControlSpeed , 1 }, // unsigned char char ServoManualControlSpeed; // |
||
801 | { param_CamOrientation , 1 }, // unsigned char char CamOrientation; // |
||
802 | { param_Servo3 , 1 }, // unsigned char char Servo3; // Value or mapping of the Servo Output |
||
803 | { param_Servo4 , 1 }, // unsigned char char Servo4; // Value or mapping of the Servo Output |
||
804 | { param_Servo5 , 1 }, // unsigned char char Servo5; // Value or mapping of the Servo Output |
||
805 | { param_LoopGasLimit , 1 }, // unsigned char char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
||
806 | { param_LoopThreshold , 1 }, // unsigned char char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
||
807 | { param_LoopHysterese , 1 }, // unsigned char char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
||
808 | { param_AchsKopplung1 , 1 }, // unsigned char char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
||
809 | { param_AchsKopplung2 , 1 }, // unsigned char char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
810 | { param_CouplingYawCorrection , 1 }, // unsigned char char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
811 | { param_WinkelUmschlagNick , 1 }, // unsigned char char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
||
812 | { param_WinkelUmschlagRoll , 1 }, // unsigned char char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
||
813 | { param_GyroAccAbgleich , 1 }, // unsigned char char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
||
814 | { param_Driftkomp , 1 }, // unsigned char char Driftkomp; |
||
815 | { param_DynamicStability , 1 }, // unsigned char char DynamicStability; |
||
816 | { param_UserParam5 , 1 }, // unsigned char char UserParam5; // Wert : 0-250 |
||
817 | { param_UserParam6 , 1 }, // unsigned char char UserParam6; // Wert : 0-250 |
||
818 | { param_UserParam7 , 1 }, // unsigned char char UserParam7; // Wert : 0-250 |
||
819 | { param_UserParam8 , 1 }, // unsigned char char UserParam8; // Wert : 0-250 |
||
820 | { param_J16Bitmask , 1 }, // unsigned char char J16Bitmask; // for the J16 Output |
||
821 | { param_J16Timing , 1 }, // unsigned char char J16Timing; // for the J16 Output |
||
822 | { param_J17Bitmask , 1 }, // unsigned char char J17Bitmask; // for the J17 Output |
||
823 | { param_J17Timing , 1 }, // unsigned char char J17Timing; // for the J17 Output |
||
824 | { param_WARN_J16_Bitmask , 1 }, // unsigned char char WARN_J16_Bitmask; // for the J16 Output |
||
825 | { param_WARN_J17_Bitmask , 1 }, // unsigned char char WARN_J17_Bitmask; // for the J17 Output |
||
826 | { param_AutoPhotoDistance , 1 }, // unsigned char char AutoPhotoDistance; // Auto Photo // ab Rev. 100 (ehemals NaviOut1Parameter) |
||
827 | { param_NaviGpsModeChannel , 1 }, // unsigned char char NaviGpsModeChannel; // Parameters for the Naviboard |
||
828 | { param_NaviGpsGain , 1 }, // unsigned char char NaviGpsGain; |
||
829 | { param_NaviGpsP , 1 }, // unsigned char char NaviGpsP; |
||
830 | { param_NaviGpsI , 1 }, // unsigned char char NaviGpsI; |
||
831 | { param_NaviGpsD , 1 }, // unsigned char char NaviGpsD; |
||
832 | { param_NaviGpsPLimit , 1 }, // unsigned char char NaviGpsPLimit; |
||
833 | { param_NaviGpsILimit , 1 }, // unsigned char char NaviGpsILimit; |
||
834 | { param_NaviGpsDLimit , 1 }, // unsigned char char NaviGpsDLimit; |
||
835 | { param_NaviGpsA , 1 }, // unsigned char char NaviGpsA; |
||
836 | { param_NaviGpsMinSat , 1 }, // unsigned char char NaviGpsMinSat; |
||
837 | { param_NaviStickThreshold , 1 }, // unsigned char char NaviStickThreshold; |
||
838 | { param_NaviWindCorrection , 1 }, // unsigned char char NaviWindCorrection; |
||
839 | { param_NaviAccCompensation , 1 }, // unsigned char char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
||
840 | { param_NaviOperatingRadius , 1 }, // unsigned char char NaviOperatingRadius; |
||
841 | { param_NaviAngleLimitation , 1 }, // unsigned char char NaviAngleLimitation; |
||
842 | { param_NaviPH_LoginTime , 1 }, // unsigned char char NaviPH_LoginTime; |
||
843 | { param_ExternalControl , 1 }, // unsigned char char ExternalControl; // for serial Control |
||
844 | { param_OrientationAngle , 1 }, // unsigned char char OrientationAngle; // Where is the front-direction? |
||
845 | { param_CareFreeChannel , 1 }, // unsigned char char CareFreeChannel; // switch for CareFree |
||
846 | { param_MotorSafetySwitch , 1 }, // unsigned char char MotorSafetySwitch; |
||
847 | { param_MotorSmooth , 1 }, // unsigned char char MotorSmooth; |
||
848 | { param_ComingHomeAltitude , 1 }, // unsigned char char ComingHomeAltitude; |
||
849 | { param_FailSafeTime , 1 }, // unsigned char char FailSafeTime; |
||
850 | { param_MaxAltitude , 1 }, // unsigned char char MaxAltitude; |
||
851 | { param_FailsafeChannel , 1 }, // unsigned char char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
||
852 | { param_ServoFilterNick , 1 }, // unsigned char char ServoFilterNick; |
||
853 | { param_ServoFilterRoll , 1 }, // unsigned char char ServoFilterRoll; |
||
854 | { param_StartLandChannel , 1 }, // unsigned char char StartLandChannel; |
||
855 | { param_LandingSpeed , 1 }, // unsigned char char LandingSpeed; |
||
856 | { param_CompassOffset , 1 }, // unsigned char char CompassOffset; |
||
857 | { param_AutoLandingVoltage , 1 }, // unsigned char char AutoLandingVoltage; // in 0,1V 0 -> disabled |
||
858 | { param_ComingHomeVoltage , 1 }, // unsigned char char ComingHomeVoltage; // in 0,1V 0 -> disabled |
||
859 | { param_AutoPhotoAtitudes , 1 }, // unsigned char char AutoPhotoAtitudes; // ab Rev. 100 |
||
860 | { param_SingleWpSpeed , 1 }, // unsigned char char SingleWpSpeed; // ab Rev. 100 |
||
861 | { param_BitConfig , 1 }, // unsigned char char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
||
862 | { param_ServoCompInvert , 1 }, // unsigned char char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
||
863 | { param_ExtraConfig , 1 }, // unsigned char char ExtraConfig; // bitcodiert |
||
864 | { param_GlobalConfig3 , 1 }, // unsigned char char GlobalConfig3; // bitcodiert |
||
865 | { param_Name , 12 }, // char Name[12]; |
||
866 | { param_crc , 1 }, // unsigned char char crc; // must be the last byte! |
||
867 | |||
868 | { param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
||
869 | |||
870 | }; // end: paramset_100[] |
||
871 | |||
872 | |||
873 | |||
874 | |||
875 | //----------------------------------------------- |
||
876 | // FC-Parameter Revision: 101 |
||
877 | // |
||
878 | // ab FC-Version: ab 2.05f bis 2.05f |
||
879 | // gefunden in: 2.05f |
||
880 | // |
||
881 | // STRUKTUR-DIFF zu 100: |
||
882 | // - add: Servo3OnValue |
||
883 | // - add: Servo3OffValue |
||
884 | // - add: Servo4OnValue |
||
885 | // - add: Servo4OffValue |
||
886 | // |
||
887 | // DEFINE-DIFF zu 100: |
||
888 | // - keine Aenderung |
||
889 | // |
||
890 | // ANMERKUNG OG 06.04.2014: |
||
891 | // Die Tabelle kann ggf. demnaechst geloescht werden |
||
892 | // da sie nur fuer eine einzige Betaversion |
||
893 | // vorhanden war! |
||
894 | //----------------------------------------------- |
||
895 | paramRevItem_t const paramset_101[] PROGMEM = |
||
896 | { |
||
897 | { param_DUMMY , 123 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
||
898 | { param_Name , 12 }, // char Name[12]; |
||
899 | { param_DUMMY , 1 }, // n-Bytes Fueller... keine Unterstuetzung fuer paramEdit |
||
900 | |||
901 | { param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
||
902 | |||
903 | }; // end: paramset_101[] |
||
904 | |||
905 | |||
906 | |||
907 | |||
908 | |||
909 | //----------------------------------------------- |
||
910 | // FC-Parameter Revision: 102 |
||
911 | // |
||
912 | // ab FC-Version: ab 2.05g bis ??? (min. 2.06b) |
||
913 | // gefunden in: 2.05g, 2.06a |
||
914 | // |
||
915 | // STRUKTUR-DIFF zu 101: |
||
916 | // - add: NaviMaxFlyingRange (ersetzt NaviOperatingRadius) |
||
917 | // - add: NaviDescendRange |
||
918 | // - del: NaviOperatingRadius |
||
919 | // |
||
920 | // DEFINE-DIFF zu 101: |
||
921 | // - del: CFG3_DPH_MAX_RADIUS |
||
922 | //----------------------------------------------- |
||
923 | paramRevItem_t const paramset_102[] PROGMEM = |
||
924 | { |
||
925 | { param_Revision , 1 }, // unsigned char Revision; |
||
926 | { param_Kanalbelegung , 12 }, // unsigned char char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
||
927 | { param_GlobalConfig , 1 }, // unsigned char char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
||
928 | { param_Hoehe_MinGas , 1 }, // unsigned char char Hoehe_MinGas; // Wert : 0-100 |
||
929 | { param_Luftdruck_D , 1 }, // unsigned char char Luftdruck_D; // Wert : 0-250 |
||
930 | { param_HoeheChannel , 1 }, // unsigned char char HoeheChannel; // Wert : 0-32 |
||
931 | { param_Hoehe_P , 1 }, // unsigned char char Hoehe_P; // Wert : 0-32 |
||
932 | { param_Hoehe_Verstaerkung , 1 }, // unsigned char char Hoehe_Verstaerkung; // Wert : 0-50 |
||
933 | { param_Hoehe_ACC_Wirkung , 1 }, // unsigned char char Hoehe_ACC_Wirkung; // Wert : 0-250 |
||
934 | { param_Hoehe_HoverBand , 1 }, // unsigned char char Hoehe_HoverBand; // Wert : 0-250 |
||
935 | { param_Hoehe_GPS_Z , 1 }, // unsigned char char Hoehe_GPS_Z; // Wert : 0-250 |
||
936 | { param_Hoehe_StickNeutralPoint , 1 }, // unsigned char char Hoehe_StickNeutralPoint; // Wert : 0-250 |
||
937 | { param_Stick_P , 1 }, // unsigned char char Stick_P; // Wert : 1-6 |
||
938 | { param_Stick_D , 1 }, // unsigned char char Stick_D; // Wert : 0-64 |
||
939 | { param_StickGier_P , 1 }, // unsigned char char StickGier_P; // Wert : 1-20 |
||
940 | { param_Gas_Min , 1 }, // unsigned char char Gas_Min; // Wert : 0-32 |
||
941 | { param_Gas_Max , 1 }, // unsigned char char Gas_Max; // Wert : 33-250 |
||
942 | { param_GyroAccFaktor , 1 }, // unsigned char char GyroAccFaktor; // Wert : 1-64 |
||
943 | { param_KompassWirkung , 1 }, // unsigned char char KompassWirkung; // Wert : 0-32 |
||
944 | { param_Gyro_P , 1 }, // unsigned char char Gyro_P; // Wert : 10-250 |
||
945 | { param_Gyro_I , 1 }, // unsigned char char Gyro_I; // Wert : 0-250 |
||
946 | { param_Gyro_D , 1 }, // unsigned char char Gyro_D; // Wert : 0-250 |
||
947 | { param_Gyro_Gier_P , 1 }, // unsigned char char Gyro_Gier_P; // Wert : 10-250 |
||
948 | { param_Gyro_Gier_I , 1 }, // unsigned char char Gyro_Gier_I; // Wert : 0-250 |
||
949 | { param_Gyro_Stability , 1 }, // unsigned char char Gyro_Stability; // Wert : 0-16 |
||
950 | { param_UnterspannungsWarnung , 1 }, // unsigned char char UnterspannungsWarnung; // Wert : 0-250 |
||
951 | { param_NotGas , 1 }, // unsigned char char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
||
952 | { param_NotGasZeit , 1 }, // unsigned char char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
||
953 | { param_Receiver , 1 }, // unsigned char char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
||
954 | { param_I_Faktor , 1 }, // unsigned char char I_Faktor; // Wert : 0-250 |
||
955 | { param_UserParam1 , 1 }, // unsigned char char UserParam1; // Wert : 0-250 |
||
956 | { param_UserParam2 , 1 }, // unsigned char char UserParam2; // Wert : 0-250 |
||
957 | { param_UserParam3 , 1 }, // unsigned char char UserParam3; // Wert : 0-250 |
||
958 | { param_UserParam4 , 1 }, // unsigned char char UserParam4; // Wert : 0-250 |
||
959 | { param_ServoNickControl , 1 }, // unsigned char char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
||
960 | { param_ServoNickComp , 1 }, // unsigned char char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
||
961 | { param_ServoNickMin , 1 }, // unsigned char char ServoNickMin; // Wert : 0-250 // Anschlag |
||
962 | { param_ServoNickMax , 1 }, // unsigned char char ServoNickMax; // Wert : 0-250 // Anschlag |
||
963 | { param_ServoRollControl , 1 }, // unsigned char char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
||
964 | { param_ServoRollComp , 1 }, // unsigned char char ServoRollComp; // Wert : 0-250 |
||
965 | { param_ServoRollMin , 1 }, // unsigned char char ServoRollMin; // Wert : 0-250 |
||
966 | { param_ServoRollMax , 1 }, // unsigned char char ServoRollMax; // Wert : 0-250 |
||
967 | { param_ServoNickRefresh , 1 }, // unsigned char char ServoNickRefresh; // Speed of the Servo |
||
968 | { param_ServoManualControlSpeed , 1 }, // unsigned char char ServoManualControlSpeed; // |
||
969 | { param_CamOrientation , 1 }, // unsigned char char CamOrientation; // |
||
970 | { param_Servo3 , 1 }, // unsigned char char Servo3; // Value or mapping of the Servo Output |
||
971 | { param_Servo4 , 1 }, // unsigned char char Servo4; // Value or mapping of the Servo Output |
||
972 | { param_Servo5 , 1 }, // unsigned char char Servo5; // Value or mapping of the Servo Output |
||
973 | { param_LoopGasLimit , 1 }, // unsigned char char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
||
974 | { param_LoopThreshold , 1 }, // unsigned char char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
||
975 | { param_LoopHysterese , 1 }, // unsigned char char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
||
976 | { param_AchsKopplung1 , 1 }, // unsigned char char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
||
977 | { param_AchsKopplung2 , 1 }, // unsigned char char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
978 | { param_CouplingYawCorrection , 1 }, // unsigned char char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
979 | { param_WinkelUmschlagNick , 1 }, // unsigned char char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
||
980 | { param_WinkelUmschlagRoll , 1 }, // unsigned char char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
||
981 | { param_GyroAccAbgleich , 1 }, // unsigned char char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
||
982 | { param_Driftkomp , 1 }, // unsigned char char Driftkomp; |
||
983 | { param_DynamicStability , 1 }, // unsigned char char DynamicStability; |
||
984 | { param_UserParam5 , 1 }, // unsigned char char UserParam5; // Wert : 0-250 |
||
985 | { param_UserParam6 , 1 }, // unsigned char char UserParam6; // Wert : 0-250 |
||
986 | { param_UserParam7 , 1 }, // unsigned char char UserParam7; // Wert : 0-250 |
||
987 | { param_UserParam8 , 1 }, // unsigned char char UserParam8; // Wert : 0-250 |
||
988 | { param_J16Bitmask , 1 }, // unsigned char char J16Bitmask; // for the J16 Output |
||
989 | { param_J16Timing , 1 }, // unsigned char char J16Timing; // for the J16 Output |
||
990 | { param_J17Bitmask , 1 }, // unsigned char char J17Bitmask; // for the J17 Output |
||
991 | { param_J17Timing , 1 }, // unsigned char char J17Timing; // for the J17 Output |
||
992 | { param_WARN_J16_Bitmask , 1 }, // unsigned char char WARN_J16_Bitmask; // for the J16 Output |
||
993 | { param_WARN_J17_Bitmask , 1 }, // unsigned char char WARN_J17_Bitmask; // for the J17 Output |
||
994 | { param_AutoPhotoDistance , 1 }, // unsigned char char AutoPhotoDistance; // Auto Photo // ab Rev. 100 (ehemals NaviOut1Parameter) |
||
995 | { param_NaviGpsModeChannel , 1 }, // unsigned char char NaviGpsModeChannel; // Parameters for the Naviboard |
||
996 | { param_NaviGpsGain , 1 }, // unsigned char char NaviGpsGain; |
||
997 | { param_NaviGpsP , 1 }, // unsigned char char NaviGpsP; |
||
998 | { param_NaviGpsI , 1 }, // unsigned char char NaviGpsI; |
||
999 | { param_NaviGpsD , 1 }, // unsigned char char NaviGpsD; |
||
1000 | { param_NaviGpsPLimit , 1 }, // unsigned char char NaviGpsPLimit; |
||
1001 | { param_NaviGpsILimit , 1 }, // unsigned char char NaviGpsILimit; |
||
1002 | { param_NaviGpsDLimit , 1 }, // unsigned char char NaviGpsDLimit; |
||
1003 | { param_NaviGpsA , 1 }, // unsigned char char NaviGpsA; |
||
1004 | { param_NaviGpsMinSat , 1 }, // unsigned char char NaviGpsMinSat; |
||
1005 | { param_NaviStickThreshold , 1 }, // unsigned char char NaviStickThreshold; |
||
1006 | { param_NaviWindCorrection , 1 }, // unsigned char char NaviWindCorrection; |
||
1007 | { param_NaviAccCompensation , 1 }, // unsigned char char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
||
1008 | { param_NaviMaxFlyingRange , 1 }, // unsigned char char NaviMaxFlyingRange; // in 10m |
||
1009 | { param_NaviAngleLimitation , 1 }, // unsigned char char NaviAngleLimitation; |
||
1010 | { param_NaviPH_LoginTime , 1 }, // unsigned char char NaviPH_LoginTime; |
||
1011 | { param_NaviDescendRange , 1 }, // unsigned char char NaviDescendRange; |
||
1012 | { param_ExternalControl , 1 }, // unsigned char char ExternalControl; // for serial Control |
||
1013 | { param_OrientationAngle , 1 }, // unsigned char char OrientationAngle; // Where is the front-direction? |
||
1014 | { param_CareFreeChannel , 1 }, // unsigned char char CareFreeChannel; // switch for CareFree |
||
1015 | { param_MotorSafetySwitch , 1 }, // unsigned char char MotorSafetySwitch; |
||
1016 | { param_MotorSmooth , 1 }, // unsigned char char MotorSmooth; |
||
1017 | { param_ComingHomeAltitude , 1 }, // unsigned char char ComingHomeAltitude; |
||
1018 | { param_FailSafeTime , 1 }, // unsigned char char FailSafeTime; |
||
1019 | { param_MaxAltitude , 1 }, // unsigned char char MaxAltitude; |
||
1020 | { param_FailsafeChannel , 1 }, // unsigned char char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
||
1021 | { param_ServoFilterNick , 1 }, // unsigned char char ServoFilterNick; |
||
1022 | { param_ServoFilterRoll , 1 }, // unsigned char char ServoFilterRoll; |
||
1023 | { param_Servo3OnValue , 1 }, // unsigned char char Servo3OnValue; // ab Rev. 101 (FC 2.05f) |
||
1024 | { param_Servo3OffValue , 1 }, // unsigned char char Servo3OffValue; // ab Rev. 101 (FC 2.05f) |
||
1025 | { param_Servo4OnValue , 1 }, // unsigned char char Servo4OnValue; // ab Rev. 101 (FC 2.05f) |
||
1026 | { param_Servo4OffValue , 1 }, // unsigned char char Servo4OffValue; // ab Rev. 101 (FC 2.05f) |
||
1027 | { param_StartLandChannel , 1 }, // unsigned char char StartLandChannel; |
||
1028 | { param_LandingSpeed , 1 }, // unsigned char char LandingSpeed; |
||
1029 | { param_CompassOffset , 1 }, // unsigned char char CompassOffset; |
||
1030 | { param_AutoLandingVoltage , 1 }, // unsigned char char AutoLandingVoltage; // in 0,1V 0 -> disabled |
||
1031 | { param_ComingHomeVoltage , 1 }, // unsigned char char ComingHomeVoltage; // in 0,1V 0 -> disabled |
||
1032 | { param_AutoPhotoAtitudes , 1 }, // unsigned char char AutoPhotoAtitudes; // ab Rev. 100 |
||
1033 | { param_SingleWpSpeed , 1 }, // unsigned char char SingleWpSpeed; // ab Rev. 100 |
||
1034 | { param_BitConfig , 1 }, // unsigned char char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
||
1035 | { param_ServoCompInvert , 1 }, // unsigned char char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
||
1036 | { param_ExtraConfig , 1 }, // unsigned char char ExtraConfig; // bitcodiert |
||
1037 | { param_GlobalConfig3 , 1 }, // unsigned char char GlobalConfig3; // bitcodiert |
||
1038 | { param_Name , 12 }, // char Name[12]; |
||
1039 | { param_crc , 1 }, // unsigned char char crc; // must be the last byte! |
||
1040 | |||
1041 | { param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
||
1042 | |||
1043 | }; // end: paramset_102[] |
||
1044 | |||
1045 | |||
1046 | |||
1047 | |||
1048 | |||
1049 | |||
1050 | //----------------------------------------------- |
||
1051 | // FC-Parameter Revision: 103 |
||
1052 | // |
||
1053 | // ab FC-Version: ab 2.07f bis ??? |
||
1054 | // gefunden in: 2.07f |
||
1055 | // |
||
1056 | // STRUKTUR-DIFF zu 102: |
||
1057 | // keine |
||
1058 | // |
||
1059 | // DEFINE-DIFF zu 102: |
||
1060 | // - chg: Hoehe_GPS_Z zu Hoehe_TiltCompensation |
||
1061 | //----------------------------------------------- |
||
1062 | paramRevItem_t const paramset_103[] PROGMEM = |
||
1063 | { |
||
1064 | { param_Revision , 1 }, // unsigned char Revision; |
||
1065 | { param_Kanalbelegung , 12 }, // unsigned char char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
||
1066 | { param_GlobalConfig , 1 }, // unsigned char char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
||
1067 | { param_Hoehe_MinGas , 1 }, // unsigned char char Hoehe_MinGas; // Wert : 0-100 |
||
1068 | { param_Luftdruck_D , 1 }, // unsigned char char Luftdruck_D; // Wert : 0-250 |
||
1069 | { param_HoeheChannel , 1 }, // unsigned char char HoeheChannel; // Wert : 0-32 |
||
1070 | { param_Hoehe_P , 1 }, // unsigned char char Hoehe_P; // Wert : 0-32 |
||
1071 | { param_Hoehe_Verstaerkung , 1 }, // unsigned char char Hoehe_Verstaerkung; // Wert : 0-50 |
||
1072 | { param_Hoehe_ACC_Wirkung , 1 }, // unsigned char char Hoehe_ACC_Wirkung; // Wert : 0-250 |
||
1073 | { param_Hoehe_HoverBand , 1 }, // unsigned char char Hoehe_HoverBand; // Wert : 0-250 |
||
1074 | { param_Hoehe_TiltCompensation , 1 }, // unsigned char char Hoehe_TiltCompensation; // Wert : 0-250 |
||
1075 | { param_Hoehe_StickNeutralPoint , 1 }, // unsigned char char Hoehe_StickNeutralPoint; // Wert : 0-250 |
||
1076 | { param_Stick_P , 1 }, // unsigned char char Stick_P; // Wert : 1-6 |
||
1077 | { param_Stick_D , 1 }, // unsigned char char Stick_D; // Wert : 0-64 |
||
1078 | { param_StickGier_P , 1 }, // unsigned char char StickGier_P; // Wert : 1-20 |
||
1079 | { param_Gas_Min , 1 }, // unsigned char char Gas_Min; // Wert : 0-32 |
||
1080 | { param_Gas_Max , 1 }, // unsigned char char Gas_Max; // Wert : 33-250 |
||
1081 | { param_GyroAccFaktor , 1 }, // unsigned char char GyroAccFaktor; // Wert : 1-64 |
||
1082 | { param_KompassWirkung , 1 }, // unsigned char char KompassWirkung; // Wert : 0-32 |
||
1083 | { param_Gyro_P , 1 }, // unsigned char char Gyro_P; // Wert : 10-250 |
||
1084 | { param_Gyro_I , 1 }, // unsigned char char Gyro_I; // Wert : 0-250 |
||
1085 | { param_Gyro_D , 1 }, // unsigned char char Gyro_D; // Wert : 0-250 |
||
1086 | { param_Gyro_Gier_P , 1 }, // unsigned char char Gyro_Gier_P; // Wert : 10-250 |
||
1087 | { param_Gyro_Gier_I , 1 }, // unsigned char char Gyro_Gier_I; // Wert : 0-250 |
||
1088 | { param_Gyro_Stability , 1 }, // unsigned char char Gyro_Stability; // Wert : 0-16 |
||
1089 | { param_UnterspannungsWarnung , 1 }, // unsigned char char UnterspannungsWarnung; // Wert : 0-250 |
||
1090 | { param_NotGas , 1 }, // unsigned char char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
||
1091 | { param_NotGasZeit , 1 }, // unsigned char char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
||
1092 | { param_Receiver , 1 }, // unsigned char char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
||
1093 | { param_I_Faktor , 1 }, // unsigned char char I_Faktor; // Wert : 0-250 |
||
1094 | { param_UserParam1 , 1 }, // unsigned char char UserParam1; // Wert : 0-250 |
||
1095 | { param_UserParam2 , 1 }, // unsigned char char UserParam2; // Wert : 0-250 |
||
1096 | { param_UserParam3 , 1 }, // unsigned char char UserParam3; // Wert : 0-250 |
||
1097 | { param_UserParam4 , 1 }, // unsigned char char UserParam4; // Wert : 0-250 |
||
1098 | { param_ServoNickControl , 1 }, // unsigned char char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
||
1099 | { param_ServoNickComp , 1 }, // unsigned char char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
||
1100 | { param_ServoNickMin , 1 }, // unsigned char char ServoNickMin; // Wert : 0-250 // Anschlag |
||
1101 | { param_ServoNickMax , 1 }, // unsigned char char ServoNickMax; // Wert : 0-250 // Anschlag |
||
1102 | { param_ServoRollControl , 1 }, // unsigned char char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
||
1103 | { param_ServoRollComp , 1 }, // unsigned char char ServoRollComp; // Wert : 0-250 |
||
1104 | { param_ServoRollMin , 1 }, // unsigned char char ServoRollMin; // Wert : 0-250 |
||
1105 | { param_ServoRollMax , 1 }, // unsigned char char ServoRollMax; // Wert : 0-250 |
||
1106 | { param_ServoNickRefresh , 1 }, // unsigned char char ServoNickRefresh; // Speed of the Servo |
||
1107 | { param_ServoManualControlSpeed , 1 }, // unsigned char char ServoManualControlSpeed; // |
||
1108 | { param_CamOrientation , 1 }, // unsigned char char CamOrientation; // |
||
1109 | { param_Servo3 , 1 }, // unsigned char char Servo3; // Value or mapping of the Servo Output |
||
1110 | { param_Servo4 , 1 }, // unsigned char char Servo4; // Value or mapping of the Servo Output |
||
1111 | { param_Servo5 , 1 }, // unsigned char char Servo5; // Value or mapping of the Servo Output |
||
1112 | { param_LoopGasLimit , 1 }, // unsigned char char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
||
1113 | { param_LoopThreshold , 1 }, // unsigned char char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
||
1114 | { param_LoopHysterese , 1 }, // unsigned char char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
||
1115 | { param_AchsKopplung1 , 1 }, // unsigned char char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
||
1116 | { param_AchsKopplung2 , 1 }, // unsigned char char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
1117 | { param_CouplingYawCorrection , 1 }, // unsigned char char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
1118 | { param_WinkelUmschlagNick , 1 }, // unsigned char char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
||
1119 | { param_WinkelUmschlagRoll , 1 }, // unsigned char char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
||
1120 | { param_GyroAccAbgleich , 1 }, // unsigned char char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
||
1121 | { param_Driftkomp , 1 }, // unsigned char char Driftkomp; |
||
1122 | { param_DynamicStability , 1 }, // unsigned char char DynamicStability; |
||
1123 | { param_UserParam5 , 1 }, // unsigned char char UserParam5; // Wert : 0-250 |
||
1124 | { param_UserParam6 , 1 }, // unsigned char char UserParam6; // Wert : 0-250 |
||
1125 | { param_UserParam7 , 1 }, // unsigned char char UserParam7; // Wert : 0-250 |
||
1126 | { param_UserParam8 , 1 }, // unsigned char char UserParam8; // Wert : 0-250 |
||
1127 | { param_J16Bitmask , 1 }, // unsigned char char J16Bitmask; // for the J16 Output |
||
1128 | { param_J16Timing , 1 }, // unsigned char char J16Timing; // for the J16 Output |
||
1129 | { param_J17Bitmask , 1 }, // unsigned char char J17Bitmask; // for the J17 Output |
||
1130 | { param_J17Timing , 1 }, // unsigned char char J17Timing; // for the J17 Output |
||
1131 | { param_WARN_J16_Bitmask , 1 }, // unsigned char char WARN_J16_Bitmask; // for the J16 Output |
||
1132 | { param_WARN_J17_Bitmask , 1 }, // unsigned char char WARN_J17_Bitmask; // for the J17 Output |
||
1133 | { param_AutoPhotoDistance , 1 }, // unsigned char char AutoPhotoDistance; // Auto Photo // ab Rev. 100 (ehemals NaviOut1Parameter) |
||
1134 | { param_NaviGpsModeChannel , 1 }, // unsigned char char NaviGpsModeChannel; // Parameters for the Naviboard |
||
1135 | { param_NaviGpsGain , 1 }, // unsigned char char NaviGpsGain; |
||
1136 | { param_NaviGpsP , 1 }, // unsigned char char NaviGpsP; |
||
1137 | { param_NaviGpsI , 1 }, // unsigned char char NaviGpsI; |
||
1138 | { param_NaviGpsD , 1 }, // unsigned char char NaviGpsD; |
||
1139 | { param_NaviGpsPLimit , 1 }, // unsigned char char NaviGpsPLimit; |
||
1140 | { param_NaviGpsILimit , 1 }, // unsigned char char NaviGpsILimit; |
||
1141 | { param_NaviGpsDLimit , 1 }, // unsigned char char NaviGpsDLimit; |
||
1142 | { param_NaviGpsA , 1 }, // unsigned char char NaviGpsA; |
||
1143 | { param_NaviGpsMinSat , 1 }, // unsigned char char NaviGpsMinSat; |
||
1144 | { param_NaviStickThreshold , 1 }, // unsigned char char NaviStickThreshold; |
||
1145 | { param_NaviWindCorrection , 1 }, // unsigned char char NaviWindCorrection; |
||
1146 | { param_NaviAccCompensation , 1 }, // unsigned char char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
||
1147 | { param_NaviMaxFlyingRange , 1 }, // unsigned char char NaviMaxFlyingRange; // in 10m |
||
1148 | { param_NaviAngleLimitation , 1 }, // unsigned char char NaviAngleLimitation; |
||
1149 | { param_NaviPH_LoginTime , 1 }, // unsigned char char NaviPH_LoginTime; |
||
1150 | { param_NaviDescendRange , 1 }, // unsigned char char NaviDescendRange; |
||
1151 | { param_ExternalControl , 1 }, // unsigned char char ExternalControl; // for serial Control |
||
1152 | { param_OrientationAngle , 1 }, // unsigned char char OrientationAngle; // Where is the front-direction? |
||
1153 | { param_CareFreeChannel , 1 }, // unsigned char char CareFreeChannel; // switch for CareFree |
||
1154 | { param_MotorSafetySwitch , 1 }, // unsigned char char MotorSafetySwitch; |
||
1155 | { param_MotorSmooth , 1 }, // unsigned char char MotorSmooth; |
||
1156 | { param_ComingHomeAltitude , 1 }, // unsigned char char ComingHomeAltitude; |
||
1157 | { param_FailSafeTime , 1 }, // unsigned char char FailSafeTime; |
||
1158 | { param_MaxAltitude , 1 }, // unsigned char char MaxAltitude; |
||
1159 | { param_FailsafeChannel , 1 }, // unsigned char char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
||
1160 | { param_ServoFilterNick , 1 }, // unsigned char char ServoFilterNick; |
||
1161 | { param_ServoFilterRoll , 1 }, // unsigned char char ServoFilterRoll; |
||
1162 | { param_Servo3OnValue , 1 }, // unsigned char char Servo3OnValue; // ab Rev. 101 (FC 2.05f) |
||
1163 | { param_Servo3OffValue , 1 }, // unsigned char char Servo3OffValue; // ab Rev. 101 (FC 2.05f) |
||
1164 | { param_Servo4OnValue , 1 }, // unsigned char char Servo4OnValue; // ab Rev. 101 (FC 2.05f) |
||
1165 | { param_Servo4OffValue , 1 }, // unsigned char char Servo4OffValue; // ab Rev. 101 (FC 2.05f) |
||
1166 | { param_StartLandChannel , 1 }, // unsigned char char StartLandChannel; |
||
1167 | { param_LandingSpeed , 1 }, // unsigned char char LandingSpeed; |
||
1168 | { param_CompassOffset , 1 }, // unsigned char char CompassOffset; |
||
1169 | { param_AutoLandingVoltage , 1 }, // unsigned char char AutoLandingVoltage; // in 0,1V 0 -> disabled |
||
1170 | { param_ComingHomeVoltage , 1 }, // unsigned char char ComingHomeVoltage; // in 0,1V 0 -> disabled |
||
1171 | { param_AutoPhotoAtitudes , 1 }, // unsigned char char AutoPhotoAtitudes; // ab Rev. 100 |
||
1172 | { param_SingleWpSpeed , 1 }, // unsigned char char SingleWpSpeed; // ab Rev. 100 |
||
1173 | { param_BitConfig , 1 }, // unsigned char char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
||
1174 | { param_ServoCompInvert , 1 }, // unsigned char char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
||
1175 | { param_ExtraConfig , 1 }, // unsigned char char ExtraConfig; // bitcodiert |
||
1176 | { param_GlobalConfig3 , 1 }, // unsigned char char GlobalConfig3; // bitcodiert |
||
1177 | { param_Name , 12 }, // char Name[12]; |
||
1178 | { param_crc , 1 }, // unsigned char char crc; // must be the last byte! |
||
1179 | |||
1180 | { param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
||
1181 | |||
1182 | }; // end: paramset_103[] |
||
1183 | |||
1184 | |||
1185 | |||
1186 | //----------------------------------------------- |
||
1187 | // FC-Parameter Revision: 104 |
||
1188 | // |
||
1189 | // ab FC-Version: ab 2.09d bis ??? |
||
1190 | // gefunden in: 2.09d |
||
1191 | // |
||
1192 | // STRUKTUR-DIFF zu 103: |
||
1193 | // add: LandingPulse |
||
1194 | // |
||
1195 | |||
1196 | //----------------------------------------------- |
||
1197 | paramRevItem_t const paramset_104[] PROGMEM = |
||
1198 | { |
||
1199 | { param_Revision , 1 }, // unsigned char Revision; |
||
1200 | { param_Kanalbelegung , 12 }, // unsigned char char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
||
1201 | { param_GlobalConfig , 1 }, // unsigned char char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
||
1202 | { param_Hoehe_MinGas , 1 }, // unsigned char char Hoehe_MinGas; // Wert : 0-100 |
||
1203 | { param_Luftdruck_D , 1 }, // unsigned char char Luftdruck_D; // Wert : 0-250 |
||
1204 | { param_HoeheChannel , 1 }, // unsigned char char HoeheChannel; // Wert : 0-32 |
||
1205 | { param_Hoehe_P , 1 }, // unsigned char char Hoehe_P; // Wert : 0-32 |
||
1206 | { param_Hoehe_Verstaerkung , 1 }, // unsigned char char Hoehe_Verstaerkung; // Wert : 0-50 |
||
1207 | { param_Hoehe_ACC_Wirkung , 1 }, // unsigned char char Hoehe_ACC_Wirkung; // Wert : 0-250 |
||
1208 | { param_Hoehe_HoverBand , 1 }, // unsigned char char Hoehe_HoverBand; // Wert : 0-250 |
||
1209 | { param_Hoehe_TiltCompensation , 1 }, // unsigned char char Hoehe_TiltCompensation; // Wert : 0-250 |
||
1210 | { param_Hoehe_StickNeutralPoint , 1 }, // unsigned char char Hoehe_StickNeutralPoint; // Wert : 0-250 |
||
1211 | { param_Stick_P , 1 }, // unsigned char char Stick_P; // Wert : 1-6 |
||
1212 | { param_Stick_D , 1 }, // unsigned char char Stick_D; // Wert : 0-64 |
||
1213 | { param_StickGier_P , 1 }, // unsigned char char StickGier_P; // Wert : 1-20 |
||
1214 | { param_Gas_Min , 1 }, // unsigned char char Gas_Min; // Wert : 0-32 |
||
1215 | { param_Gas_Max , 1 }, // unsigned char char Gas_Max; // Wert : 33-250 |
||
1216 | { param_GyroAccFaktor , 1 }, // unsigned char char GyroAccFaktor; // Wert : 1-64 |
||
1217 | { param_KompassWirkung , 1 }, // unsigned char char KompassWirkung; // Wert : 0-32 |
||
1218 | { param_Gyro_P , 1 }, // unsigned char char Gyro_P; // Wert : 10-250 |
||
1219 | { param_Gyro_I , 1 }, // unsigned char char Gyro_I; // Wert : 0-250 |
||
1220 | { param_Gyro_D , 1 }, // unsigned char char Gyro_D; // Wert : 0-250 |
||
1221 | { param_Gyro_Gier_P , 1 }, // unsigned char char Gyro_Gier_P; // Wert : 10-250 |
||
1222 | { param_Gyro_Gier_I , 1 }, // unsigned char char Gyro_Gier_I; // Wert : 0-250 |
||
1223 | { param_Gyro_Stability , 1 }, // unsigned char char Gyro_Stability; // Wert : 0-16 |
||
1224 | { param_UnterspannungsWarnung , 1 }, // unsigned char char UnterspannungsWarnung; // Wert : 0-250 |
||
1225 | { param_NotGas , 1 }, // unsigned char char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
||
1226 | { param_NotGasZeit , 1 }, // unsigned char char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
||
1227 | { param_Receiver , 1 }, // unsigned char char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
||
1228 | { param_I_Faktor , 1 }, // unsigned char char I_Faktor; // Wert : 0-250 |
||
1229 | { param_UserParam1 , 1 }, // unsigned char char UserParam1; // Wert : 0-250 |
||
1230 | { param_UserParam2 , 1 }, // unsigned char char UserParam2; // Wert : 0-250 |
||
1231 | { param_UserParam3 , 1 }, // unsigned char char UserParam3; // Wert : 0-250 |
||
1232 | { param_UserParam4 , 1 }, // unsigned char char UserParam4; // Wert : 0-250 |
||
1233 | { param_ServoNickControl , 1 }, // unsigned char char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
||
1234 | { param_ServoNickComp , 1 }, // unsigned char char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
||
1235 | { param_ServoNickMin , 1 }, // unsigned char char ServoNickMin; // Wert : 0-250 // Anschlag |
||
1236 | { param_ServoNickMax , 1 }, // unsigned char char ServoNickMax; // Wert : 0-250 // Anschlag |
||
1237 | { param_ServoRollControl , 1 }, // unsigned char char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
||
1238 | { param_ServoRollComp , 1 }, // unsigned char char ServoRollComp; // Wert : 0-250 |
||
1239 | { param_ServoRollMin , 1 }, // unsigned char char ServoRollMin; // Wert : 0-250 |
||
1240 | { param_ServoRollMax , 1 }, // unsigned char char ServoRollMax; // Wert : 0-250 |
||
1241 | { param_ServoNickRefresh , 1 }, // unsigned char char ServoNickRefresh; // Speed of the Servo |
||
1242 | { param_ServoManualControlSpeed , 1 }, // unsigned char char ServoManualControlSpeed; // |
||
1243 | { param_CamOrientation , 1 }, // unsigned char char CamOrientation; // |
||
1244 | { param_Servo3 , 1 }, // unsigned char char Servo3; // Value or mapping of the Servo Output |
||
1245 | { param_Servo4 , 1 }, // unsigned char char Servo4; // Value or mapping of the Servo Output |
||
1246 | { param_Servo5 , 1 }, // unsigned char char Servo5; // Value or mapping of the Servo Output |
||
1247 | { param_LoopGasLimit , 1 }, // unsigned char char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
||
1248 | { param_LoopThreshold , 1 }, // unsigned char char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
||
1249 | { param_LoopHysterese , 1 }, // unsigned char char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
||
1250 | { param_AchsKopplung1 , 1 }, // unsigned char char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
||
1251 | { param_AchsKopplung2 , 1 }, // unsigned char char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
1252 | { param_CouplingYawCorrection , 1 }, // unsigned char char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
1253 | { param_WinkelUmschlagNick , 1 }, // unsigned char char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
||
1254 | { param_WinkelUmschlagRoll , 1 }, // unsigned char char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
||
1255 | { param_GyroAccAbgleich , 1 }, // unsigned char char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
||
1256 | { param_Driftkomp , 1 }, // unsigned char char Driftkomp; |
||
1257 | { param_DynamicStability , 1 }, // unsigned char char DynamicStability; |
||
1258 | { param_UserParam5 , 1 }, // unsigned char char UserParam5; // Wert : 0-250 |
||
1259 | { param_UserParam6 , 1 }, // unsigned char char UserParam6; // Wert : 0-250 |
||
1260 | { param_UserParam7 , 1 }, // unsigned char char UserParam7; // Wert : 0-250 |
||
1261 | { param_UserParam8 , 1 }, // unsigned char char UserParam8; // Wert : 0-250 |
||
1262 | { param_J16Bitmask , 1 }, // unsigned char char J16Bitmask; // for the J16 Output |
||
1263 | { param_J16Timing , 1 }, // unsigned char char J16Timing; // for the J16 Output |
||
1264 | { param_J17Bitmask , 1 }, // unsigned char char J17Bitmask; // for the J17 Output |
||
1265 | { param_J17Timing , 1 }, // unsigned char char J17Timing; // for the J17 Output |
||
1266 | { param_WARN_J16_Bitmask , 1 }, // unsigned char char WARN_J16_Bitmask; // for the J16 Output |
||
1267 | { param_WARN_J17_Bitmask , 1 }, // unsigned char char WARN_J17_Bitmask; // for the J17 Output |
||
1268 | { param_AutoPhotoDistance , 1 }, // unsigned char char AutoPhotoDistance; // Auto Photo // ab Rev. 100 (ehemals NaviOut1Parameter) |
||
1269 | { param_NaviGpsModeChannel , 1 }, // unsigned char char NaviGpsModeChannel; // Parameters for the Naviboard |
||
1270 | { param_NaviGpsGain , 1 }, // unsigned char char NaviGpsGain; |
||
1271 | { param_NaviGpsP , 1 }, // unsigned char char NaviGpsP; |
||
1272 | { param_NaviGpsI , 1 }, // unsigned char char NaviGpsI; |
||
1273 | { param_NaviGpsD , 1 }, // unsigned char char NaviGpsD; |
||
1274 | { param_NaviGpsPLimit , 1 }, // unsigned char char NaviGpsPLimit; |
||
1275 | { param_NaviGpsILimit , 1 }, // unsigned char char NaviGpsILimit; |
||
1276 | { param_NaviGpsDLimit , 1 }, // unsigned char char NaviGpsDLimit; |
||
1277 | { param_NaviGpsA , 1 }, // unsigned char char NaviGpsA; |
||
1278 | { param_NaviGpsMinSat , 1 }, // unsigned char char NaviGpsMinSat; |
||
1279 | { param_NaviStickThreshold , 1 }, // unsigned char char NaviStickThreshold; |
||
1280 | { param_NaviWindCorrection , 1 }, // unsigned char char NaviWindCorrection; |
||
1281 | { param_NaviAccCompensation , 1 }, // unsigned char char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
||
1282 | { param_NaviMaxFlyingRange , 1 }, // unsigned char char NaviMaxFlyingRange; // in 10m |
||
1283 | { param_NaviAngleLimitation , 1 }, // unsigned char char NaviAngleLimitation; |
||
1284 | { param_NaviPH_LoginTime , 1 }, // unsigned char char NaviPH_LoginTime; |
||
1285 | { param_NaviDescendRange , 1 }, // unsigned char char NaviDescendRange; |
||
1286 | { param_ExternalControl , 1 }, // unsigned char char ExternalControl; // for serial Control |
||
1287 | { param_OrientationAngle , 1 }, // unsigned char char OrientationAngle; // Where is the front-direction? |
||
1288 | { param_CareFreeChannel , 1 }, // unsigned char char CareFreeChannel; // switch for CareFree |
||
1289 | { param_MotorSafetySwitch , 1 }, // unsigned char char MotorSafetySwitch; |
||
1290 | { param_MotorSmooth , 1 }, // unsigned char char MotorSmooth; |
||
1291 | { param_ComingHomeAltitude , 1 }, // unsigned char char ComingHomeAltitude; |
||
1292 | { param_FailSafeTime , 1 }, // unsigned char char FailSafeTime; |
||
1293 | { param_MaxAltitude , 1 }, // unsigned char char MaxAltitude; |
||
1294 | { param_FailsafeChannel , 1 }, // unsigned char char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
||
1295 | { param_ServoFilterNick , 1 }, // unsigned char char ServoFilterNick; |
||
1296 | { param_ServoFilterRoll , 1 }, // unsigned char char ServoFilterRoll; |
||
1297 | { param_Servo3OnValue , 1 }, // unsigned char char Servo3OnValue; // ab Rev. 101 (FC 2.05f) |
||
1298 | { param_Servo3OffValue , 1 }, // unsigned char char Servo3OffValue; // ab Rev. 101 (FC 2.05f) |
||
1299 | { param_Servo4OnValue , 1 }, // unsigned char char Servo4OnValue; // ab Rev. 101 (FC 2.05f) |
||
1300 | { param_Servo4OffValue , 1 }, // unsigned char char Servo4OffValue; // ab Rev. 101 (FC 2.05f) |
||
1301 | { param_StartLandChannel , 1 }, // unsigned char char StartLandChannel; |
||
1302 | { param_LandingSpeed , 1 }, // unsigned char char LandingSpeed; |
||
1303 | { param_CompassOffset , 1 }, // unsigned char char CompassOffset; |
||
1304 | { param_AutoLandingVoltage , 1 }, // unsigned char char AutoLandingVoltage; // in 0,1V 0 -> disabled |
||
1305 | { param_ComingHomeVoltage , 1 }, // unsigned char char ComingHomeVoltage; // in 0,1V 0 -> disabled |
||
1306 | { param_AutoPhotoAtitudes , 1 }, // unsigned char char AutoPhotoAtitudes; // ab Rev. 100 |
||
1307 | { param_SingleWpSpeed , 1 }, // unsigned char char SingleWpSpeed; // ab Rev. 100 |
||
1308 | { param_LandingPulse , 1 }, // unsigned char char LandingPulse; // ab Rev. 104 (FC 2.09d) |
||
1309 | { param_BitConfig , 1 }, // unsigned char char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
||
1310 | { param_ServoCompInvert , 1 }, // unsigned char char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
||
1311 | { param_ExtraConfig , 1 }, // unsigned char char ExtraConfig; // bitcodiert |
||
1312 | { param_GlobalConfig3 , 1 }, // unsigned char char GlobalConfig3; // bitcodiert |
||
1313 | { param_Name , 12 }, // char Name[12]; |
||
1314 | { param_crc , 1 }, // unsigned char char crc; // must be the last byte! |
||
1315 | |||
1316 | { param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
||
1317 | |||
1318 | }; // end: paramset_104[] |
||
1319 | |||
1320 | //----------------------------------------------- |
||
1321 | // FC-Parameter Revision: 105 |
||
1322 | // |
||
1323 | // ab FC-Version: ab 2.09j bis ??? |
||
1324 | // gefunden in: 2.09j |
||
1325 | // |
||
1326 | // STRUKTUR-DIFF zu 104: |
||
1327 | // add: unsigned char ServoFS_Pos[5]; |
||
1328 | // |
||
1329 | |||
1330 | //----------------------------------------------- |
||
1331 | paramRevItem_t const paramset_105[] PROGMEM = |
||
1332 | { |
||
1333 | { param_Revision , 1 }, // unsigned char Revision; |
||
1334 | { param_Kanalbelegung , 12 }, // unsigned char char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
||
1335 | { param_GlobalConfig , 1 }, // unsigned char char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
||
1336 | { param_Hoehe_MinGas , 1 }, // unsigned char char Hoehe_MinGas; // Wert : 0-100 |
||
1337 | { param_Luftdruck_D , 1 }, // unsigned char char Luftdruck_D; // Wert : 0-250 |
||
1338 | { param_HoeheChannel , 1 }, // unsigned char char HoeheChannel; // Wert : 0-32 |
||
1339 | { param_Hoehe_P , 1 }, // unsigned char char Hoehe_P; // Wert : 0-32 |
||
1340 | { param_Hoehe_Verstaerkung , 1 }, // unsigned char char Hoehe_Verstaerkung; // Wert : 0-50 |
||
1341 | { param_Hoehe_ACC_Wirkung , 1 }, // unsigned char char Hoehe_ACC_Wirkung; // Wert : 0-250 |
||
1342 | { param_Hoehe_HoverBand , 1 }, // unsigned char char Hoehe_HoverBand; // Wert : 0-250 |
||
1343 | { param_Hoehe_TiltCompensation , 1 }, // unsigned char char Hoehe_TiltCompensation; // Wert : 0-250 |
||
1344 | { param_Hoehe_StickNeutralPoint , 1 }, // unsigned char char Hoehe_StickNeutralPoint; // Wert : 0-250 |
||
1345 | { param_Stick_P , 1 }, // unsigned char char Stick_P; // Wert : 1-6 |
||
1346 | { param_Stick_D , 1 }, // unsigned char char Stick_D; // Wert : 0-64 |
||
1347 | { param_StickGier_P , 1 }, // unsigned char char StickGier_P; // Wert : 1-20 |
||
1348 | { param_Gas_Min , 1 }, // unsigned char char Gas_Min; // Wert : 0-32 |
||
1349 | { param_Gas_Max , 1 }, // unsigned char char Gas_Max; // Wert : 33-250 |
||
1350 | { param_GyroAccFaktor , 1 }, // unsigned char char GyroAccFaktor; // Wert : 1-64 |
||
1351 | { param_KompassWirkung , 1 }, // unsigned char char KompassWirkung; // Wert : 0-32 |
||
1352 | { param_Gyro_P , 1 }, // unsigned char char Gyro_P; // Wert : 10-250 |
||
1353 | { param_Gyro_I , 1 }, // unsigned char char Gyro_I; // Wert : 0-250 |
||
1354 | { param_Gyro_D , 1 }, // unsigned char char Gyro_D; // Wert : 0-250 |
||
1355 | { param_Gyro_Gier_P , 1 }, // unsigned char char Gyro_Gier_P; // Wert : 10-250 |
||
1356 | { param_Gyro_Gier_I , 1 }, // unsigned char char Gyro_Gier_I; // Wert : 0-250 |
||
1357 | { param_Gyro_Stability , 1 }, // unsigned char char Gyro_Stability; // Wert : 0-16 |
||
1358 | { param_UnterspannungsWarnung , 1 }, // unsigned char char UnterspannungsWarnung; // Wert : 0-250 |
||
1359 | { param_NotGas , 1 }, // unsigned char char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
||
1360 | { param_NotGasZeit , 1 }, // unsigned char char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
||
1361 | { param_Receiver , 1 }, // unsigned char char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
||
1362 | { param_I_Faktor , 1 }, // unsigned char char I_Faktor; // Wert : 0-250 |
||
1363 | { param_UserParam1 , 1 }, // unsigned char char UserParam1; // Wert : 0-250 |
||
1364 | { param_UserParam2 , 1 }, // unsigned char char UserParam2; // Wert : 0-250 |
||
1365 | { param_UserParam3 , 1 }, // unsigned char char UserParam3; // Wert : 0-250 |
||
1366 | { param_UserParam4 , 1 }, // unsigned char char UserParam4; // Wert : 0-250 |
||
1367 | { param_ServoNickControl , 1 }, // unsigned char char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
||
1368 | { param_ServoNickComp , 1 }, // unsigned char char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
||
1369 | { param_ServoNickMin , 1 }, // unsigned char char ServoNickMin; // Wert : 0-250 // Anschlag |
||
1370 | { param_ServoNickMax , 1 }, // unsigned char char ServoNickMax; // Wert : 0-250 // Anschlag |
||
1371 | { param_ServoRollControl , 1 }, // unsigned char char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
||
1372 | { param_ServoRollComp , 1 }, // unsigned char char ServoRollComp; // Wert : 0-250 |
||
1373 | { param_ServoRollMin , 1 }, // unsigned char char ServoRollMin; // Wert : 0-250 |
||
1374 | { param_ServoRollMax , 1 }, // unsigned char char ServoRollMax; // Wert : 0-250 |
||
1375 | { param_ServoNickRefresh , 1 }, // unsigned char char ServoNickRefresh; // Speed of the Servo |
||
1376 | { param_ServoManualControlSpeed , 1 }, // unsigned char char ServoManualControlSpeed; // |
||
1377 | { param_CamOrientation , 1 }, // unsigned char char CamOrientation; // |
||
1378 | { param_Servo3 , 1 }, // unsigned char char Servo3; // Value or mapping of the Servo Output |
||
1379 | { param_Servo4 , 1 }, // unsigned char char Servo4; // Value or mapping of the Servo Output |
||
1380 | { param_Servo5 , 1 }, // unsigned char char Servo5; // Value or mapping of the Servo Output |
||
1381 | { param_LoopGasLimit , 1 }, // unsigned char char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
||
1382 | { param_LoopThreshold , 1 }, // unsigned char char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
||
1383 | { param_LoopHysterese , 1 }, // unsigned char char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
||
1384 | { param_AchsKopplung1 , 1 }, // unsigned char char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
||
1385 | { param_AchsKopplung2 , 1 }, // unsigned char char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
1386 | { param_CouplingYawCorrection , 1 }, // unsigned char char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
1387 | { param_WinkelUmschlagNick , 1 }, // unsigned char char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
||
1388 | { param_WinkelUmschlagRoll , 1 }, // unsigned char char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
||
1389 | { param_GyroAccAbgleich , 1 }, // unsigned char char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
||
1390 | { param_Driftkomp , 1 }, // unsigned char char Driftkomp; |
||
1391 | { param_DynamicStability , 1 }, // unsigned char char DynamicStability; |
||
1392 | { param_UserParam5 , 1 }, // unsigned char char UserParam5; // Wert : 0-250 |
||
1393 | { param_UserParam6 , 1 }, // unsigned char char UserParam6; // Wert : 0-250 |
||
1394 | { param_UserParam7 , 1 }, // unsigned char char UserParam7; // Wert : 0-250 |
||
1395 | { param_UserParam8 , 1 }, // unsigned char char UserParam8; // Wert : 0-250 |
||
1396 | { param_J16Bitmask , 1 }, // unsigned char char J16Bitmask; // for the J16 Output |
||
1397 | { param_J16Timing , 1 }, // unsigned char char J16Timing; // for the J16 Output |
||
1398 | { param_J17Bitmask , 1 }, // unsigned char char J17Bitmask; // for the J17 Output |
||
1399 | { param_J17Timing , 1 }, // unsigned char char J17Timing; // for the J17 Output |
||
1400 | { param_WARN_J16_Bitmask , 1 }, // unsigned char char WARN_J16_Bitmask; // for the J16 Output |
||
1401 | { param_WARN_J17_Bitmask , 1 }, // unsigned char char WARN_J17_Bitmask; // for the J17 Output |
||
1402 | { param_AutoPhotoDistance , 1 }, // unsigned char char AutoPhotoDistance; // Auto Photo // ab Rev. 100 (ehemals NaviOut1Parameter) |
||
1403 | { param_NaviGpsModeChannel , 1 }, // unsigned char char NaviGpsModeChannel; // Parameters for the Naviboard |
||
1404 | { param_NaviGpsGain , 1 }, // unsigned char char NaviGpsGain; |
||
1405 | { param_NaviGpsP , 1 }, // unsigned char char NaviGpsP; |
||
1406 | { param_NaviGpsI , 1 }, // unsigned char char NaviGpsI; |
||
1407 | { param_NaviGpsD , 1 }, // unsigned char char NaviGpsD; |
||
1408 | { param_NaviGpsPLimit , 1 }, // unsigned char char NaviGpsPLimit; |
||
1409 | { param_NaviGpsILimit , 1 }, // unsigned char char NaviGpsILimit; |
||
1410 | { param_NaviGpsDLimit , 1 }, // unsigned char char NaviGpsDLimit; |
||
1411 | { param_NaviGpsA , 1 }, // unsigned char char NaviGpsA; |
||
1412 | { param_NaviGpsMinSat , 1 }, // unsigned char char NaviGpsMinSat; |
||
1413 | { param_NaviStickThreshold , 1 }, // unsigned char char NaviStickThreshold; |
||
1414 | { param_NaviWindCorrection , 1 }, // unsigned char char NaviWindCorrection; |
||
1415 | { param_NaviAccCompensation , 1 }, // unsigned char char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
||
1416 | { param_NaviMaxFlyingRange , 1 }, // unsigned char char NaviMaxFlyingRange; // in 10m |
||
1417 | { param_NaviAngleLimitation , 1 }, // unsigned char char NaviAngleLimitation; |
||
1418 | { param_NaviPH_LoginTime , 1 }, // unsigned char char NaviPH_LoginTime; |
||
1419 | { param_NaviDescendRange , 1 }, // unsigned char char NaviDescendRange; |
||
1420 | { param_ExternalControl , 1 }, // unsigned char char ExternalControl; // for serial Control |
||
1421 | { param_OrientationAngle , 1 }, // unsigned char char OrientationAngle; // Where is the front-direction? |
||
1422 | { param_CareFreeChannel , 1 }, // unsigned char char CareFreeChannel; // switch for CareFree |
||
1423 | { param_MotorSafetySwitch , 1 }, // unsigned char char MotorSafetySwitch; |
||
1424 | { param_MotorSmooth , 1 }, // unsigned char char MotorSmooth; |
||
1425 | { param_ComingHomeAltitude , 1 }, // unsigned char char ComingHomeAltitude; |
||
1426 | { param_FailSafeTime , 1 }, // unsigned char char FailSafeTime; |
||
1427 | { param_MaxAltitude , 1 }, // unsigned char char MaxAltitude; |
||
1428 | { param_FailsafeChannel , 1 }, // unsigned char char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
||
1429 | { param_ServoFilterNick , 1 }, // unsigned char char ServoFilterNick; |
||
1430 | { param_ServoFilterRoll , 1 }, // unsigned char char ServoFilterRoll; |
||
1431 | { param_Servo3OnValue , 1 }, // unsigned char char Servo3OnValue; // ab Rev. 101 (FC 2.05f) |
||
1432 | { param_Servo3OffValue , 1 }, // unsigned char char Servo3OffValue; // ab Rev. 101 (FC 2.05f) |
||
1433 | { param_Servo4OnValue , 1 }, // unsigned char char Servo4OnValue; // ab Rev. 101 (FC 2.05f) |
||
1434 | { param_Servo4OffValue , 1 }, // unsigned char char Servo4OffValue; // ab Rev. 101 (FC 2.05f) |
||
1435 | { param_ServoFS_Pos , 5 }, // unsigned char ServoFS_Pos[5]; // ab Rev. 105 (FC 2.09i) |
||
1436 | { param_StartLandChannel , 1 }, // unsigned char char StartLandChannel; |
||
1437 | { param_LandingSpeed , 1 }, // unsigned char char LandingSpeed; |
||
1438 | { param_CompassOffset , 1 }, // unsigned char char CompassOffset; |
||
1439 | { param_AutoLandingVoltage , 1 }, // unsigned char char AutoLandingVoltage; // in 0,1V 0 -> disabled |
||
1440 | { param_ComingHomeVoltage , 1 }, // unsigned char char ComingHomeVoltage; // in 0,1V 0 -> disabled |
||
1441 | { param_AutoPhotoAtitudes , 1 }, // unsigned char char AutoPhotoAtitudes; // ab Rev. 100 |
||
1442 | { param_SingleWpSpeed , 1 }, // unsigned char char SingleWpSpeed; // ab Rev. 100 |
||
1443 | { param_LandingPulse , 1 }, // unsigned char char LandingPulse; // ab Rev. 104 (FC 2.09d) |
||
1444 | { param_BitConfig , 1 }, // unsigned char char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
||
1445 | { param_ServoCompInvert , 1 }, // unsigned char char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
||
1446 | { param_ExtraConfig , 1 }, // unsigned char char ExtraConfig; // bitcodiert |
||
1447 | { param_GlobalConfig3 , 1 }, // unsigned char char GlobalConfig3; // bitcodiert |
||
1448 | { param_Name , 12 }, // char Name[12]; |
||
1449 | { param_crc , 1 }, // unsigned char char crc; // must be the last byte! |
||
1450 | |||
1451 | { param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
||
1452 | |||
1453 | }; // end: paramset_105[] |
||
1454 | |||
1455 | |||
1456 | //----------------------------------------------- |
||
1457 | // FC-Parameter Revision: 106 |
||
1458 | // |
||
1459 | // ab FC-Version: ab 2.11a bis ??? |
||
1460 | // gefunden in: 2.11a |
||
1461 | // |
||
1462 | // STRUKTUR-DIFF zu 105: |
||
1463 | // add: unsigned char SingleWpControlChannel; |
||
1464 | // unsigned char MenuKeyChannel; |
||
1465 | |||
1466 | // |
||
1467 | |||
1468 | //----------------------------------------------- |
||
1469 | paramRevItem_t const paramset_106[] PROGMEM = |
||
1470 | { |
||
1471 | { param_Revision , 1 }, // unsigned char Revision; |
||
1472 | { param_Kanalbelegung , 12 }, // unsigned char char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
||
1473 | { param_GlobalConfig , 1 }, // unsigned char char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
||
1474 | { param_Hoehe_MinGas , 1 }, // unsigned char char Hoehe_MinGas; // Wert : 0-100 |
||
1475 | { param_Luftdruck_D , 1 }, // unsigned char char Luftdruck_D; // Wert : 0-250 |
||
1476 | { param_HoeheChannel , 1 }, // unsigned char char HoeheChannel; // Wert : 0-32 |
||
1477 | { param_Hoehe_P , 1 }, // unsigned char char Hoehe_P; // Wert : 0-32 |
||
1478 | { param_Hoehe_Verstaerkung , 1 }, // unsigned char char Hoehe_Verstaerkung; // Wert : 0-50 |
||
1479 | { param_Hoehe_ACC_Wirkung , 1 }, // unsigned char char Hoehe_ACC_Wirkung; // Wert : 0-250 |
||
1480 | { param_Hoehe_HoverBand , 1 }, // unsigned char char Hoehe_HoverBand; // Wert : 0-250 |
||
1481 | { param_Hoehe_TiltCompensation , 1 }, // unsigned char char Hoehe_TiltCompensation; // Wert : 0-250 |
||
1482 | { param_Hoehe_StickNeutralPoint , 1 }, // unsigned char char Hoehe_StickNeutralPoint; // Wert : 0-250 |
||
1483 | { param_Stick_P , 1 }, // unsigned char char Stick_P; // Wert : 1-6 |
||
1484 | { param_Stick_D , 1 }, // unsigned char char Stick_D; // Wert : 0-64 |
||
1485 | { param_StickGier_P , 1 }, // unsigned char char StickGier_P; // Wert : 1-20 |
||
1486 | { param_Gas_Min , 1 }, // unsigned char char Gas_Min; // Wert : 0-32 |
||
1487 | { param_Gas_Max , 1 }, // unsigned char char Gas_Max; // Wert : 33-250 |
||
1488 | { param_GyroAccFaktor , 1 }, // unsigned char char GyroAccFaktor; // Wert : 1-64 |
||
1489 | { param_KompassWirkung , 1 }, // unsigned char char KompassWirkung; // Wert : 0-32 |
||
1490 | { param_Gyro_P , 1 }, // unsigned char char Gyro_P; // Wert : 10-250 |
||
1491 | { param_Gyro_I , 1 }, // unsigned char char Gyro_I; // Wert : 0-250 |
||
1492 | { param_Gyro_D , 1 }, // unsigned char char Gyro_D; // Wert : 0-250 |
||
1493 | { param_Gyro_Gier_P , 1 }, // unsigned char char Gyro_Gier_P; // Wert : 10-250 |
||
1494 | { param_Gyro_Gier_I , 1 }, // unsigned char char Gyro_Gier_I; // Wert : 0-250 |
||
1495 | { param_Gyro_Stability , 1 }, // unsigned char char Gyro_Stability; // Wert : 0-16 |
||
1496 | { param_UnterspannungsWarnung , 1 }, // unsigned char char UnterspannungsWarnung; // Wert : 0-250 |
||
1497 | { param_NotGas , 1 }, // unsigned char char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
||
1498 | { param_NotGasZeit , 1 }, // unsigned char char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
||
1499 | { param_Receiver , 1 }, // unsigned char char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
||
1500 | { param_I_Faktor , 1 }, // unsigned char char I_Faktor; // Wert : 0-250 |
||
1501 | { param_UserParam1 , 1 }, // unsigned char char UserParam1; // Wert : 0-250 |
||
1502 | { param_UserParam2 , 1 }, // unsigned char char UserParam2; // Wert : 0-250 |
||
1503 | { param_UserParam3 , 1 }, // unsigned char char UserParam3; // Wert : 0-250 |
||
1504 | { param_UserParam4 , 1 }, // unsigned char char UserParam4; // Wert : 0-250 |
||
1505 | { param_ServoNickControl , 1 }, // unsigned char char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
||
1506 | { param_ServoNickComp , 1 }, // unsigned char char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
||
1507 | { param_ServoNickMin , 1 }, // unsigned char char ServoNickMin; // Wert : 0-250 // Anschlag |
||
1508 | { param_ServoNickMax , 1 }, // unsigned char char ServoNickMax; // Wert : 0-250 // Anschlag |
||
1509 | { param_ServoRollControl , 1 }, // unsigned char char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
||
1510 | { param_ServoRollComp , 1 }, // unsigned char char ServoRollComp; // Wert : 0-250 |
||
1511 | { param_ServoRollMin , 1 }, // unsigned char char ServoRollMin; // Wert : 0-250 |
||
1512 | { param_ServoRollMax , 1 }, // unsigned char char ServoRollMax; // Wert : 0-250 |
||
1513 | { param_ServoNickRefresh , 1 }, // unsigned char char ServoNickRefresh; // Speed of the Servo |
||
1514 | { param_ServoManualControlSpeed , 1 }, // unsigned char char ServoManualControlSpeed; // |
||
1515 | { param_CamOrientation , 1 }, // unsigned char char CamOrientation; // |
||
1516 | { param_Servo3 , 1 }, // unsigned char char Servo3; // Value or mapping of the Servo Output |
||
1517 | { param_Servo4 , 1 }, // unsigned char char Servo4; // Value or mapping of the Servo Output |
||
1518 | { param_Servo5 , 1 }, // unsigned char char Servo5; // Value or mapping of the Servo Output |
||
1519 | { param_LoopGasLimit , 1 }, // unsigned char char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
||
1520 | { param_LoopThreshold , 1 }, // unsigned char char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
||
1521 | { param_LoopHysterese , 1 }, // unsigned char char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
||
1522 | { param_AchsKopplung1 , 1 }, // unsigned char char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
||
1523 | { param_AchsKopplung2 , 1 }, // unsigned char char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
1524 | { param_CouplingYawCorrection , 1 }, // unsigned char char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
||
1525 | { param_WinkelUmschlagNick , 1 }, // unsigned char char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
||
1526 | { param_WinkelUmschlagRoll , 1 }, // unsigned char char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
||
1527 | { param_GyroAccAbgleich , 1 }, // unsigned char char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
||
1528 | { param_Driftkomp , 1 }, // unsigned char char Driftkomp; |
||
1529 | { param_DynamicStability , 1 }, // unsigned char char DynamicStability; |
||
1530 | { param_UserParam5 , 1 }, // unsigned char char UserParam5; // Wert : 0-250 |
||
1531 | { param_UserParam6 , 1 }, // unsigned char char UserParam6; // Wert : 0-250 |
||
1532 | { param_UserParam7 , 1 }, // unsigned char char UserParam7; // Wert : 0-250 |
||
1533 | { param_UserParam8 , 1 }, // unsigned char char UserParam8; // Wert : 0-250 |
||
1534 | { param_J16Bitmask , 1 }, // unsigned char char J16Bitmask; // for the J16 Output |
||
1535 | { param_J16Timing , 1 }, // unsigned char char J16Timing; // for the J16 Output |
||
1536 | { param_J17Bitmask , 1 }, // unsigned char char J17Bitmask; // for the J17 Output |
||
1537 | { param_J17Timing , 1 }, // unsigned char char J17Timing; // for the J17 Output |
||
1538 | { param_WARN_J16_Bitmask , 1 }, // unsigned char char WARN_J16_Bitmask; // for the J16 Output |
||
1539 | { param_WARN_J17_Bitmask , 1 }, // unsigned char char WARN_J17_Bitmask; // for the J17 Output |
||
1540 | { param_AutoPhotoDistance , 1 }, // unsigned char char AutoPhotoDistance; // Auto Photo // ab Rev. 100 (ehemals NaviOut1Parameter) |
||
1541 | { param_NaviGpsModeChannel , 1 }, // unsigned char char NaviGpsModeChannel; // Parameters for the Naviboard |
||
1542 | { param_NaviGpsGain , 1 }, // unsigned char char NaviGpsGain; |
||
1543 | { param_NaviGpsP , 1 }, // unsigned char char NaviGpsP; |
||
1544 | { param_NaviGpsI , 1 }, // unsigned char char NaviGpsI; |
||
1545 | { param_NaviGpsD , 1 }, // unsigned char char NaviGpsD; |
||
1546 | { param_NaviGpsPLimit , 1 }, // unsigned char char NaviGpsPLimit; |
||
1547 | { param_NaviGpsILimit , 1 }, // unsigned char char NaviGpsILimit; |
||
1548 | { param_NaviGpsDLimit , 1 }, // unsigned char char NaviGpsDLimit; |
||
1549 | { param_NaviGpsA , 1 }, // unsigned char char NaviGpsA; |
||
1550 | { param_NaviGpsMinSat , 1 }, // unsigned char char NaviGpsMinSat; |
||
1551 | { param_NaviStickThreshold , 1 }, // unsigned char char NaviStickThreshold; |
||
1552 | { param_NaviWindCorrection , 1 }, // unsigned char char NaviWindCorrection; |
||
1553 | { param_NaviAccCompensation , 1 }, // unsigned char char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation |
||
1554 | { param_NaviMaxFlyingRange , 1 }, // unsigned char char NaviMaxFlyingRange; // in 10m |
||
1555 | { param_NaviAngleLimitation , 1 }, // unsigned char char NaviAngleLimitation; |
||
1556 | { param_NaviPH_LoginTime , 1 }, // unsigned char char NaviPH_LoginTime; |
||
1557 | { param_NaviDescendRange , 1 }, // unsigned char char NaviDescendRange; |
||
1558 | { param_ExternalControl , 1 }, // unsigned char char ExternalControl; // for serial Control |
||
1559 | { param_OrientationAngle , 1 }, // unsigned char char OrientationAngle; // Where is the front-direction? |
||
1560 | { param_CareFreeChannel , 1 }, // unsigned char char CareFreeChannel; // switch for CareFree |
||
1561 | { param_MotorSafetySwitch , 1 }, // unsigned char char MotorSafetySwitch; |
||
1562 | { param_MotorSmooth , 1 }, // unsigned char char MotorSmooth; |
||
1563 | { param_ComingHomeAltitude , 1 }, // unsigned char char ComingHomeAltitude; |
||
1564 | { param_FailSafeTime , 1 }, // unsigned char char FailSafeTime; |
||
1565 | { param_MaxAltitude , 1 }, // unsigned char char MaxAltitude; |
||
1566 | { param_FailsafeChannel , 1 }, // unsigned char char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost" |
||
1567 | { param_ServoFilterNick , 1 }, // unsigned char char ServoFilterNick; |
||
1568 | { param_ServoFilterRoll , 1 }, // unsigned char char ServoFilterRoll; |
||
1569 | { param_Servo3OnValue , 1 }, // unsigned char char Servo3OnValue; // ab Rev. 101 (FC 2.05f) |
||
1570 | { param_Servo3OffValue , 1 }, // unsigned char char Servo3OffValue; // ab Rev. 101 (FC 2.05f) |
||
1571 | { param_Servo4OnValue , 1 }, // unsigned char char Servo4OnValue; // ab Rev. 101 (FC 2.05f) |
||
1572 | { param_Servo4OffValue , 1 }, // unsigned char char Servo4OffValue; // ab Rev. 101 (FC 2.05f) |
||
1573 | { param_ServoFS_Pos , 5 }, // unsigned char ServoFS_Pos[5]; // ab Rev. 105 (FC 2.09i) |
||
1574 | { param_StartLandChannel , 1 }, // unsigned char char StartLandChannel; |
||
1575 | { param_LandingSpeed , 1 }, // unsigned char char LandingSpeed; |
||
1576 | { param_CompassOffset , 1 }, // unsigned char char CompassOffset; |
||
1577 | { param_AutoLandingVoltage , 1 }, // unsigned char char AutoLandingVoltage; // in 0,1V 0 -> disabled |
||
1578 | { param_ComingHomeVoltage , 1 }, // unsigned char char ComingHomeVoltage; // in 0,1V 0 -> disabled |
||
1579 | { param_AutoPhotoAtitudes , 1 }, // unsigned char char AutoPhotoAtitudes; // ab Rev. 100 |
||
1580 | { param_SingleWpSpeed , 1 }, // unsigned char char SingleWpSpeed; // ab Rev. 100 |
||
1581 | { param_LandingPulse , 1 }, // unsigned char char LandingPulse; // ab Rev. 104 (FC 2.09d) |
||
1582 | { param_SingleWpControlChannel , 1 }, // unsigned char SingleWpControlChannel; // ab Rev. 106 (FC2.11a) |
||
1583 | { param_MenuKeyChannel , 1 }, // unsigned char MenuKeyChannel; // ab Rev. 106 (FC2.11a) |
||
1584 | { param_BitConfig , 1 }, // unsigned char char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
||
1585 | { param_ServoCompInvert , 1 }, // unsigned char char ServoCompInvert; // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
||
1586 | { param_ExtraConfig , 1 }, // unsigned char char ExtraConfig; // bitcodiert |
||
1587 | { param_GlobalConfig3 , 1 }, // unsigned char char GlobalConfig3; // bitcodiert |
||
1588 | { param_Name , 12 }, // char Name[12]; |
||
1589 | { param_crc , 1 }, // unsigned char char crc; // must be the last byte! |
||
1590 | |||
1591 | { param_EOF , 0 } // END OF PARAM-LIST - MUST BE THE LAST!! |
||
1592 | |||
1593 | }; // end: paramset_106[] |
||
1594 | |||
1595 | |||
1596 | |||
1597 | |||
1598 | //############################################################################################# |
||
1599 | //# 1b. Zuweisungstabelle: Revision -> paramset_xxx |
||
1600 | //############################################################################################# |
||
1601 | |||
1602 | typedef struct |
||
1603 | { |
||
1604 | unsigned char Revision; |
||
1605 | const paramRevItem_t *RevisionTable; |
||
1606 | } paramsetRevMap_t; |
||
1607 | |||
1608 | #define MAPEOF 255 |
||
1609 | |||
1610 | |||
1611 | //---------------------------------------------------------------- |
||
1612 | // Mappingtabelle zwischen FC-Revision und Paramset-Tabelle |
||
1613 | // |
||
1614 | // Anmerkung bzgl. Groesse: |
||
1615 | // Angenommen man wuerde die Rev 97 bis 90 weglassen, dann |
||
1616 | // wuerde man ca. 1 KByte sparen |
||
1617 | //---------------------------------------------------------------- |
||
1618 | paramsetRevMap_t paramsetRevMap[] = |
||
1619 | { |
||
1620 | { 106 , paramset_106 }, // 2.11a |
||
1621 | { 105 , paramset_105 }, // 2.09j |
||
1622 | { 104 , paramset_104 }, // 2.09d |
||
1623 | { 103 , paramset_103 }, // 2.07f |
||
1624 | { 102 , paramset_102 }, // 2.05g (bis min. 2.06b) |
||
1625 | { 101 , paramset_101 }, // 2.05f (eingeschraenkte Unterstuetzung - ) nur in einer einzigen Betaversion vorhanden!) |
||
1626 | { 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) |
||
1627 | // Rev. 99: nicht vorhanden; ignorieren |
||
1628 | { 98 , paramset_098 }, // 2.03d |
||
1629 | { 97 , paramset_097 }, // 2.02b |
||
1630 | { 96 , paramset_095 }, // ??? (keine Struktur-Aenderung zu 095) |
||
1631 | { 95 , paramset_095 }, // 0.90L, 2.00a, 2.00e |
||
1632 | { 94 , paramset_094 }, // eingeschraenkte Unterstuetzung; 0.91a |
||
1633 | { 93 , paramset_093 }, // eingeschraenkte Unterstuetzung; 0.90e, 0.90g, 0.90j |
||
1634 | { 92 , paramset_093 }, // eingeschraenkte Unterstuetzung; 0.90d (keine Struktur-Aenderung zu 093) |
||
1635 | { 91 , paramset_091 }, // eingeschraenkte Unterstuetzung; 0.88m, 0.88n |
||
1636 | { 90 , paramset_091 }, // eingeschraenkte Unterstuetzung; 0.88e (keine Struktur-Aenderung zu 091) |
||
1637 | |||
1638 | { MAPEOF, 0 } // END OF LIST - MUST BE THE LAST!! |
||
1639 | }; |
||
1640 | |||
1641 | |||
1642 | |||
1643 | |||
1644 | //############################################################################################# |
||
1645 | //# 2. Konfigurationstabelle der paramSubID's (Bit- und Bytefelder) |
||
1646 | //############################################################################################# |
||
1647 | |||
1648 | //--------------------------------------- |
||
1649 | // struct: einzelnes Parameter-SubItem |
||
1650 | //--------------------------------------- |
||
1651 | typedef struct |
||
1652 | { |
||
1653 | unsigned char paramSubID; // groesser/gleich PARAMSUBITEMS |
||
1654 | unsigned char paramID; // -> mapping auf entsprechende paramID |
||
1655 | unsigned char subType; // SUBTYPE_BIT oder SUBTYPE_BYTE |
||
1656 | unsigned char subIndex; // bei SUBTYPE_BIT: Bitmask z.b. 0x02 |
||
1657 | // bei SUBTYPE_BYTE: index des Bytes (siehe param_Kanalbelegung) |
||
1658 | unsigned char von_Revision; // ab welcher FC-Revision ist das SubItem vorhanden (0=immer) |
||
1659 | unsigned char bis_Revision; // bis zu welcher FC-Revision ist das SubItem vorhanden (0=immer) |
||
1660 | } paramSubItem_t; |
||
1661 | |||
1662 | |||
1663 | //----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
||
1664 | // +- von_Revision |
||
1665 | // | |
||
1666 | // +- paramSubID +- gehoert zu? +- Bit/Byte? +- Bit/Byte der paramID | +- bis_Revision |
||
1667 | // | | | | | | |
||
1668 | //--|-----------------------------------------|----------------------|--------------|----------------------------------|--|---------------------------------------------- |
||
1669 | paramSubItem_t const paramSubItem[] PROGMEM = |
||
1670 | { |
||
1671 | { param_ServoCompInvert_SERVO_NICK_INV , param_ServoCompInvert, SUBTYPE_BIT, SERVO_NICK_INV , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: SVNick 0x01 |
||
1672 | { param_ServoCompInvert_SERVO_ROLL_INV , param_ServoCompInvert, SUBTYPE_BIT, SERVO_ROLL_INV , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: SVRoll 0x02 |
||
1673 | { param_ServoCompInvert_SERVO_RELATIVE , param_ServoCompInvert, SUBTYPE_BIT, SERVO_RELATIVE , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: SVRelMov 0x04 |
||
1674 | |||
1675 | { param_ExtraConfig_HeightLimit , param_ExtraConfig, SUBTYPE_BIT, CFG2_HEIGHT_LIMIT , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG2_HEIGHT_LIMIT 0x01 |
||
1676 | { 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 |
||
1677 | { param_ExtraConfig_VarioBeep , param_ExtraConfig, SUBTYPE_BIT, CFG2_VARIO_BEEP , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG2_VARIO_BEEP 0x02 |
||
1678 | { param_ExtraConfig_SensitiveRc , param_ExtraConfig, SUBTYPE_BIT, CFG_SENSITIVE_RC , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_SENSITIVE_RC 0x04 |
||
1679 | { param_ExtraConfig_33vReference , param_ExtraConfig, SUBTYPE_BIT, CFG_3_3V_REFERENCE , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_3_3V_REFERENCE 0x08 |
||
1680 | { param_ExtraConfig_NoRcOffBeeping , param_ExtraConfig, SUBTYPE_BIT, CFG_NO_RCOFF_BEEPING , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_NO_RCOFF_BEEPING 0x10 |
||
1681 | { param_ExtraConfig_GpsAid , param_ExtraConfig, SUBTYPE_BIT, CFG_GPS_AID , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_GPS_AID 0x20 |
||
1682 | { param_ExtraConfig_LearnableCarefree , param_ExtraConfig, SUBTYPE_BIT, CFG_LEARNABLE_CAREFREE , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_LEARNABLE_CAREFREE 0x40 |
||
1683 | { 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 |
||
1684 | |||
1685 | { param_BitConfig_LoopOben , param_BitConfig, SUBTYPE_BIT, CFG_LOOP_OBEN , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_LOOP_OBEN 0x01 |
||
1686 | { param_BitConfig_LoopUnten , param_BitConfig, SUBTYPE_BIT, CFG_LOOP_UNTEN , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_LOOP_UNTEN 0x02 |
||
1687 | { param_BitConfig_LoopLinks , param_BitConfig, SUBTYPE_BIT, CFG_LOOP_LINKS , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_LOOP_LINKS 0x04 |
||
1688 | { param_BitConfig_LoopRechts , param_BitConfig, SUBTYPE_BIT, CFG_LOOP_RECHTS , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_LOOP_RECHTS 0x08 |
||
1689 | { param_BitConfig_MotorBlink1 , param_BitConfig, SUBTYPE_BIT, CFG_MOTOR_BLINK1 , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_MOTOR_BLINK1 0x10 |
||
1690 | { param_BitConfig_MotorOffLed1 , param_BitConfig, SUBTYPE_BIT, CFG_MOTOR_OFF_LED1 , 0,101}, // SUBTYPE_BIT - mk-data-structs.h: CFG_MOTOR_OFF_LED1 0x20 |
||
1691 | { param_BitConfig_MotorOffLed2 , param_BitConfig, SUBTYPE_BIT, CFG_MOTOR_OFF_LED2 , 0,101}, // SUBTYPE_BIT - mk-data-structs.h: CFG_MOTOR_OFF_LED2 0x40 |
||
1692 | { param_BitConfig_MotorBlink2 , param_BitConfig, SUBTYPE_BIT, CFG_MOTOR_BLINK2 , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_MOTOR_BLINK2 0x80 |
||
1693 | |||
1694 | { 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 |
||
1695 | { param_GlobalConfig3_DphMaxRadius , param_GlobalConfig3, SUBTYPE_BIT, CFG3_DPH_MAX_RADIUS , 0,100}, // SUBTYPE_BIT - mk-data-structs.h: CFG3_DPH_MAX_RADIUS 0x02 |
||
1696 | { param_GlobalConfig3_VarioFailsafe , param_GlobalConfig3, SUBTYPE_BIT, CFG3_VARIO_FAILSAFE , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG3_VARIO_FAILSAFE 0x04 |
||
1697 | { param_GlobalConfig3_MotorSwitchMode , param_GlobalConfig3, SUBTYPE_BIT, CFG3_MOTOR_SWITCH_MODE , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG3_MOTOR_SWITCH_MODE 0x08 |
||
1698 | { 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 |
||
1699 | { 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 |
||
1700 | { param_GlobalConfig3_SpeakAll , param_GlobalConfig3, SUBTYPE_BIT, CFG3_SPEAK_ALL , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG3_SPEAK_ALL 0x40 |
||
1701 | { 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 |
||
1702 | |||
1703 | { param_GlobalConfig_HoehenRegelung , param_GlobalConfig, SUBTYPE_BIT, CFG_HOEHENREGELUNG , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_HOEHENREGELUNG 0x01 |
||
1704 | { param_GlobalConfig_HoehenSchalter , param_GlobalConfig, SUBTYPE_BIT, CFG_HOEHEN_SCHALTER , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_HOEHEN_SCHALTER 0x02 |
||
1705 | { param_GlobalConfig_HeadingHold , param_GlobalConfig, SUBTYPE_BIT, CFG_HEADING_HOLD , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_HEADING_HOLD 0x04 |
||
1706 | { param_GlobalConfig_KompassAktiv , param_GlobalConfig, SUBTYPE_BIT, CFG_KOMPASS_AKTIV , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_KOMPASS_AKTIV 0x08 |
||
1707 | { param_GlobalConfig_KompassFix , param_GlobalConfig, SUBTYPE_BIT, CFG_KOMPASS_FIX , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_KOMPASS_FIX 0x10 |
||
1708 | { param_GlobalConfig_GpsAktiv , param_GlobalConfig, SUBTYPE_BIT, CFG_GPS_AKTIV , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_GPS_AKTIV 0x20 |
||
1709 | { param_GlobalConfig_AchsenkopplungAktiv , param_GlobalConfig, SUBTYPE_BIT, CFG_ACHSENKOPPLUNG_AKTIV , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_ACHSENKOPPLUNG_AKTIV 0x40 |
||
1710 | { param_GlobalConfig_DrehratenBegrenzer , param_GlobalConfig, SUBTYPE_BIT, CFG_DREHRATEN_BEGRENZER , 0, 0}, // SUBTYPE_BIT - mk-data-structs.h: CFG_DREHRATEN_BEGRENZER 0x80 |
||
1711 | |||
1712 | { param_Kanalbelegung_Nick , param_Kanalbelegung, SUBTYPE_BYTE, 0 , 0, 0}, // -> Kanalbelegung[12] |
||
1713 | { param_Kanalbelegung_Roll , param_Kanalbelegung, SUBTYPE_BYTE, 1 , 0, 0}, |
||
1714 | { param_Kanalbelegung_Gas , param_Kanalbelegung, SUBTYPE_BYTE, 2 , 0, 0}, |
||
1715 | { param_Kanalbelegung_Gear , param_Kanalbelegung, SUBTYPE_BYTE, 3 , 0, 0}, |
||
1716 | { param_Kanalbelegung_Poti1 , param_Kanalbelegung, SUBTYPE_BYTE, 4 , 0, 0}, |
||
1717 | { param_Kanalbelegung_Poti2 , param_Kanalbelegung, SUBTYPE_BYTE, 5 , 0, 0}, |
||
1718 | { param_Kanalbelegung_Poti3 , param_Kanalbelegung, SUBTYPE_BYTE, 6 , 0, 0}, |
||
1719 | { param_Kanalbelegung_Poti4 , param_Kanalbelegung, SUBTYPE_BYTE, 7 , 0, 0}, |
||
1720 | { param_Kanalbelegung_Poti5 , param_Kanalbelegung, SUBTYPE_BYTE, 8 , 0, 0}, |
||
1721 | { param_Kanalbelegung_Poti6 , param_Kanalbelegung, SUBTYPE_BYTE, 9 , 0, 0}, |
||
1722 | { param_Kanalbelegung_Poti7 , param_Kanalbelegung, SUBTYPE_BYTE, 10 , 0, 0}, |
||
1723 | { param_Kanalbelegung_Poti8 , param_Kanalbelegung, SUBTYPE_BYTE, 11 , 0, 0}, |
||
1724 | |||
1725 | { param_CompassOffset_DisableDeclCalc , param_CompassOffset, SUBTYPE_BYTE, 0 , 0, 0}, // ist in Bit 8 und 7 von CompassOffset kodiert |
||
1726 | { param_ComingHomeOrientation , param_ServoCompInvert, SUBTYPE_BYTE, 0 , 0, 0}, // ist in Bit 5 und 4 von CervoCompInvert |
||
1727 | |||
1728 | { param_ServoNickFailsave , param_ServoFS_Pos, SUBTYPE_BYTE, 0 , 0, 0}, |
||
1729 | { param_ServoRollFailsave , param_ServoFS_Pos, SUBTYPE_BYTE, 1 , 0, 0}, |
||
1730 | { param_Servo3Failsave , param_ServoFS_Pos, SUBTYPE_BYTE, 2 , 0, 0}, |
||
1731 | { param_Servo4Failsave , param_ServoFS_Pos, SUBTYPE_BYTE, 3 , 0, 0}, |
||
1732 | { param_Servo5Failsave , param_ServoFS_Pos, SUBTYPE_BYTE, 4 , 0, 0}, |
||
1733 | |||
1734 | { param_EOF , 0,0,0,0,0 } // END - MUST BE THE LAST!! |
||
1735 | }; // end: paramSubItem[] |
||
1736 | |||
1737 | |||
1738 | |||
1739 | //############################################################################################# |
||
1740 | //# 3a. Transformations-Tabelle |
||
1741 | //############################################################################################# |
||
1742 | |||
1743 | //--------------------------------------- |
||
1744 | // struct: einzelnes Parameter-SubItem |
||
1745 | //--------------------------------------- |
||
1746 | typedef struct |
||
1747 | { |
||
1748 | unsigned char paramID; // paramID oder paramSubID |
||
1749 | unsigned char (*transformfunc)( uint8_t cmd, unsigned char value, unsigned char newvalue ); // Edit-Funktion (z.B. editGeneric()); cmd = CMD_EDIT oder CMD_SHORTVALUE |
||
1750 | } paramTransform_t; |
||
1751 | |||
1752 | |||
1753 | |||
1754 | //--------------------------------------- |
||
1755 | // forward Deklarationen fuer transform |
||
1756 | //--------------------------------------- |
||
1757 | unsigned char transform_CompassOffset_DisableDeclCalc( uint8_t cmd, unsigned char value, unsigned char newvalue ); |
||
1758 | unsigned char transform_ComingHomeOrientation( uint8_t cmd, unsigned char value, unsigned char newvalue ); |
||
1759 | //unsigned char transform_ValueACCZ( uint16_t cmd, uint16_t value, uint16_t newvalue ); |
||
1760 | |||
1761 | //--------------------------------------- |
||
1762 | //--------------------------------------- |
||
1763 | paramTransform_t const paramTransform[] = |
||
1764 | { |
||
1765 | { param_CompassOffset_DisableDeclCalc , &transform_CompassOffset_DisableDeclCalc }, |
||
1766 | { param_ComingHomeOrientation , &transform_ComingHomeOrientation }, |
||
1767 | // { param_LandingPulse, &transform_ValueACCZ}, |
||
1768 | |||
1769 | { param_EOF , NULL } // END - MUST BE THE LAST!! |
||
1770 | }; |
||
1771 | |||
1772 | |||
1773 | |||
1774 | |||
1775 | //############################################################################################# |
||
1776 | //# 3b. Transformations-Funktionen |
||
1777 | //############################################################################################# |
||
1778 | |||
1779 | //--------------------------------------- |
||
1780 | // transform_CompassOffset_DisableDeclCalc() |
||
1781 | // |
||
1782 | // PARAMETER: |
||
1783 | // cmd : GETVALUE || SETVALUE |
||
1784 | // value : |
||
1785 | // newvalue: nur wenn cmd == SETVALUE |
||
1786 | // |
||
1787 | // Der true/false (Ja/Nein) Wert von param_CompassOffset_DisableDeclCalc |
||
1788 | // ist in dem Byte von param_CompassOffset in den Bits 7 & 8 einkodiert. |
||
1789 | //--------------------------------------- |
||
1790 | unsigned char transform_CompassOffset_DisableDeclCalc( uint8_t cmd, unsigned char value, unsigned char newvalue ) |
||
1791 | { |
||
1792 | uint8_t bit7; |
||
1793 | uint8_t bit8; |
||
1794 | |||
1795 | bit7 = ((value & 0x40) ? true : false); |
||
1796 | bit8 = ((value & 0x80) ? true : false); |
||
1797 | |||
1798 | if( cmd == GETVALUE ) |
||
1799 | { |
||
1800 | // Bit 8 == Bit 7: Disable dec. Calc AUS |
||
1801 | // Bit 8 != Bit 7: Disable dec. Calc AN |
||
1802 | value = ((bit8 == bit7) ? 0 : 1); |
||
1803 | } |
||
1804 | |||
1805 | if( cmd == SETVALUE ) |
||
1806 | { |
||
1807 | if( newvalue ) bit8 = !bit7; // Bit 8 != Bit 7: Disable dec. Calc AN |
||
1808 | else bit8 = bit7; // Bit 8 == Bit 7: Disable dec. Calc AUS |
||
1809 | |||
1810 | if( bit8 ) value = (value | 0x80); // Bit 8 setzen |
||
1811 | else value = (value & (0x80 ^ 0xff)); // Bit 8 loeschen |
||
1812 | } |
||
1813 | |||
1814 | |||
1815 | //lcdx_printf_at_P( 0, 7, MINVERS, 0,0 , PSTR(" %d => %d "), value, newvalue ); |
||
1816 | |||
1817 | return value; |
||
1818 | } |
||
1819 | |||
1820 | //--------------------------------------- |
||
1821 | // transform_ComingHomeOrientation() |
||
1822 | // |
||
1823 | // PARAMETER: |
||
1824 | // cmd : GETVALUE || SETVALUE |
||
1825 | // value : |
||
1826 | // newvalue: nur wenn cmd == SETVALUE |
||
1827 | // |
||
1828 | // |
||
1829 | // ist in dem Byte von param_ServoCompInvert in den Bits 4 & 5 einkodiert, Bits 1-3 bleiben unverändert |
||
1830 | //--------------------------------------- |
||
1831 | |||
1832 | uint8_t save =0; // globale Variable zum Sichern des alten Byte ServoCompInvert Wertes |
||
1833 | |||
1834 | unsigned char transform_ComingHomeOrientation( uint8_t cmd, unsigned char value, unsigned char newvalue ) |
||
1835 | { |
||
1836 | |||
1837 | if( cmd == GETVALUE ) |
||
1838 | { |
||
1839 | save = value; // altes "gemeinsames" Byte ServoCompInvert sichern |
||
1840 | value =((value & 0x18) >> 3); // CominghomeOrientation Bits nach rechts verschieben |
||
1841 | } |
||
1842 | |||
1843 | if( cmd == SETVALUE ) |
||
1844 | { |
||
1845 | value = ((newvalue << 3)|(save & 0x07)); // CominghomeOrientation Bits nach links verschieben und "alte" Bits 1-3 wieder dazufügen |
||
1846 | } |
||
1847 | |||
1848 | |||
1849 | //lcdx_printf_at_P( 0, 7, MINVERS, 0,0 , PSTR(" %d => %d "), value, newvalue ); |
||
1850 | |||
1851 | return value; |
||
1852 | } |
||
1853 | |||
1854 | // |
||
1855 | // |
||
1856 | ////--------------------------------------- |
||
1857 | //// transform_ValueACCZ() |
||
1858 | //// |
||
1859 | //// PARAMETER: |
||
1860 | //// cmd : GETVALUE || SETVALUE |
||
1861 | //// value : |
||
1862 | //// newvalue: nur wenn cmd == SETVALUE |
||
1863 | //// |
||
1864 | //// |
||
1865 | //// ACC Z Landing Pulse Wert für die Anzeige x 4 |
||
1866 | ////--------------------------------------- |
||
1867 | // |
||
1868 | // |
||
1869 | //unsigned char transform_ValueACCZ( uint16_t cmd, uint16_t value, unint16_t newvalue ) |
||
1870 | // |
||
1871 | //uint16_t save16 =0; // globale Variable zum Sichern des alten Byte ServoCompInvert Wertes |
||
1872 | // |
||
1873 | //{ |
||
1874 | // if( cmd == GETVALUE ) |
||
1875 | // { |
||
1876 | // save16 = value; // altes Byte ACC Z Landing Pulse sichern |
||
1877 | // value = (value * 4); // Wert x 4 |
||
1878 | // } |
||
1879 | // |
||
1880 | // if( cmd == SETVALUE ) |
||
1881 | // { |
||
1882 | // value = (newvalue / 4); // Neuer Wert ACC Z Landingpulse /4 |
||
1883 | // } |
||
1884 | // |
||
1885 | // |
||
1886 | // return value; |
||
1887 | //} |
||
1888 | |||
1889 | //############################################################################################# |
||
1890 | //# 4a. interne Zugriffsfunktionen |
||
1891 | //############################################################################################# |
||
1892 | |||
1893 | //-------------------------------------------------------------- |
||
1894 | // INTERN |
||
1895 | // |
||
1896 | // Parameter: |
||
1897 | // paramSubID: 'echter' Parameter zum Suchen in paramSubItem[] zum |
||
1898 | // nachfolgeden Parameter geben das Suchergebnis zurueck |
||
1899 | // und sind alle 0 wenn nichts gefunden wurde |
||
1900 | // |
||
1901 | // Rueckgabe: |
||
1902 | // true/false |
||
1903 | //-------------------------------------------------------------- |
||
1904 | unsigned char _paramset_getsubitemid( unsigned char paramSubID, unsigned char *paramID, unsigned char *subType, unsigned char *subIndex ) |
||
1905 | { |
||
1906 | unsigned char id; |
||
1907 | unsigned char *p; |
||
1908 | unsigned char von_Revision; |
||
1909 | unsigned char bis_Revision; |
||
1910 | |||
1911 | *paramID = 0; |
||
1912 | *subType = 0; |
||
1913 | *subIndex = 0; |
||
1914 | |||
1915 | p = (unsigned char *) paramSubItem; |
||
1916 | |||
1917 | while( true ) |
||
1918 | { |
||
1919 | id = pgm_read_byte(p+0); // paramSubItem[..].paramSubID - die aktuelle paramSubID |
||
1920 | |||
1921 | if( (id == paramSubID) ) // gefunden? |
||
1922 | { |
||
1923 | von_Revision = pgm_read_byte(p+4); // paramSubItem[..].von_Revision; |
||
1924 | bis_Revision = pgm_read_byte(p+5); // paramSubItem[..].bis_Revision; |
||
1925 | |||
1926 | // in aktueller FC-Revision vorhanden? |
||
1927 | if( von_Revision && (MKVersion.paramsetRevision < von_Revision) ) return false; // passt nicht zur aktuellen FC-Revision -> exit |
||
1928 | if( bis_Revision && (MKVersion.paramsetRevision > bis_Revision) ) return false; // passt nicht zur aktuellen FC-Revision -> exit |
||
1929 | |||
1930 | *paramID = pgm_read_byte(p+1); // paramSubItem[..].paramID; |
||
1931 | *subType = pgm_read_byte(p+2); // paramSubItem[..].subType; |
||
1932 | *subIndex = pgm_read_byte(p+3); // paramSubItem[..].subIndex; |
||
1933 | return true; |
||
1934 | } |
||
1935 | |||
1936 | if( id == param_EOF ) break; |
||
1937 | |||
1938 | p += sizeof( paramSubItem_t ); |
||
1939 | } |
||
1940 | |||
1941 | return false; |
||
1942 | } |
||
1943 | |||
1944 | |||
1945 | |||
1946 | |||
1947 | //-------------------------------------------------------------- |
||
1948 | // INTERN |
||
1949 | // |
||
1950 | // Parameter: |
||
1951 | // retItemSize: false = offset zurueckgeben (normaler Modus) |
||
1952 | // true = size von paramID zurueckgeben (fuer paramSize()) |
||
1953 | //-------------------------------------------------------------- |
||
1954 | unsigned char _paramset_getoffsetX( unsigned char paramID, unsigned char retItemSize, unsigned char *subType, unsigned char *subIndex ) |
||
1955 | { |
||
1956 | unsigned char *p; |
||
1957 | unsigned char offset; |
||
1958 | unsigned char size; |
||
1959 | unsigned char this_paramID; |
||
1960 | unsigned char paramSubID; |
||
1961 | |||
1962 | *subType = SUBTYPE_NO; // =0 |
||
1963 | *subIndex = 0; |
||
1964 | |||
1965 | |||
1966 | size = 0; |
||
1967 | offset = param_NOTFOUND; |
||
1968 | |||
1969 | if( MKVersion.paramsetOK ) |
||
1970 | { |
||
1971 | //----------------------- |
||
1972 | // eine paramSubID wurde uebergeben |
||
1973 | // -> ermittle zugehoerige paramID! |
||
1974 | //----------------------- |
||
1975 | if( (paramID >= param_SUBITEM) && (paramID != param_EOF) ) |
||
1976 | { |
||
1977 | paramSubID = paramID; |
||
1978 | if( !_paramset_getsubitemid( paramSubID, ¶mID, subType, subIndex ) ) |
||
1979 | { |
||
1980 | // keine paramID gefunden... |
||
1981 | if( retItemSize ) return size; // size == 0 |
||
1982 | else return offset; // offset == param_NOTFOUND |
||
1983 | } |
||
1984 | } |
||
1985 | |||
1986 | |||
1987 | //----------------------- |
||
1988 | // paramID suchen |
||
1989 | //----------------------- |
||
1990 | offset = 0; |
||
1991 | |||
1992 | p = (unsigned char *) paramsetRevTable; |
||
1993 | |||
1994 | while( true ) |
||
1995 | { |
||
1996 | this_paramID = pgm_read_byte(p); // die aktuelle paramID |
||
1997 | size = pgm_read_byte(p+1); // size von paramID |
||
1998 | |||
1999 | // gefunden oder Ende |
||
2000 | if( (this_paramID == paramID) || (this_paramID == param_EOF) ) |
||
2001 | { |
||
2002 | break; |
||
2003 | } |
||
2004 | |||
2005 | offset += size; |
||
2006 | p += sizeof( paramRevItem_t ); |
||
2007 | } |
||
2008 | |||
2009 | |||
2010 | // paramID nicht gefunden? |
||
2011 | if( (this_paramID == param_EOF) && (paramID != param_EOF) ) |
||
2012 | { |
||
2013 | offset = param_NOTFOUND; |
||
2014 | size = 0; |
||
2015 | } |
||
2016 | |||
2017 | } |
||
2018 | |||
2019 | if( retItemSize ) return size; |
||
2020 | else return offset; |
||
2021 | } |
||
2022 | |||
2023 | |||
2024 | |||
2025 | //-------------------------------------------------------------- |
||
2026 | // INTERN |
||
2027 | // |
||
2028 | // Parameter: |
||
2029 | // retItemSize == false: offset zurueckgeben (normaler Modus) |
||
2030 | // retItemSize == true : size von paramID zurueckgeben |
||
2031 | // --> fuer paramSize() |
||
2032 | //-------------------------------------------------------------- |
||
2033 | unsigned char _paramset_getoffset( unsigned char paramID, unsigned char retItemSize ) |
||
2034 | { |
||
2035 | unsigned char subType; |
||
2036 | unsigned char subIndex; |
||
2037 | |||
2038 | return _paramset_getoffsetX( paramID, retItemSize, &subType, &subIndex ); |
||
2039 | } |
||
2040 | |||
2041 | |||
2042 | |||
2043 | //-------------------------------------------------------------- |
||
2044 | // INTERN |
||
2045 | // |
||
2046 | // sucht/prueft ob eine Transform-Funktion vorhanden ist |
||
2047 | // |
||
2048 | // RUECKGABE: |
||
2049 | // Index: (Num 0..n) auf paramTransform[] |
||
2050 | // => param_EOF (=255) wenn keine transform-Funktion vorhanden |
||
2051 | //-------------------------------------------------------------- |
||
2052 | unsigned char _paramset_gettransformIndex( unsigned char paramID ) |
||
2053 | { |
||
2054 | unsigned char i; |
||
2055 | |||
2056 | i = 0; |
||
2057 | while( paramTransform[i].paramID != param_EOF ) |
||
2058 | { |
||
2059 | if( paramTransform[i].paramID == paramID ) return i; |
||
2060 | if( paramTransform[i].paramID == param_EOF ) return param_EOF; |
||
2061 | i++; |
||
2062 | } |
||
2063 | |||
2064 | return param_EOF; |
||
2065 | } |
||
2066 | |||
2067 | |||
2068 | |||
2069 | //############################################################################################# |
||
2070 | //# 4b. oeffentliche Zugriffsfunktionen fuer paramID / paramSubID Elemente |
||
2071 | //# |
||
2072 | //# Hier sind die Getter/Setter um auf die einzelnen Werte der paramset-Struktur zuzugreifen. |
||
2073 | //# Dazu muss vorher das richtige paramset initialisert worden sein! |
||
2074 | //# |
||
2075 | //# ACHTUNG! |
||
2076 | //# Fuer die Daten wird direkt auf den RX-Buffer vom PKT zugegriffen! |
||
2077 | //# ==> der Buffer darf NICHT durch andere Datenpakete bereits wieder ueberschrieben worden sein! |
||
2078 | //# |
||
2079 | //# Anmerkung: |
||
2080 | //# Das obige 'Achtung' koennte man aendern durch eine Kopie des RX-Buffers. Das verbraucht |
||
2081 | //# zusaetzlichen RAM-Speicher -> probieren wir es erstmal so... |
||
2082 | //############################################################################################# |
||
2083 | |||
2084 | //-------------------------------------------------------------- |
||
2085 | // size = paramSize( paramID ) |
||
2086 | //-------------------------------------------------------------- |
||
2087 | unsigned char paramSize( unsigned char paramID ) |
||
2088 | { |
||
2089 | return( _paramset_getoffset(paramID,true) ); // true = size (in Bytes) der paramID zurueckgeben (nicht offset) |
||
2090 | } |
||
2091 | |||
2092 | |||
2093 | |||
2094 | //-------------------------------------------------------------- |
||
2095 | // exist = paramExist( paramID ) |
||
2096 | // |
||
2097 | // Rueckgabe: |
||
2098 | // true : die paramID existiert im aktuellen paramset |
||
2099 | // false : die paramID existiert nicht |
||
2100 | //-------------------------------------------------------------- |
||
2101 | unsigned char paramExist( unsigned char paramID ) |
||
2102 | { |
||
2103 | return( (_paramset_getoffset(paramID,true) != 0) ); // true = size (in Bytes) der paramID zurueckgeben (nicht offset) |
||
2104 | } |
||
2105 | |||
2106 | |||
2107 | |||
2108 | //-------------------------------------------------------------- |
||
2109 | // pointer = paramGet_p( paramID ) |
||
2110 | // |
||
2111 | // ACHTUNG! Nicht faehig fuer Transform! |
||
2112 | // |
||
2113 | // RUECKGABE: |
||
2114 | // pointer direkt auf~ein Byte im Parameterset |
||
2115 | // (paramSubID nicht moeglich!) |
||
2116 | //-------------------------------------------------------------- |
||
2117 | unsigned char *paramGet_p( unsigned char paramID ) |
||
2118 | { |
||
2119 | unsigned char offset; |
||
2120 | |||
2121 | offset = _paramset_getoffset( paramID, false ); // false = offset zurueckgeben |
||
2122 | |||
2123 | if( offset != param_NOTFOUND ) |
||
2124 | { |
||
2125 | return( (unsigned char *) (mkparamset + offset) ); // Rueckgabe: Pointer auf die Daten |
||
2126 | } |
||
2127 | return 0; |
||
2128 | } |
||
2129 | |||
2130 | |||
2131 | |||
2132 | //-------------------------------------------------------------- |
||
2133 | // value = paramGet( paramID ) |
||
2134 | // |
||
2135 | // holt den Wert von paramID. paramSubID's werden dabei |
||
2136 | // unterstuetzt (Bit- und Bytefelder). |
||
2137 | // |
||
2138 | // Bei Bit-Feldern (z.B. GlobalConfig3) wird eine enstprechende |
||
2139 | // Bit-Maskierung automatisch durchgefuehrt |
||
2140 | // Ergebnis: true (=1) oder false (=0)false (=0) |
||
2141 | // |
||
2142 | // Bei Byte-Feldern (z.B. Kanalbelegung) wird der Wert des |
||
2143 | // entsprechenden Byte's zurueckgegeben |
||
2144 | // |
||
2145 | // Hinweis: anhand des Rueckgabewertes kann nicht ueberprueft |
||
2146 | // werden ob die paramID gefunden wurde bzw. existiert! |
||
2147 | // -> ggf. erst mit paramExist() pruefen ob der Wert existiert! |
||
2148 | //-------------------------------------------------------------- |
||
2149 | unsigned char paramGet( unsigned char paramID ) |
||
2150 | { |
||
2151 | unsigned char offset; |
||
2152 | unsigned char subType; |
||
2153 | unsigned char subIndex; |
||
2154 | unsigned char value; |
||
2155 | unsigned char transformIdx; |
||
2156 | |||
2157 | offset = _paramset_getoffsetX( paramID, false, &subType, &subIndex ); // false = offset zurueckgeben |
||
2158 | |||
2159 | if( offset == param_NOTFOUND ) return false; // paramID nicht gefunden / nicht unterstuetzt |
||
2160 | |||
2161 | value = (unsigned char) *(mkparamset + offset); // offset Inhalt lesen (paramID) |
||
2162 | |||
2163 | //------------------- |
||
2164 | // subIndex: Bit |
||
2165 | //------------------- |
||
2166 | if( subType == SUBTYPE_BIT ) |
||
2167 | { |
||
2168 | value = ((value & subIndex) ? true : false); // Rueckgabe: true/false des gewaehlten Bit's |
||
2169 | } |
||
2170 | |||
2171 | //------------------- |
||
2172 | // subIndex: Bit negiert |
||
2173 | //------------------- |
||
2174 | if( subType == SUBTYPE_BITN ) |
||
2175 | { |
||
2176 | value = ((value & subIndex) ? false : true); // Rueckgabe: true/false des gewaehlten Bit's (negiert) |
||
2177 | } |
||
2178 | |||
2179 | //------------------- |
||
2180 | // subIndex: Byte |
||
2181 | //------------------- |
||
2182 | if( subType == SUBTYPE_BYTE ) |
||
2183 | { |
||
2184 | value = (unsigned char) *(mkparamset + (offset+subIndex)); // subIndex Inhalt lesen |
||
2185 | } |
||
2186 | |||
2187 | |||
2188 | //------------------- |
||
2189 | // Transform |
||
2190 | //------------------- |
||
2191 | transformIdx = _paramset_gettransformIndex( paramID ); |
||
2192 | if( transformIdx != param_EOF ) |
||
2193 | { |
||
2194 | value = paramTransform[transformIdx].transformfunc( GETVALUE, value, value); |
||
2195 | } |
||
2196 | |||
2197 | return value; // ubyte zurueckgeben |
||
2198 | } |
||
2199 | |||
2200 | |||
2201 | |||
2202 | //-------------------------------------------------------------- |
||
2203 | //-------------------------------------------------------------- |
||
2204 | unsigned char paramSet( unsigned char paramID, unsigned char newvalue ) |
||
2205 | { |
||
2206 | unsigned char offset; |
||
2207 | unsigned char subOffset = 0; |
||
2208 | unsigned char subType; |
||
2209 | unsigned char subIndex; |
||
2210 | unsigned char byte; |
||
2211 | unsigned char value; |
||
2212 | unsigned char transformIdx; |
||
2213 | |||
2214 | value = newvalue; |
||
2215 | |||
2216 | offset = _paramset_getoffsetX( paramID, false, &subType, &subIndex ); // false = offset zurueckgeben |
||
2217 | |||
2218 | if( offset == param_NOTFOUND ) return false; // paramID nicht gefunden / nicht unterstuetzt |
||
2219 | |||
2220 | //------------------- |
||
2221 | // subIndex: Bit |
||
2222 | //------------------- |
||
2223 | if( (subType == SUBTYPE_BIT) || (subType == SUBTYPE_BITN) ) |
||
2224 | { |
||
2225 | byte = (unsigned char) *(mkparamset + offset); // offset Inhalt lesen |
||
2226 | |||
2227 | if( subType == SUBTYPE_BITN ) // SUBTYPE_BITN = negiertes BIT |
||
2228 | value = (value ? false : true); // negieren |
||
2229 | |||
2230 | if(value) byte = byte | subIndex; // Bit setzen |
||
2231 | else byte = byte & (subIndex ^ 0xff); // Bit loeschen |
||
2232 | |||
2233 | value = byte; // neues Value fuer das gesamte Byte (mit eingerechnetem BIT) |
||
2234 | } |
||
2235 | |||
2236 | //------------------- |
||
2237 | // subIndex: Byte |
||
2238 | //------------------- |
||
2239 | if( subType == SUBTYPE_BYTE ) |
||
2240 | { |
||
2241 | subOffset = subIndex; // das 'verschobene' Byte (hier nur den Offset verschieben) |
||
2242 | } |
||
2243 | |||
2244 | |||
2245 | //------------------- |
||
2246 | // Transform |
||
2247 | //------------------- |
||
2248 | transformIdx = _paramset_gettransformIndex( paramID ); |
||
2249 | if( transformIdx != param_EOF ) |
||
2250 | { |
||
2251 | byte = (unsigned char) *(mkparamset + offset + subOffset); // offset Inhalt lesen |
||
2252 | value = paramTransform[transformIdx].transformfunc( SETVALUE, byte, newvalue); |
||
2253 | } |
||
2254 | |||
2255 | |||
2256 | //------------------- |
||
2257 | // Byte speichern |
||
2258 | //------------------- |
||
2259 | *(mkparamset + offset + subOffset) = value; |
||
2260 | return true; // OK |
||
2261 | } |
||
2262 | |||
2263 | |||
2264 | |||
2265 | |||
2266 | //############################################################################################# |
||
2267 | //# 4c. oeffentliche Zugriffsfunktionen fuer das gesamte Paramset (Int usw.) |
||
2268 | //# |
||
2269 | //# Init und Abfrage der Groesse in Bytes ddes gesamten Paramset's |
||
2270 | //############################################################################################# |
||
2271 | |||
2272 | |||
2273 | //-------------------------------------------------------------- |
||
2274 | // ok = paramsetInit( *pData ) |
||
2275 | // |
||
2276 | // Ermittelt zu einer empfangenen Revision die passende paramset-Tabelle |
||
2277 | // und setzt entsprechende Werte in MKVersion |
||
2278 | // |
||
2279 | // Wird von MK_load_setting() aufgerufen nach dem Einlesen der |
||
2280 | // MK-Parameter (Setting-Request 'q') |
||
2281 | // |
||
2282 | // Parameter: |
||
2283 | // *pData : Zeiger direkt auf den RX-Buffer des PKT |
||
2284 | // |
||
2285 | // Rueckgabe: |
||
2286 | // true : OK - Paramset ist initialisert; die aktuelle FC-Revision |
||
2287 | // steht in MKVersion.paramsetRevision |
||
2288 | // false : Fehler - keine passende paramset-Tabelle gefunden |
||
2289 | //-------------------------------------------------------------- |
||
2290 | unsigned char paramsetInit( unsigned char *pData ) |
||
2291 | { |
||
2292 | unsigned char i; |
||
2293 | unsigned char *p; |
||
2294 | |||
2295 | paramsetRevTable = 0; |
||
2296 | mkparamset = 0; |
||
2297 | MKVersion.paramsetOK = false; |
||
2298 | MKVersion.paramsetRevision = 0; |
||
2299 | MKVersion.mksetting = 0; |
||
2300 | MKVersion.mksettingName[0] = 0; |
||
2301 | |||
2302 | //-------------------------------------------------- |
||
2303 | // pData == 0 -> nur 'reset' der Daten |
||
2304 | //-------------------------------------------------- |
||
2305 | if( pData == 0 ) |
||
2306 | { |
||
2307 | return 0; |
||
2308 | } |
||
2309 | |||
2310 | //-------------------------------------------------- |
||
2311 | // diese beiden Werte koennen in jedem Fall gesetzt werden |
||
2312 | // unabhaengig ob das gefundene Parameterset vom PKT |
||
2313 | // unterstuetzt wird oder nicht |
||
2314 | //-------------------------------------------------- |
||
2315 | MKVersion.mksetting = (unsigned char) *pData; |
||
2316 | MKVersion.paramsetRevision = (unsigned char) *(pData + 1); |
||
2317 | |||
2318 | |||
2319 | //-------------------------------------------------- |
||
2320 | // FC-Revision in paramsetRevMap suchen |
||
2321 | //-------------------------------------------------- |
||
2322 | i = 0; |
||
2323 | while( true ) |
||
2324 | { |
||
2325 | if( (paramsetRevMap[i].Revision == MKVersion.paramsetRevision) || (paramsetRevMap[i].Revision == MAPEOF) ) |
||
2326 | break; |
||
2327 | i++; |
||
2328 | } |
||
2329 | |||
2330 | |||
2331 | //-------------------------------------- |
||
2332 | // Revision nicht gefunden -> return 0 |
||
2333 | //-------------------------------------- |
||
2334 | if( paramsetRevMap[i].Revision == MAPEOF ) |
||
2335 | { |
||
2336 | return 0; |
||
2337 | } |
||
2338 | |||
2339 | //-------------------------------------- |
||
2340 | // Revision gefunden |
||
2341 | //-------------------------------------- |
||
2342 | mkparamset = (unsigned char *) (pData + 1); |
||
2343 | paramsetRevTable = (paramRevItem_t *) paramsetRevMap[i].RevisionTable; |
||
2344 | MKVersion.paramsetOK = true; |
||
2345 | |||
2346 | |||
2347 | //-------------------------------------- |
||
2348 | // den aktuellen Setting-Namen kopieren |
||
2349 | // wird u.a. vom OSD verwendet |
||
2350 | //-------------------------------------- |
||
2351 | p = paramGet_p( param_Name ); |
||
2352 | if( p ) memcpy( MKVersion.mksettingName, p, 12 ); |
||
2353 | |||
2354 | return MKVersion.paramsetOK; |
||
2355 | } |
||
2356 | |||
2357 | |||
2358 | |||
2359 | //-------------------------------------------------------------- |
||
2360 | // size = paramsetSize() |
||
2361 | // |
||
2362 | // Gibt die Groesse des gesamten aktuellen Parameterset's |
||
2363 | // zurueck. Fuer Revision 098 z.B. 130 = 130 Bytes. |
||
2364 | // |
||
2365 | // Rueckgabe: |
||
2366 | // =0 : Fehler; nicht unterstuetzte FC-Revision oder nicht |
||
2367 | // initialisiert |
||
2368 | //-------------------------------------------------------------- |
||
2369 | unsigned char paramsetSize( void ) |
||
2370 | { |
||
2371 | if( MKVersion.paramsetOK ) |
||
2372 | return _paramset_getoffset( param_EOF, false ); // false = offset zurueckgeben; der offset von param_EOF entspricht der Groesse des paramSet's! |
||
2373 | else |
||
2374 | return 0; |
||
2375 | } |
||
2376 | |||
2377 | |||
2378 | |||
2379 | |||
2380 | |||
2381 | //############################################################################################# |
||
2382 | //# x. TEST / DEBUG |
||
2383 | //############################################################################################# |
||
2384 | |||
2385 | //-------------------------------------------------------------- |
||
2386 | // TEST / DEBUG |
||
2387 | //-------------------------------------------------------------- |
||
2388 | #ifdef DEBUG_PARAMSET |
||
2389 | void paramsetDEBUG( void ) |
||
2390 | { |
||
2391 | lcd_cls(); |
||
2392 | |||
2393 | //lcdx_printp_at( 0, 0, PSTR("NEW PARAM TEST..."), MNORMAL, 0,0); |
||
2394 | lcd_printp_at(12, 7, strGet(ENDE), MNORMAL); // Keyline |
||
2395 | |||
2396 | //memcpy( &MKVersion.NCVersion, (Version_t *) (pRxData), sizeof(MKVersion_t) ); |
||
2397 | |||
2398 | /* |
||
2399 | |||
2400 | typedef struct |
||
2401 | { |
||
2402 | Version_t NCVersion; // |
||
2403 | Version_t FCVersion; // |
||
2404 | unsigned char paramsetRevision; // von der FC |
||
2405 | unsigned char paramsetOk; // true wenn Revision in paramset.c vorhanden |
||
2406 | } MKVersion_t; |
||
2407 | |||
2408 | |||
2409 | //------------------------------------- |
||
2410 | // zur Orientierung: Version_t |
||
2411 | //------------------------------------- |
||
2412 | //typedef struct |
||
2413 | //{ |
||
2414 | // unsigned char SWMajor; |
||
2415 | // unsigned char SWMinor; |
||
2416 | // unsigned char ProtoMajor; |
||
2417 | // unsigned char ProtoMinor; |
||
2418 | // unsigned char SWPatch; |
||
2419 | // unsigned char HardwareError[5]; |
||
2420 | //} __attribute__((packed)) Version_t; |
||
2421 | */ |
||
2422 | |||
2423 | //setting = MK_Setting_load( 0xff, 20); // aktuelles MK Setting ermitteln |
||
2424 | MK_Setting_load( 0xff, 20); // aktuelles MK Setting ermitteln |
||
2425 | |||
2426 | //---------------------------------- |
||
2427 | // Anzeige: FC/NC Version |
||
2428 | //---------------------------------- |
||
2429 | lcdx_printp_at( 0, 0, PSTR("FC:"), MNORMAL, 0,0); |
||
2430 | MKVersion_print_at( 3, 0, FC, MNORMAL, 0,0); |
||
2431 | |||
2432 | lcdx_printp_at( 13, 0, PSTR("NC:"), MNORMAL, 0,0); |
||
2433 | MKVersion_print_at( 16, 0, NC, MNORMAL, 0,0); |
||
2434 | |||
2435 | |||
2436 | //---------------------------------- |
||
2437 | // Anzeige: FC Revision |
||
2438 | //---------------------------------- |
||
2439 | lcd_printf_at_P( 0, 1, MNORMAL, PSTR("Rev: %03u"), MKVersion.paramsetRevision ); |
||
2440 | if( MKVersion.paramsetOK ) |
||
2441 | lcdx_printp_at( 8, 1, PSTR(" ok!"), MINVERS, 0,0); |
||
2442 | else |
||
2443 | lcdx_printp_at( 8, 1, PSTR(" err"), MINVERS, 0,0); |
||
2444 | |||
2445 | // Size von paramset |
||
2446 | lcd_printf_at_P( 13, 1, MNORMAL, PSTR("Size=%3u"), paramsetSize() ); |
||
2447 | |||
2448 | |||
2449 | //---------------------------------- |
||
2450 | // Anzeige: aktuelles MK Setting |
||
2451 | //---------------------------------- |
||
2452 | //lcd_printf_at_P( 0, 2, MNORMAL, PSTR("Set:%2u %s"), MKVersion.mksetting, MKVersion.mksettingName ); |
||
2453 | |||
2454 | /* |
||
2455 | unsigned char *p; |
||
2456 | |||
2457 | p = paramGet_p( param_Name ); |
||
2458 | if( p ) |
||
2459 | { |
||
2460 | lcd_printf_at_P( 0, 3, MNORMAL, PSTR("%c"), *p ); |
||
2461 | p++; |
||
2462 | lcd_printf_at_P( 1, 3, MNORMAL, PSTR("%c"), *p ); |
||
2463 | p++; |
||
2464 | lcd_printf_at_P( 2, 3, MNORMAL, PSTR("%c"), *p ); |
||
2465 | } |
||
2466 | */ |
||
2467 | |||
2468 | //---------------------------------- |
||
2469 | //---------------------------------- |
||
2470 | |||
2471 | /* |
||
2472 | lcd_printf_at_P( 0, 3, MNORMAL, PSTR("Size Name:%3u"), paramSize(param_Name) ); |
||
2473 | lcd_printf_at_P( 0, 5, MNORMAL, PSTR("%c"), paramGet_UByte( param_Name ) ); |
||
2474 | paramSet_UByte( param_Name, 'x' ); |
||
2475 | lcd_printf_at_P( 3, 5, MNORMAL, PSTR("%c"), paramGet_UByte( param_Name ) ); |
||
2476 | */ |
||
2477 | |||
2478 | /* |
||
2479 | uint8_t v; |
||
2480 | v = MKVersion_Cmp( MKVersion.FCVer, 2,0,'f' ); |
||
2481 | |||
2482 | lcd_printf_at_P( 0, 4, MNORMAL, PSTR("v:%3u"), v ); |
||
2483 | */ |
||
2484 | |||
2485 | |||
2486 | /* |
||
2487 | unsigned char paramID = 1; |
||
2488 | unsigned char paramSubType = 1; |
||
2489 | unsigned char paramSubIndex =1; |
||
2490 | |||
2491 | _paramset_getsubitemid( param_GlobalConfig_DrehratenBegrenzer, ¶mID, ¶mSubType, ¶mSubIndex ); |
||
2492 | |||
2493 | //lcd_printf_at_P( 0, 4, MNORMAL, PSTR("ID:%u T:%u I:%u"), paramID, paramSubType, paramSubIndex ); |
||
2494 | */ |
||
2495 | |||
2496 | //#define param_ExtraConfig_NoRcOffBeeping 204 // SUBTYPE_BIT - mk-data-structs.h: CFG_NO_RCOFF_BEEPING 0x10 |
||
2497 | //#define param_ExtraConfig_GpsAid 205 // SUBTYPE_BIT - mk-data-structs.h: CFG_GPS_AID 0x20 |
||
2498 | //#define param_ExtraConfig_LearnableCarefree 206 // SUBTYPE_BIT - mk-data-structs.h: CFG_LEARNABLE_CAREFREE 0x40 |
||
2499 | //#define param_ExtraConfig_IgnoreMagErrAtStartup 207 // SUBTYPE_BIT - mk-data-structs.h: CFG_IGNORE_MAG_ERR_AT_STARTUP 0x80 |
||
2500 | |||
2501 | //#define param_GlobalConfig3_NoSdCardNoStart 220 // SUBTYPE_BIT - mk-data-structs.h: CFG3_NO_SDCARD_NO_START 0x01 |
||
2502 | //#define param_GlobalConfig3_NoGpsFixNoStart 224 // SUBTYPE_BIT - mk-data-structs.h: CFG3_NO_GPSFIX_NO_START 0x10 |
||
2503 | |||
2504 | //paramGet( unsigned char paramID ); |
||
2505 | |||
2506 | //lcd_printf_at_P( 0, 5, MNORMAL, PSTR("%u %u %u"), paramGet(param_ExtraConfig_NoRcOffBeeping), paramGet(param_GlobalConfig3_NoSdCardNoStart), paramGet(param_GlobalConfig3_NoGpsFixNoStart) ); |
||
2507 | |||
2508 | //#define param_Kanalbelegung_Gas 242 // SUBTYPE_BYTE - Kanalbelegung [2] (unsigned char) |
||
2509 | //#define param_Kanalbelegung_Gear 243 // SUBTYPE_BYTE - Kanalbelegung [3] (unsigned char) |
||
2510 | //#define param_Kanalbelegung_Nick 240 // SUBTYPE_BYTE - Kanalbelegung [0] (unsigned char) |
||
2511 | //#define param_Kanalbelegung_Roll 241 // SUBTYPE_BYTE - Kanalbelegung [1] (unsigned char) |
||
2512 | |||
2513 | // 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) ); |
||
2514 | |||
2515 | // lcd_printf_at_P( 0, 5, MNORMAL, PSTR("%u"), paramGet(param_Kanalbelegung) ); |
||
2516 | |||
2517 | |||
2518 | /* |
||
2519 | lcd_printf_at_P( 0, 4, MNORMAL, PSTR("%u %u %u"), paramGet(param_ExtraConfig_NoRcOffBeeping), paramGet(param_GlobalConfig3_NoSdCardNoStart), paramGet(param_GlobalConfig3_NoGpsFixNoStart) ); |
||
2520 | |||
2521 | unsigned char v; |
||
2522 | |||
2523 | v = paramGet(param_GlobalConfig3_NoSdCardNoStart); |
||
2524 | v = (v ? false : true); |
||
2525 | paramSet(param_GlobalConfig3_NoSdCardNoStart, v); |
||
2526 | |||
2527 | lcd_printf_at_P( 0, 5, MNORMAL, PSTR("%u %u %u"), paramGet(param_ExtraConfig_NoRcOffBeeping), paramGet(param_GlobalConfig3_NoSdCardNoStart), paramGet(param_GlobalConfig3_NoGpsFixNoStart) ); |
||
2528 | |||
2529 | v = paramGet(param_GlobalConfig3_NoSdCardNoStart); |
||
2530 | v = (v ? false : true); |
||
2531 | paramSet(param_GlobalConfig3_NoSdCardNoStart, v); |
||
2532 | |||
2533 | lcd_printf_at_P( 0, 6, MNORMAL, PSTR("%u %u %u"), paramGet(param_ExtraConfig_NoRcOffBeeping), paramGet(param_GlobalConfig3_NoSdCardNoStart), paramGet(param_GlobalConfig3_NoGpsFixNoStart) ); |
||
2534 | */ |
||
2535 | |||
2536 | /* |
||
2537 | lcd_printf_at_P( 0, 3, MNORMAL, PSTR("%u %u"), |
||
2538 | paramGet( param_Kanalbelegung_Gas ), |
||
2539 | paramGet( param_Kanalbelegung_Gear ) |
||
2540 | ); |
||
2541 | |||
2542 | lcd_printf_at_P( 0, 4, MNORMAL, PSTR("%u %u %u %u"), |
||
2543 | paramGet( param_Kanalbelegung_Poti1 ), |
||
2544 | paramGet( param_Kanalbelegung_Poti2 ), |
||
2545 | paramGet( param_Kanalbelegung_Poti3 ), |
||
2546 | paramGet( param_Kanalbelegung_Poti4 ) |
||
2547 | ); |
||
2548 | |||
2549 | lcd_printf_at_P( 0, 5, MNORMAL, PSTR("%u %u %u %u"), |
||
2550 | paramGet( param_Kanalbelegung_Poti5 ), |
||
2551 | paramGet( param_Kanalbelegung_Poti6 ), |
||
2552 | paramGet( param_Kanalbelegung_Poti7 ), |
||
2553 | paramGet( param_Kanalbelegung_Poti8 ) |
||
2554 | ); |
||
2555 | */ |
||
2556 | |||
2557 | // lcd_printf_at_P( 0, 3, MNORMAL, PSTR("HR:%u H-Limit:%u"), |
||
2558 | // paramGet( param_GlobalConfig_HoehenRegelung ), |
||
2559 | // paramGet( param_ExtraConfig_HeightLimit ) |
||
2560 | // ); |
||
2561 | |||
2562 | // lcd_printf_at_P( 0, 5, MNORMAL, PSTR("Auto-S-L:%u"), |
||
2563 | // paramGet( param_StartLandChannel ) |
||
2564 | // ); |
||
2565 | |||
2566 | lcd_printf_at_P( 0, 4, MNORMAL, PSTR("CH Orientation:%x"), paramGet( param_ServoCompInvert)); |
||
2567 | |||
2568 | lcd_printf_at_P( 0, 5, MNORMAL, PSTR("ACC Land pulse:%x"), paramGet( param_LandingPulse)); |
||
2569 | |||
2570 | |||
2571 | ; |
||
2572 | |||
2573 | while( true ) |
||
2574 | { |
||
2575 | PKT_CtrlHook(); |
||
2576 | if (get_key_press (1 << KEY_ESC)) |
||
2577 | { |
||
2578 | break; |
||
2579 | } |
||
2580 | } |
||
2581 | } |
||
2582 | #endif // #ifdef DEBUG_PARAMSET |
||
2583 |