Subversion Repositories Projects

Rev

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) 2012 Christian "Cebra" Brandtner, brandtner@brandtner.net *
5
 *   Copyright (C) 2012 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.h
36
//#
37
//# 16.07.2015 Cebra (PKT385a)
38
//# - add: #define param_SingleWpControlChannel (FC2.11a)
39
//#        #define param_MenuKeyChannel (FC2.11a)
40
//#
41
//# 09.04.2015 Cebra
42
//# - add:   #define param_ServoNickFailsave, #define param_ServoRollFailsave, #define param_Servo3Failsave
43
//#          #define param_Servo4Failsave, #define param_Servo5Failsave
44
//#
45
//# 26.01.2015 Cebra
46
//# - add:   #define param_ComingHomeOrientation  241  ab FC 209a im Wert ServoCompInvert, Bit4 + Bit5
47
//#
48
//# 26.09.2014 Cebra
49
//# - add: paramID fuer Rev.103  (FC 2.07f)
50
//#             -> param_Hoehe_TiltCompensation
51
//#
52
//# 08.04.2014 OG
53
//# - add: paramID's fuer Rev.102  (FC 2.05g)
54
//#             -> param_NaviMaxFlyingRange, param_NaviDescendRange
55
//#
56
//# 06.04.2014 OG
57
//# - add: paramID's fuer Rev.101
58
//#        -> param_Servo3OnValue, param_Servo3OffValue 
59
//#        -> param_Servo4OnValue, param_Servo4OffValue
60
//#
61
//# 28.03.2014 OG
62
//# - add: paramID's fuer Rev.100
63
//#        -> param_AutoPhotoDistance, param_AutoPhotoAtitudes
64
//#        -> param_SingleWpSpeed
65
//#
66
//# 26.03.2014 OG
67
//# - add: param_CompassOffset_DisableDeclCalc (Sub-Item)
68
//#
69
//# 27.02.2014 OG
70
//# - del: paramID's fuer FC-Revisionen < 95 entfernt
71
//#
72
//# 27.02.2014 OG
73
//# - chg: paramGet(), paramSet() - Unterstuetzen auch Bit- und Bytefelder
74
//#
75
//# 26.02.2014 OG
76
//# - add: defines fuer die Unterstuetzung von paramSubID's ergaenzt
77
//#        paramSubItems bieten direkten Zugriff auf Bit- und Bytefelder
78
//#        von paramID's - die paramSubItems wurde in die defines der
79
//#        paramID's integriert indem sie am Ende gelistet werden (>=160)
80
//# - chg: paramsetTest() umbenannt zu paramsetDEBUG()
81
//#
82
//# 25.02.2014 OG
83
//# - add: defines zu param_Kanalbelegung_xyz (240 bis 251)
84
//#
85
//# 14.02.2014 OG
86
//# - add: diverse Zugriffsfunktionen fuer paramID's und paramSet's 
87
//#
88
//# 05.02.2014 OG - NEU
89
//############################################################################
90
 
91
#ifndef _PARAMSET_H
92
#define _PARAMSET_H
93
 
94
 
95
//---------------------------
96
// Typ einer paramSubID
97
//---------------------------
98
#define SUBTYPE_NO      0   // keine paramSubID
99
#define SUBTYPE_BIT     1   // Bit-Feld (z.B. param_GlobalConfig)
100
#define SUBTYPE_BITN    2   // Bit-Feld (z.B. param_GlobalConfig) negiert! 
101
#define SUBTYPE_BYTE    3   // Byte-Feld (z.B. Kanalbelegung)
102
 
103
 
104
 
105
//########################################################################################################################################################
106
 
