Subversion Repositories NaviCtrl

Rev

Rev 690 | Rev 699 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 690 Rev 693
Line 103... Line 103...
103
extern u8 NC_To_FC_Flags, NC_To_FC_Autostart;
103
extern u8 NC_To_FC_Flags, NC_To_FC_Autostart;
104
extern u16 FlugMinutenGesamt;
104
extern u16 FlugMinutenGesamt;
105
extern u32 LoggingGasFilter, LoggingGasCnt;
105
extern u32 LoggingGasFilter, LoggingGasCnt;
106
extern u8 HoverGas;
106
extern u8 HoverGas;
107
extern s16 FromFlightCtrl_AccNick,FromFlightCtrl_AccRoll,FromFlightCtrl_GyroNick,FromFlightCtrl_GyroRoll;
107
extern s16 FromFlightCtrl_AccNick,FromFlightCtrl_AccRoll,FromFlightCtrl_GyroNick,FromFlightCtrl_GyroRoll;
-
 
108
extern u8 RequestConfigFromFC;
Line 108... Line 109...
108
 
109
 
109
typedef struct
110
typedef struct
110
{
111
{
111
        u8   Command;
112
        u8   Command;
Line 207... Line 208...
207
   u8 Patch;
208
   u8 Patch;
208
   u8 Compatible;
209
   u8 Compatible;
209
   u8 Hardware;
210
   u8 Hardware;
210
} __attribute__((packed)) SPI_Version_t;
211
} __attribute__((packed)) SPI_Version_t;
Line -... Line 212...
-
 
212
 
211
 
213
 
212
extern FromFlightCtrl_t   FromFlightCtrl;
214
extern FromFlightCtrl_t   FromFlightCtrl;
213
extern ToFlightCtrl_t     ToFlightCtrl;
215
extern ToFlightCtrl_t     ToFlightCtrl;
214
extern volatile u32 SPI0_Timeout;
216
extern volatile u32 SPI0_Timeout;
215
extern SPI_Version_t FC_Version;
217
extern SPI_Version_t FC_Version;
Line 221... Line 223...
221
void SPI0_Init(void);
223
void SPI0_Init(void);
222
void SPI0_GetFlightCtrlVersion(void);
224
void SPI0_GetFlightCtrlVersion(void);
223
void SPI0_UpdateBuffer(void);
225
void SPI0_UpdateBuffer(void);
224
u16 BL3_Current(u8 who); // in 0.1A
226
u16 BL3_Current(u8 who); // in 0.1A
Line -... Line 227...
-
 
227
 
-
 
228
typedef struct
-
 
