Subversion Repositories FlightCtrl

Rev

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

Rev 39 Rev 127
Line 78... Line 78...
78
 
78
 
79
float GyroFaktor;
79
float GyroFaktor;
Line 80... Line 80...
80
float IntegralFaktor;
80
float IntegralFaktor;
81
 
81
 
82
volatile int  DiffNick,DiffRoll;
82
volatile int  DiffNick,DiffRoll;
83
int  Poti1 = 0, Poti2 = 0, Poti3 = 0, Poti4 = 0;
83
int  Poti1 = 0, Poti2 = 0, Poti3 = 0, Poti4 = 0,Poti5 = 0, Poti6 = 0, Poti7 = 0, Poti8 = 0;
84
volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count;
84
volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count;
85
unsigned char MotorWert[5];
85
unsigned char MotorWert[5];
86
volatile unsigned char SenderOkay = 0;
86
volatile unsigned char SenderOkay = 0;
Line 200... Line 200...
200
//------------------------------------------------------------------------------
200
//------------------------------------------------------------------------------
201
    if(Poti1 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110) Poti1++; else if(Poti1 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110 && Poti1) Poti1--;
201
    if(Poti1 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110) Poti1++; else if(Poti1 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110 && Poti1) Poti1--;
202
    if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--;
202
    if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--;
203
    if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--;
203
    if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--;
204
    if(Poti4 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110) Poti4++; else if(Poti4 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110 && Poti4) Poti4--;
204
    if(Poti4 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110) Poti4++; else if(Poti4 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110 && Poti4) Poti4--;
-
 
205
    if(Poti5 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI5]] + 110) Poti5++; else if(Poti5 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI5]] + 110 && Poti5) Poti5--;
-
 
206
    if(Poti6 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI6]] + 110) Poti6++; else if(Poti6 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI6]] + 110 && Poti6) Poti6--;
-
 
207
    if(Poti7 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI7]] + 110) Poti7++; else if(Poti7 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI7]] + 110 && Poti7) Poti7--;
-
 
208
    if(Poti8 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI8]] + 110) Poti8++; else if(Poti8 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI8]] + 110 && Poti8) Poti8--;
-
 
209
   
-
 
210
       
205
    if(Poti1 < 0) Poti1 = 0; else if(Poti1 > 255) Poti1 = 255;
211
        if(Poti1 < 0) Poti1 = 0; else if(Poti1 > 255) Poti1 = 255;
206
    if(Poti2 < 0) Poti2 = 0; else if(Poti2 > 255) Poti2 = 255;
212
    if(Poti2 < 0) Poti2 = 0; else if(Poti2 > 255) Poti2 = 255;
207
    if(Poti3 < 0) Poti3 = 0; else if(Poti3 > 255) Poti3 = 255;
213
    if(Poti3 < 0) Poti3 = 0; else if(Poti3 > 255) Poti3 = 255;
208
    if(Poti4 < 0) Poti4 = 0; else if(Poti4 > 255) Poti4 = 255;
214
    if(Poti4 < 0) Poti4 = 0; else if(Poti4 > 255) Poti4 = 255;
-
 
215
        if(Poti5 < 0) Poti5 = 0; else if(Poti5 > 255) Poti5 = 255;
-
 
216
        if(Poti6 < 0) Poti6 = 0; else if(Poti6 > 255) Poti6 = 255;
-
 
217
        if(Poti7 < 0) Poti7 = 0; else if(Poti7 > 255) Poti7 = 255;
-
 
218
    if(Poti8 < 0) Poti8 = 0; else if(Poti8 > 255) Poti8 = 255;
209
}
219
}
Line 210... Line 220...
210
 
220
 
211
//############################################################################
221
//############################################################################
212
// Messwerte beim Ermitteln der Nullage
222
// Messwerte beim Ermitteln der Nullage
Line 231... Line 241...
231
    ANALOG_ON; 
241
    ANALOG_ON; 
232
    if(Poti1 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110) Poti1++; else if(Poti1 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110 && Poti1) Poti1--;
242
    if(Poti1 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110) Poti1++; else if(Poti1 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110 && Poti1) Poti1--;
233
    if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--;
243
    if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--;
234
    if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--;
244
    if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--;
235
    if(Poti4 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110) Poti4++; else if(Poti4 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110 && Poti4) Poti4--;
245
    if(Poti4 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110) Poti4++; else if(Poti4 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110 && Poti4) Poti4--;