107
//----------------------------------------------------------------------------------------
108
// Die Reihenfolge ist egal - aber(!) darauf achten das keine ID doppelt vergeben wird!
109
// Wenn neue Feleder hinzukommen an das Ende (vor EOF - keine ID 255!) hinzufuegen!
110
// Bitte die Datentypen im Kommentar notieren!
111
//
112
// -> paramID
113
//----------------------------------------------------------------------------------------
114
#define param_Revision                          1       // unsigned char 
115
#define param_Kanalbelegung                     2       // unsigned char [12]   GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3
116
#define param_GlobalConfig                      3       // unsigned char        0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv
117
#define param_Hoehe_MinGas                      4       // unsigned char        Wert : 0-100
118
#define param_Luftdruck_D                       5       // unsigned char        Wert : 0-250
119
#define param_HoeheChannel                      6       // unsigned char        Wert : 0-32
120
#define param_Hoehe_P                           7       // unsigned char        Wert : 0-32
121
#define param_Hoehe_Verstaerkung                8       // unsigned char        Wert : 0-50
122
#define param_Hoehe_ACC_Wirkung                 9       // unsigned char        Wert : 0-250
123
#define param_Hoehe_HoverBand                   10      // unsigned char        Wert : 0-250
124
#define param_Hoehe_GPS_Z                       11      // unsigned char        Wert : 0-250
125
#define param_Hoehe_StickNeutralPoint           12      // unsigned char        Wert : 0-250
126
#define param_Stick_P                           13      // unsigned char        WERT : 0..20
127
#define param_Stick_D                           14      // unsigned char        WERT : 0..20
128
#define param_StickGier_P                       15      // unsigned char        Wert :
129
#define param_Gas_Min                           16      // unsigned char        Wert : 0-32
130
#define param_Gas_Max                           17      // unsigned char        Wert : 33-250
131
#define param_GyroAccFaktor                     18      // unsigned char        Wert : 1-64
132
#define param_KompassWirkung                    19      // unsigned char        Wert : 0-32
133
#define param_Gyro_P                            20      // unsigned char        Wert : 10-250
134
#define param_Gyro_I                            21      // unsigned char        Wert : 0-250
135
#define param_Gyro_D                            22      // unsigned char        Wert : 0-250
136
#define param_Gyro_Gier_P                       23      // unsigned char        Wert : 10-250
137
#define param_Gyro_Gier_I                       24      // unsigned char        Wert : 0-250
138
#define param_Gyro_Stability                    25      // unsigned char        Wert : 0-16
139
#define param_UnterspannungsWarnung             26      // unsigned char        Wert : 0-250
140
#define param_NotGas                            27      // unsigned char        Wert : 0-250     //Gaswert bei Empängsverlust
141
#define param_NotGasZeit                        28      // unsigned char        Wert : 0-250     // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen
142
#define param_Receiver                          29      // unsigned char        0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D
143
#define param_I_Faktor                          30      // unsigned char        Wert : 0-250
144
#define param_UserParam1                        31      // unsigned char        Wert : 0-250
145
#define param_UserParam2                        32      // unsigned char        Wert : 0-250
146
#define param_UserParam3                        33      // unsigned char        Wert : 0-250
147
#define param_UserParam4                        34      // unsigned char        Wert : 0-250
148
#define param_ServoNickControl                  35      // unsigned char        Wert : 0-250     // Stellung des Servos
149
#define param_ServoNickComp                     36      // unsigned char        Wert : 0-250     // Einfluss Gyro/Servo
150
#define param_ServoNickMin                      37      // unsigned char        Wert : 0-250     // Anschlag
151
#define param_ServoNickMax                      38      // unsigned char        Wert : 0-250     // Anschlag
152
#define param_ServoRollControl                  39      // unsigned char        Wert : 0-250     // Stellung des Servos
153
#define param_ServoRollComp                     40      // unsigned char        Wert : 0-250
154
#define param_ServoRollMin                      41      // unsigned char        Wert : 0-250
155
#define param_ServoRollMax                      42      // unsigned char        Wert : 0-250
156
#define param_ServoNickRefresh                  43      // unsigned char        Speed of the Servo
157
#define param_ServoManualControlSpeed           44      // unsigned char 
158
#define param_CamOrientation                    45      // unsigned char 
159
#define param_Servo3                            46      // unsigned char        Value or mapping of the Servo Output
160
#define param_Servo4                            47      // unsigned char        Value or mapping of the Servo Output
161
#define param_Servo5                            48      // unsigned char        Value or mapping of the Servo Output
162
#define param_LoopGasLimit                      49      // unsigned char        Wert: 0-250  max. Gas während Looping
163
#define param_LoopThreshold                     50      // unsigned char        Wert: 0-250  Schwelle für Stickausschlag
164
#define param_LoopHysterese                     51      // unsigned char        Wert: 0-250  Hysterese für Stickausschlag
165
#define param_AchsKopplung1                     52      // unsigned char        Wert: 0-250  Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung)
166
#define param_AchsKopplung2                     53      // unsigned char        Wert: 0-250  Faktor, mit dem Nick und Roll verkoppelt werden
167
#define param_CouplingYawCorrection             54      // unsigned char        Wert: 0-250  Faktor, mit dem Nick und Roll verkoppelt werden
168
#define param_WinkelUmschlagNick                55      // unsigned char        Wert: 0-250  180°-Punkt
169
#define param_WinkelUmschlagRoll                56      // unsigned char        Wert: 0-250  180°-Punkt
170
#define param_GyroAccAbgleich                   57      // unsigned char        1/k  (Koppel_ACC_Wirkung)
171
#define param_Driftkomp                         58      // unsigned char 
172
#define param_DynamicStability                  59      // unsigned char 
173
#define param_UserParam5                        60      // unsigned char        Wert : 0-250
174
#define param_UserParam6                        61      // unsigned char        Wert : 0-250
175
#define param_UserParam7                        62      // unsigned char        Wert : 0-250
176
#define param_UserParam8                        63      // unsigned char        Wert : 0-250
177
#define param_J16Bitmask                        64      // unsigned char        for the J16 Output
178
#define param_J16Timing                         65      // unsigned char        for the J16 Output
179
#define param_J17Bitmask                        66      // unsigned char        for the J17 Output
180
#define param_J17Timing                         67      // unsigned char        for the J17 Output
181
#define param_WARN_J16_Bitmask                  68      // unsigned char        for the J16 Output
182
#define param_WARN_J17_Bitmask                  69      // unsigned char        for the J17 Output
183
#define param_NaviOut1Parameter                 70      // unsigned char        for the J16 Output
184
#define param_NaviGpsModeChannel                71      // unsigned char        Parameters for the Naviboard
185
#define param_NaviGpsGain                       72      // unsigned char 
186
#define param_NaviGpsP                          73      // unsigned char 
187
#define param_NaviGpsI                          74      // unsigned char 
188
#define param_NaviGpsD                          75      // unsigned char 
189
#define param_NaviGpsPLimit                     76      // unsigned char 
190
#define param_NaviGpsILimit                     77      // unsigned char 
191
#define param_NaviGpsDLimit                     78      // unsigned char 
192
#define param_NaviGpsA                          79      // unsigned char 
193
#define param_NaviGpsMinSat                     80      // unsigned char 
194
#define param_NaviStickThreshold                81      // unsigned char 
195
#define param_NaviWindCorrection                82      // unsigned char 
196
#define param_NaviAccCompensation               83      // unsigned char        New since 0.86 -> was: SpeedCompensation
197
#define param_NaviOperatingRadius               84      // unsigned char                bis Rev. 101
198
#define param_NaviAngleLimitation               85      // unsigned char 
199
#define param_NaviPH_LoginTime                  86      // unsigned char 
200
#define param_ExternalControl                   87      // unsigned char        for serial Control
201
#define param_OrientationAngle                  88      // unsigned char        Where is the front-direction?
202
#define param_CareFreeChannel                   89      // unsigned char        switch for CareFree
203
#define param_MotorSafetySwitch                 90      // unsigned char 
204
#define param_MotorSmooth                       91      // unsigned char 
205
#define param_ComingHomeAltitude                92      // unsigned char 
206
#define param_FailSafeTime                      93      // unsigned char 
207
#define param_MaxAltitude                       94      // unsigned char 
208
#define param_FailsafeChannel                   95      // unsigned char        if the value of this channel is > 100, the MK reports "RC-Lost"
209
#define param_ServoFilterNick                   96      // unsigned char 
210
#define param_ServoFilterRoll                   97      // unsigned char 
211
#define param_StartLandChannel                  98      // unsigned char 
212
#define param_LandingSpeed                      99      // unsigned char 
213
#define param_CompassOffset                     100     // unsigned char     
214
#define param_AutoLandingVoltage                101     // unsigned char        in 0,1V  0 -> disabled
215
#define param_ComingHomeVoltage                 102     // unsigned char        in 0,1V  0 -> disabled
216
#define param_BitConfig                         103     // unsigned char        (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt
217
#define param_ServoCompInvert                   104     // unsigned char        0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen
218
#define param_ExtraConfig                       105     // unsigned char        bitcodiert
219
#define param_GlobalConfig3                     106     // unsigned char        bitcodiert
220
#define param_Name                              107     // char [12]            Name vom Parameterset
221
#define param_crc                               108     // unsigned char        
222
#define param_AutoPhotoDistance                 109     // unsigned char        ab Rev. 100 (ersetzt NaviOut1Parameter) // Auto Photo
223
#define param_AutoPhotoAtitudes                 110     // unsigned char        ab Rev. 100 
224
#define param_SingleWpSpeed                     111     // unsigned char        ab Rev. 100 
225
#define param_Servo3OnValue                     112     // unsigned char        ab Rev. 101  (FC 2.05f)
226
#define param_Servo3OffValue                    113     // unsigned char        ab Rev. 101  (FC 2.05f)
227
#define param_Servo4OnValue                     114     // unsigned char        ab Rev. 101  (FC 2.05f)
228
#define param_Servo4OffValue                    115     // unsigned char        ab Rev. 101  (FC 2.05f)
229
#define param_NaviMaxFlyingRange                116     // unsigned char        ab Rev. 102  (FC 2.05g)  (ersetzt NaviOperatingRadius)          // in 10m
230
#define param_NaviDescendRange                  117     // unsigned char        ab Rev. 102  (FC 2.05g)
231
#define param_Hoehe_TiltCompensation            118     // unsigned char        ab Rev. 103  (FC 2.07f)
232
#define param_LandingPulse                      119     // unsigned char        ab Rev. 104  (FC 2.09d)
233
#define param_ServoFS_Pos                       120     // unsigned char [5]    ServoNickFailsave[0],ServoRollFailsave[1],Servo3Failsave[2],Servo4Failsave[3],Servo5Failsave[4]  ab Rev. 105  (FC 2.09i)
234
#define param_SingleWpControlChannel            121     // unsigned char        ab Rev. 106  (FC 2.11a)
235
#define param_MenuKeyChannel                    122     // unsigned char        ab Rev. 106  (FC 2.11a)
236
 