229
{
-
 
230
        unsigned char Revision;
-
 
231
        unsigned char Kanalbelegung[12];       // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3
-
 
232
        unsigned char GlobalConfig;           // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv
-
 
233
        unsigned char Hoehe_MinGas;           // Wert : 0-100
-
 
234
        unsigned char Luftdruck_D;            // Wert : 0-250
-
 
235
        unsigned char HoeheChannel;           // Wert : 0-32
-
 
236
        unsigned char Hoehe_P;                // Wert : 0-32
-
 
237
        unsigned char Hoehe_Verstaerkung;     // Wert : 0-50
-
 
238
        unsigned char Hoehe_ACC_Wirkung;      // Wert : 0-250
-
 
239
        unsigned char Hoehe_HoverBand;        // Wert : 0-250
-
 
240
        unsigned char Hoehe_TiltCompensation; // Wert : 0-250
-
 
241
        unsigned char Hoehe_StickNeutralPoint;// Wert : 0-250
-
 
242
        unsigned char Stick_P;                // Wert : 1-6
-
 
243
        unsigned char Stick_D;                // Wert : 0-64
-
 
244
        unsigned char StickGier_P;            // Wert : 1-20
-
 
245
        unsigned char Gas_Min;                // Wert : 0-32
-
 
246
        unsigned char Gas_Max;                // Wert : 33-250
-
 
247
        unsigned char GyroAccFaktor;          // Wert : 1-64
-
 
248
        unsigned char KompassWirkung;         // Wert : 0-32
-
 
249
        unsigned char Gyro_P;                 // Wert : 10-250
-
 
250
        unsigned char Gyro_I;                 // Wert : 0-250
-
 
251
        unsigned char Gyro_D;                 // Wert : 0-250
-
 
252
        unsigned char Gyro_Gier_P;            // Wert : 10-250
-
 
253
        unsigned char Gyro_Gier_I;            // Wert : 0-250
-
 
254
        unsigned char Gyro_Stability;         // Wert : 0-16
-
 
255
        unsigned char UnterspannungsWarnung;  // Wert : 0-250
-
 
256
        unsigned char NotGas;                 // Wert : 0-250     //Gaswert bei Empängsverlust
-
 
257
        unsigned char NotGasZeit;             // Wert : 0-250     // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen
-
 
258
        unsigned char Receiver;                   // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D
-
 
259
        unsigned char I_Faktor;               // Wert : 0-250
-
 
260
        unsigned char UserParam1;             // Wert : 0-250
-
 
261
        unsigned char UserParam2;             // Wert : 0-250
-
 
262
        unsigned char UserParam3;             // Wert : 0-250
-
 
263
        unsigned char UserParam4;             // Wert : 0-250
-
 
264
        unsigned char ServoNickControl;       // Wert : 0-250     // Stellung des Servos
-
 
265
        unsigned char ServoNickComp;          // Wert : 0-250     // Einfluss Gyro/Servo
-
 
266
        unsigned char ServoNickMin;           // Wert : 0-250     // Anschlag
-
 
267
        unsigned char ServoNickMax;           // Wert : 0-250     // Anschlag
-
 
268
        //--- Seit V0.75
-
 
269
        unsigned char ServoRollControl;       // Wert : 0-250     // Stellung des Servos
-
 
270
        unsigned char ServoRollComp;          // Wert : 0-250
-
 
271
        unsigned char ServoRollMin;           // Wert : 0-250
-
 
272
        unsigned char ServoRollMax;           // Wert : 0-250
-
 
273
        //---
-
 
274
        unsigned char ServoNickRefresh;       // Speed of the Servo
-
 
275
    unsigned char ServoManualControlSpeed;//
-
 
276
    unsigned char CamOrientation;         //
-
 
277
        unsigned char Servo3;                    // Value or mapping of the Servo Output
-
 
278
        unsigned char Servo4;                            // Value or mapping of the Servo Output
-
 
279
        unsigned char Servo5;                            // Value or mapping of the Servo Output
-
 
280
        unsigned char LoopGasLimit;           // Wert: 0-250  max. Gas während Looping
-
 
281
        unsigned char LoopThreshold;          // Wert: 0-250  Schwelle für Stickausschlag
-
 
282
        unsigned char LoopHysterese;          // Wert: 0-250  Hysterese für Stickausschlag
-
 
283
        unsigned char AchsKopplung1;          // Wert: 0-250  Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung)
-
 
284
        unsigned char AchsKopplung2;          // Wert: 0-250  Faktor, mit dem Nick und Roll verkoppelt werden
-
 
285
        unsigned char CouplingYawCorrection;  // Wert: 0-250  Faktor, mit dem Nick und Roll verkoppelt werden
-
 
286
        unsigned char WinkelUmschlagNick;     // Wert: 0-250  180°-Punkt
-
 
287
        unsigned char WinkelUmschlagRoll;     // Wert: 0-250  180°-Punkt
-
 
288
        unsigned char GyroAccAbgleich;        // 1/k  (Koppel_ACC_Wirkung)
-
 
289
        unsigned char Driftkomp;
-
 
290
        unsigned char DynamicStability;
-
 
291
        unsigned char UserParam5;             // Wert : 0-250
-
 
292
        unsigned char UserParam6;             // Wert : 0-250
-
 
293
        unsigned char UserParam7;             // Wert : 0-250
-
 
294
        unsigned char UserParam8;             // Wert : 0-250
-
 
295
        //---Output ---------------------------------------------
-
 
296
        unsigned char J16Bitmask;             // for the J16 Output
-
 
297
        unsigned char J16Timing;              // for the J16 Output
-
 
298
        unsigned char J17Bitmask;             // for the J17 Output
-
 
299
        unsigned char J17Timing;              // for the J17 Output
-
 
300
        // seit version V0.75c
-
 
301
        unsigned char WARN_J16_Bitmask;       // for the J16 Output
-
 
302
        unsigned char WARN_J17_Bitmask;       // for the J17 Output
-
 
303
        //---NaviCtrl---------------------------------------------
-
 
304
        unsigned char AutoPhotoDistance;      // Auto Photo
-
 
305
        unsigned char NaviGpsModeChannel;     // Parameters for the Naviboard
-
 
306
        unsigned char NaviGpsGain;
-
 
307
        unsigned char NaviGpsP;
-
 
308
        unsigned char NaviGpsI;
-
 
309
        unsigned char NaviGpsD;
-
 
310
        unsigned char NaviGpsPLimit;
-
 
311
        unsigned char NaviGpsILimit;
-
 
312
        unsigned char NaviGpsDLimit;
-
 
313
        unsigned char NaviGpsA;
-
 
314
        unsigned char NaviGpsMinSat;
-
 
315
        unsigned char NaviStickThreshold;
-
 
316
        unsigned char NaviWindCorrection;
-
 
317
        unsigned char NaviAccCompensation;    // New since 0.86 -> was: SpeedCompensation
-
 
318
        unsigned char NaviMaxFlyingRange;     // in 10m
-
 
319
        unsigned char NaviAngleLimitation;
-
 
320
        unsigned char NaviPH_LoginTime;
-
 
321
        unsigned char NaviDescendRange;
-
 
322
        //---Ext.Ctrl---------------------------------------------
-
 
323
        unsigned char ExternalControl;         // for serial Control
-
 
324
        //---CareFree---------------------------------------------
-
 
325
        unsigned char OrientationAngle;        // Where is the front-direction?
-
 
326
        unsigned char CareFreeChannel;     // switch for CareFree
-
 
327
    unsigned char MotorSafetySwitch;
-
 
328
    unsigned char MotorSmooth;
-
 
329
    unsigned char ComingHomeAltitude;
-
 
330
    unsigned char FailSafeTime;
-
 
331
    unsigned char MaxAltitude;
-
 
332
        unsigned char FailsafeChannel;         // if the value of this channel is > 100, the MK reports "RC-Lost"
-
 
333
        unsigned char ServoFilterNick;  
-
 
334
        unsigned char ServoFilterRoll;  
-
 
335
    unsigned char Servo3OnValue;
-
 
336
    unsigned char Servo3OffValue;
-
 
337
    unsigned char Servo4OnValue;
-
 
338
    unsigned char Servo4OffValue;
-
 
339
        unsigned char ServoFS_Pos[5];
-
 
340
        unsigned char StartLandChannel;  
-
 
341
        unsigned char LandingSpeed;  
-
 
342
        unsigned char CompassOffset;        
-
 
343
        unsigned char AutoLandingVoltage;    // in 0,1V  0 -> disabled
-
 
344
        unsigned char ComingHomeVoltage;    // in 0,1V  0 -> disabled
-
 
345
        unsigned char AutoPhotoAtitudes;
-
 
346
        unsigned char SingleWpSpeed;
-
 
347
        unsigned char LandingPulse;
-
 
348
        unsigned char SingleWpControlChannel;
-
 
349
        unsigned char MenuKeyChannel;
-
 
350
        //------------------------------------------------
-
 
351
        unsigned char BitConfig;          // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt
-
 
352
        unsigned char ServoCompInvert;    // //  0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen
-
 
353
        unsigned char ExtraConfig;        // bitcodiert
-
 
354
        unsigned char GlobalConfig3;      // bitcodiert
-
 
355
        char Name[12];
-
 
356
        unsigned char crc;                                // must be the last byte!
-
 
357
} __attribute__((packed)) paramset_t; // 150 bytes
-
 
358
 
-
 
359
extern paramset_t EE_Parameter;
225
 
360