-
 
246
    if(Poti5 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI5]] + 110) Poti5++; else if(Poti5 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI5]] + 110 && Poti5) Poti5--;
-
 
247
    if(Poti6 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI6]] + 110) Poti6++; else if(Poti6 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI6]] + 110 && Poti6) Poti6--;
-
 
248
    if(Poti7 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI7]] + 110) Poti7++; else if(Poti7 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI7]] + 110 && Poti7) Poti7--;
-
 
249
    if(Poti8 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI8]] + 110) Poti8++; else if(Poti8 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI8]] + 110 && Poti8) Poti8--;
-
 
250
   
-
 
251
   
-
 
252
   
-
 
253
   
236
    if(Poti1 < 0) Poti1 = 0; else if(Poti1 > 255) Poti1 = 255;
254
    if(Poti1 < 0) Poti1 = 0; else if(Poti1 > 255) Poti1 = 255;
237
    if(Poti2 < 0) Poti2 = 0; else if(Poti2 > 255) Poti2 = 255;
255
    if(Poti2 < 0) Poti2 = 0; else if(Poti2 > 255) Poti2 = 255;
238
    if(Poti3 < 0) Poti3 = 0; else if(Poti3 > 255) Poti3 = 255;
256
    if(Poti3 < 0) Poti3 = 0; else if(Poti3 > 255) Poti3 = 255;
239
    if(Poti4 < 0) Poti4 = 0; else if(Poti4 > 255) Poti4 = 255;
257
    if(Poti4 < 0) Poti4 = 0; else if(Poti4 > 255) Poti4 = 255;
-
 
258
        if(Poti5 < 0) Poti5 = 0; else if(Poti5 > 255) Poti5 = 255;
-
 
259
        if(Poti6 < 0) Poti6 = 0; else if(Poti6 > 255) Poti6 = 255;
-
 
260
        if(Poti7 < 0) Poti7 = 0; else if(Poti7 > 255) Poti7 = 255;
-
 
261
    if(Poti8 < 0) Poti8 = 0; else if(Poti8 > 255) Poti8 = 255;
240
}
262
}
Line 241... Line 263...
241
 
263
 
242
//############################################################################
264
//############################################################################
243
// Senden der Motorwerte per I2C-Bus
265
// Senden der Motorwerte per I2C-Bus
Line 282... Line 304...
282
 EE_Parameter.Kanalbelegung[K_GIER]  = 4;
304
 EE_Parameter.Kanalbelegung[K_GIER]  = 4;
283
 EE_Parameter.Kanalbelegung[K_POTI1] = 5;
305
 EE_Parameter.Kanalbelegung[K_POTI1] = 5;
284
 EE_Parameter.Kanalbelegung[K_POTI2] = 6;
306
 EE_Parameter.Kanalbelegung[K_POTI2] = 6;
285
 EE_Parameter.Kanalbelegung[K_POTI3] = 7;
307
 EE_Parameter.Kanalbelegung[K_POTI3] = 7;
286
 EE_Parameter.Kanalbelegung[K_POTI4] = 8;
308
 EE_Parameter.Kanalbelegung[K_POTI4] = 8;
-
 
309
 EE_Parameter.Kanalbelegung[K_POTI5] = 9;
-
 
310
 EE_Parameter.Kanalbelegung[K_POTI6] = 10;
-
 
311
 EE_Parameter.Kanalbelegung[K_POTI7] = 11;
-
 
312
 EE_Parameter.Kanalbelegung[K_POTI8] = 12;
-
 
313
 
287
 EE_Parameter.GlobalConfig = 0;//CFG_HOEHENREGELUNG | /*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV | CFG_KOMPASS_FIX;//0x01;    
314
 EE_Parameter.GlobalConfig = 0;//CFG_HOEHENREGELUNG | /*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV | CFG_KOMPASS_FIX;//0x01;    
288
 EE_Parameter.Hoehe_MinGas = 30;
315
 EE_Parameter.Hoehe_MinGas = 30;
289
 EE_Parameter.MaxHoehe     = 251;     // Wert : 0-32   251 -> Poti1
316
 EE_Parameter.MaxHoehe     = 251;     // Wert : 0-32   251 -> Poti1
290
 EE_Parameter.Hoehe_P      = 10;      // Wert : 0-32
317
 EE_Parameter.Hoehe_P      = 10;      // Wert : 0-32