237
//------- ^^^ HIER NEUE paramID's einfuegen! ^^^
238
 
239
 
240
// ab hier sind Sub-Items zu einer paramID definiert
241
// - einige paramID's werden nochmals untergliedert in Bit- oder Bytefelder
242
// - die Zuordnung der Sub-Items zu paramID's erfolgt in paramset.c
243
#define param_SUBITEM                           160     // <- ab diesem Wert handelt es sich um ein paramSubID und nicht um eine paramID
244
 
245
#define param_Kanalbelegung_Nick                170      // SUBTYPE_BYTE - Kanalbelegung [0] (unsigned char) 
246
#define param_Kanalbelegung_Roll                171      // SUBTYPE_BYTE - Kanalbelegung [1] (unsigned char) 
247
#define param_Kanalbelegung_Gas                 172      // SUBTYPE_BYTE - Kanalbelegung [2] (unsigned char) 
248
#define param_Kanalbelegung_Gear                173      // SUBTYPE_BYTE - Kanalbelegung [3] (unsigned char) 
249
#define param_Kanalbelegung_Poti1               174      // SUBTYPE_BYTE - Kanalbelegung [4] (unsigned char) 
250
#define param_Kanalbelegung_Poti2               175      // SUBTYPE_BYTE - Kanalbelegung [5] (unsigned char) 
251
#define param_Kanalbelegung_Poti3               176      // SUBTYPE_BYTE - Kanalbelegung [6] (unsigned char) 
252
#define param_Kanalbelegung_Poti4               177      // SUBTYPE_BYTE - Kanalbelegung [7] (unsigned char) 
253
#define param_Kanalbelegung_Poti5               178      // SUBTYPE_BYTE - Kanalbelegung [8] (unsigned char) 
254
#define param_Kanalbelegung_Poti6               179      // SUBTYPE_BYTE - Kanalbelegung [9] (unsigned char) 
255
#define param_Kanalbelegung_Poti7               180      // SUBTYPE_BYTE - Kanalbelegung [10] (unsigned char) 
256
#define param_Kanalbelegung_Poti8               181      // SUBTYPE_BYTE - Kanalbelegung [11] (unsigned char) 
257
 