291
 EE_Parameter.Luftdruck_D  = 70;      // Wert : 0-250
318
 EE_Parameter.Luftdruck_D  = 70;      // Wert : 0-250
Line 325... Line 352...
325
 EE_Parameter.Kanalbelegung[K_GAS]   = 3;
352
 EE_Parameter.Kanalbelegung[K_GAS]   = 3;
326
 EE_Parameter.Kanalbelegung[K_GIER]  = 4;
353
 EE_Parameter.Kanalbelegung[K_GIER]  = 4;
327
 EE_Parameter.Kanalbelegung[K_POTI1] = 5;
354
 EE_Parameter.Kanalbelegung[K_POTI1] = 5;
328
 EE_Parameter.Kanalbelegung[K_POTI2] = 6;
355
 EE_Parameter.Kanalbelegung[K_POTI2] = 6;
329
 EE_Parameter.Kanalbelegung[K_POTI3] = 7;
356
 EE_Parameter.Kanalbelegung[K_POTI3] = 7;
-
 
357
 EE_Parameter.Kanalbelegung[K_POTI4] = 8;
-
 
358
 EE_Parameter.Kanalbelegung[K_POTI5] = 9;
-
 
359
 EE_Parameter.Kanalbelegung[K_POTI6] = 10;
-
 
360
 EE_Parameter.Kanalbelegung[K_POTI7] = 11;
-
 
361
 EE_Parameter.Kanalbelegung[K_POTI8] = 12;
-
 
362
 
330
 EE_Parameter.GlobalConfig = 0;//CFG_HOEHENREGELUNG | /*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV;//0x01;    
363
 EE_Parameter.GlobalConfig = 0;//CFG_HOEHENREGELUNG | /*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV;//0x01;    
331
 EE_Parameter.Hoehe_MinGas = 30;
364
 EE_Parameter.Hoehe_MinGas = 30;
332
 EE_Parameter.MaxHoehe     = 251;     // Wert : 0-32   251 -> Poti1
365
 EE_Parameter.MaxHoehe     = 251;     // Wert : 0-32   251 -> Poti1
333
 EE_Parameter.Hoehe_P      = 10;      // Wert : 0-32
366
 EE_Parameter.Hoehe_P      = 10;      // Wert : 0-32
334
 EE_Parameter.Luftdruck_D  = 50;      // Wert : 0-250
367
 EE_Parameter.Luftdruck_D  = 50;      // Wert : 0-250
Line 382... Line 415...
382
 CHK_POTI(Parameter_UserParam1,EE_Parameter.UserParam1,0,255);
415
 CHK_POTI(Parameter_UserParam1,EE_Parameter.UserParam1,0,255);
383
 CHK_POTI(Parameter_UserParam2,EE_Parameter.UserParam2,0,255);
416
 CHK_POTI(Parameter_UserParam2,EE_Parameter.UserParam2,0,255);
384
 CHK_POTI(Parameter_UserParam3,EE_Parameter.UserParam3,0,255);
417
 CHK_POTI(Parameter_UserParam3,EE_Parameter.UserParam3,0,255);
385
 CHK_POTI(Parameter_UserParam4,EE_Parameter.UserParam4,0,255);
418
 CHK_POTI(Parameter_UserParam4,EE_Parameter.UserParam4,0,255);
Line 386... Line 419...
386
 
419
 
387
//   unsigned char ServoNickComp;          // Wert : 0-250     // Einfluss Gyro/Servo
420
   unsigned char ServoNickComp;          // Wert : 0-250     // Einfluss Gyro/Servo
388
//   unsigned char ServoNickCompInvert;    // Wert : 0-250     // Richtung Einfluss Gyro/Servo
421
   unsigned char ServoNickCompInvert;    // Wert : 0-250     // Richtung Einfluss Gyro/Servo
389
//   unsigned char ServoNickMin;           // Wert : 0-250     // Anschlag
422
   unsigned char ServoNickMin;           // Wert : 0-250     // Anschlag
Line 390... Line 423...
390
//   unsigned char ServoNickMax;           // Wert : 0-250     // Anschlag
423
   unsigned char ServoNickMax;           // Wert : 0-250     // Anschlag
391
 
424
 
392
 
425
 
Line 393... Line 426...
393
// CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,0,255);
426
 CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,0,255);
394
// CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,0,255);
427
 CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,0,255);
395
 CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,0,255);
428
 CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,0,255);