258
#define param_ServoCompInvert_SERVO_NICK_INV    190      // SUBTYPE_BIT - mk-data-structs.h: SVNick                        0x01
259
#define param_ServoCompInvert_SERVO_ROLL_INV    191      // SUBTYPE_BIT - mk-data-structs.h: SVRoll                        0x02
260
#define param_ServoCompInvert_SERVO_RELATIVE    192      // SUBTYPE_BIT - mk-data-structs.h: SVRelMov                      0x04
261
 
262
 
263
#define param_ExtraConfig_HeightLimit           200      // SUBTYPE_BIT - mk-data-structs.h: CFG2_HEIGHT_LIMIT             0x01
264
#define param_ExtraConfig_HeightVario           201      // SUBTYPE_BIT - mk-data-structs.h: CFG2_HEIGHT_LIMIT             0x01  ist negiert zu param_ExtraConfig_HeightLimit
265
#define param_ExtraConfig_VarioBeep             202      // SUBTYPE_BIT - mk-data-structs.h: CFG2_VARIO_BEEP               0x02
266
#define param_ExtraConfig_SensitiveRc           203      // SUBTYPE_BIT - mk-data-structs.h: CFG_SENSITIVE_RC              0x04
267
#define param_ExtraConfig_33vReference          204      // SUBTYPE_BIT - mk-data-structs.h: CFG_3_3V_REFERENCE            0x08
268
#define param_ExtraConfig_NoRcOffBeeping        205      // SUBTYPE_BIT - mk-data-structs.h: CFG_NO_RCOFF_BEEPING          0x10
269
#define param_ExtraConfig_GpsAid                206      // SUBTYPE_BIT - mk-data-structs.h: CFG_GPS_AID                   0x20
270
#define param_ExtraConfig_LearnableCarefree     207      // SUBTYPE_BIT - mk-data-structs.h: CFG_LEARNABLE_CAREFREE        0x40
271
#define param_ExtraConfig_IgnoreMagErrAtStartup 208      // SUBTYPE_BIT - mk-data-structs.h: CFG_IGNORE_MAG_ERR_AT_STARTUP 0x80
272
 
273
 
274
#define param_BitConfig_LoopOben                210      // SUBTYPE_BIT - mk-data-structs.h: CFG_LOOP_OBEN                 0x01
275
#define param_BitConfig_LoopUnten               211      // SUBTYPE_BIT - mk-data-structs.h: CFG_LOOP_UNTEN                0x02
276
#define param_BitConfig_LoopLinks               212      // SUBTYPE_BIT - mk-data-structs.h: CFG_LOOP_LINKS                0x04
277
#define param_BitConfig_LoopRechts              213      // SUBTYPE_BIT - mk-data-structs.h: CFG_LOOP_RECHTS               0x08
278
#define param_BitConfig_MotorBlink1             214      // SUBTYPE_BIT - mk-data-structs.h: CFG_MOTOR_BLINK1              0x10
279
#define param_BitConfig_MotorOffLed1            215      // SUBTYPE_BIT - mk-data-structs.h: CFG_MOTOR_OFF_LED1            0x20
280
#define param_BitConfig_MotorOffLed2            216      // SUBTYPE_BIT - mk-data-structs.h: CFG_MOTOR_OFF_LED2            0x40
281
#define param_BitConfig_MotorBlink2             217      // SUBTYPE_BIT - mk-data-structs.h: CFG_MOTOR_BLINK2              0x80
282
 
283
#define param_GlobalConfig3_NoSdCardNoStart     220      // SUBTYPE_BIT - mk-data-structs.h: CFG3_NO_SDCARD_NO_START       0x01
284
#define param_GlobalConfig3_DphMaxRadius        221      // SUBTYPE_BIT - mk-data-structs.h: CFG3_DPH_MAX_RADIUS           0x02 nur bis Rev 101
285
#define param_GlobalConfig3_VarioFailsafe       222      // SUBTYPE_BIT - mk-data-structs.h: CFG3_VARIO_FAILSAFE           0x04
286
#define param_GlobalConfig3_MotorSwitchMode     223      // SUBTYPE_BIT - mk-data-structs.h: CFG3_MOTOR_SWITCH_MODE        0x08
287
#define param_GlobalConfig3_NoGpsFixNoStart     224      // SUBTYPE_BIT - mk-data-structs.h: CFG3_NO_GPSFIX_NO_START       0x10
288
#define param_GlobalConfig3_UseNcForOut1        225      // SUBTYPE_BIT - mk-data-structs.h: CFG3_USE_NC_FOR_OUT1          0x20
289
#define param_GlobalConfig3_SpeakAll            226      // SUBTYPE_BIT - mk-data-structs.h: CFG3_SPEAK_ALL                0x40
290
#define param_GlobalConfig3_ServoNickCompOff    227      // SUBTYPE_BIT - mk-data-structs.h: CFG3_SERVO_NICK_COMP_OFF      0x80
291
 
292
#define param_GlobalConfig_HoehenRegelung       230      // SUBTYPE_BIT - mk-data-structs.h: CFG_HOEHENREGELUNG            0x01
293
#define param_GlobalConfig_HoehenSchalter       231      // SUBTYPE_BIT - mk-data-structs.h: CFG_HOEHEN_SCHALTER           0x02
294
#define param_GlobalConfig_HeadingHold          232      // SUBTYPE_BIT - mk-data-structs.h: CFG_HEADING_HOLD              0x04
295
#define param_GlobalConfig_KompassAktiv         233      // SUBTYPE_BIT - mk-data-structs.h: CFG_KOMPASS_AKTIV             0x08
296
#define param_GlobalConfig_KompassFix           234      // SUBTYPE_BIT - mk-data-structs.h: CFG_KOMPASS_FIX               0x10
297
#define param_GlobalConfig_GpsAktiv             235      // SUBTYPE_BIT - mk-data-structs.h: CFG_GPS_AKTIV                 0x20
298
#define param_GlobalConfig_AchsenkopplungAktiv  236      // SUBTYPE_BIT - mk-data-structs.h: CFG_ACHSENKOPPLUNG_AKTIV      0x40
299
#define param_GlobalConfig_DrehratenBegrenzer   237      // SUBTYPE_BIT - mk-data-structs.h: CFG_DREHRATEN_BEGRENZER       0x80
300
#define param_ServoNickFailsave                 238      // SUBTYPE_BYTE- mk-data-structs.h: ServoFS_Pos[0]                     ab FC 2.09j
301
#define param_ServoRollFailsave                 239      // SUBTYPE_BYTE- mk-data-structs.h: ServoFS_Pos[1]                     ab FC 2.09j
302
#define param_Servo3Failsave                    240      // SUBTYPE_BYTE- mk-data-structs.h: ServoFS_Pos[2]                     ab FC 2.09j
303
#define param_Servo4Failsave                    241      // SUBTYPE_BYTE- mk-data-structs.h: ServoFS_Pos[3]                     ab FC 2.09j
304
#define param_Servo5Failsave                    242      // SUBTYPE_BYTE- mk-data-structs.h: ServoFS_Pos[4]                     ab FC 2.09j
305
 
306
 
307
 
308
 
309
// hier: spezielle Subitems
310
#define param_CompassOffset_DisableDeclCalc     243      // wird gemappt auf: param_CompassOffset - der Wert ist dort in Bit 8 und 7 kodiert
311
#define param_ComingHomeOrientation             244      // unsigned char        0x08, 0x10, Bits im Feld ServoCompInvert
312
 
313
 
314
 
315
 
316
 
317
//---------------------------------------------------------------------------------------
318
// IMMER am Ende!!
319
#define param_DUMMY                             254      // DO NOT CHANGE! DUMMY        => spacer werte
320
#define param_EOF                               255      // DO NOT CHANGE! EOF          => markiert das Ende von paramID-Listen
321
#define param_NOTFOUND                          255      // DO NOT CHANGE! NOTFOUND     => kein paramID gefunden
322
 
323
//########################################################################################################################################################
324
 
325
 
326
 
327
//---------------------------
328
// struct: einzelnes Parameter-Item
329
//---------------------------
330
typedef struct
331
{  
332
    unsigned char paramID;
333
    unsigned char size;
334
} paramRevItem_t;
335
 
336
 
337
 
338
 
339
//---------------------------
340
// exportierte Funktionen
341
//---------------------------
342
unsigned char paramsetInit( unsigned char *pData );
343
unsigned char paramsetSize( void );
344
 
345
unsigned char paramExist( unsigned char paramID );
346
unsigned char paramSize( unsigned char paramID );
347
unsigned char paramGet( unsigned char paramID );
348
unsigned char paramSet( unsigned char paramID, unsigned char newvalue );
349
unsigned char *paramGet_p( unsigned char paramID );
350
 
351
 
352
 
353
 
354
// TEST / DEBUG
355
void paramsetDEBUG( void );
356
 
357
#endif  // _PARAMSET_H