Subversion Repositories FlightCtrl

Rev

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

Rev 2486 Rev 2496
Line 70... Line 70...
70
 
70
 
71
 
71
 
72
void CalMk3Mag(void)
72
void CalMk3Mag(void)
73
{
73
{
74
 static unsigned char stick = 1;
74
 static unsigned char stick = 1;
75
 if(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > -20) stick = 0;
75
 if(ChannelNick > -20) stick = 0;
76
 if((PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < -70) && !stick)
76
 if((ChannelNick < -70) && !stick)
77
  {
77
  {
78
   stick = 1;
78
   stick = 1;
79
   WinkelOut.CalcState++;
79
   WinkelOut.CalcState++;
Line 176... Line 176...
176
    MCUSR &=~(1<<WDRF);
176
    MCUSR &=~(1<<WDRF);
177
    WDTCSR |= (1<<WDCE)|(1<<WDE);
177
    WDTCSR |= (1<<WDCE)|(1<<WDE);
178
    WDTCSR = 0;
178
    WDTCSR = 0;
Line 179... Line 179...
179
 
179
 
180
    beeptime = 2500;
180
    beeptime = 2500;
181
        StickGier = 0; PPM_in[K_GAS] = 0; StickRoll = 0; StickNick = 0;
181
        StickGier = 0; StickRoll = 0; StickNick = 0;
182
    if(PlatinenVersion >= 20)  GIER_GRAD_FAKTOR = 1220; else GIER_GRAD_FAKTOR = 1291; // unterschiedlich für ME und ENC
182
    if(PlatinenVersion >= 20)  GIER_GRAD_FAKTOR = 1220; else GIER_GRAD_FAKTOR = 1291; // unterschiedlich für ME und ENC
183
    ROT_OFF;
183
    ROT_OFF;
Line 184... Line 184...
184
    GRN_ON;
184
    GRN_ON;
Line 222... Line 222...
222
//              while(!(BLFlags & BLFLAG_TX_COMPLETE)  && !CheckDelay(timer)); //wait for complete transfer
222
//              while(!(BLFlags & BLFLAG_TX_COMPLETE)  && !CheckDelay(timer)); //wait for complete transfer
223
                if(Mixer.Motor[i][0] > 0) // wait max 4 sec for the BL-Ctrls to wake up
223
                if(Mixer.Motor[i][0] > 0) // wait max 4 sec for the BL-Ctrls to wake up
224
                {
224
                {
225
                        while(!CheckDelay(timer) && !(Motor[i].State & MOTOR_STATE_PRESENT_MASK) )
225
                        while(!CheckDelay(timer) && !(Motor[i].State & MOTOR_STATE_PRESENT_MASK) )
226
                        {
226
                        {
227
                                SendMotorData();
227
                                if((BLFlags & BLFLAG_TX_COMPLETE)) SendMotorData();
228
                                while(!(BLFlags & BLFLAG_TX_COMPLETE) && !CheckDelay(timer)); //wait for complete transfer
228
                                //while(!(BLFlags & BLFLAG_TX_COMPLETE) && !CheckDelay(timer)); //wait for complete transfer
229
                        }
229
                        }
230
                }
230
                }
231
                if(Motor[i].State & MOTOR_STATE_PRESENT_MASK)
231
                if(Motor[i].State & MOTOR_STATE_PRESENT_MASK)
232
                {
232
                {
233
                    unsigned char vers;
233
                    unsigned char vers;
Line 288... Line 288...
288
        SetNeutral(0);
288
        SetNeutral(0);
Line 289... Line 289...
289
 
289
 
Line 290... Line 290...
290
        ROT_OFF;
290
        ROT_OFF;
291
 
-
 
292
    beeptime = 2000;
-
 
Line 293... Line 291...
293
    ExternControl.Digital[0] = 0x55;
291
 
294
 
292
    beeptime = 2000;
Line 295... Line 293...
295
 
293
 
Line 348... Line 346...
348
                                PPM_diff[EE_Parameter.Kanalbelegung[K_ROLL]] = 0;
346
                                PPM_diff[EE_Parameter.Kanalbelegung[K_ROLL]] = 0;
349
                                PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] = 0;
347
                                PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] = 0;
350
                                PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] = 0;
348
                                PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] = 0;
351
                                PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] = 0;
349
                                PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] = 0;
352
                                PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] = 0;
350
                                PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] = 0;
-
 
351
                                ChannelNick = 0;
-
 
352
                                ChannelRoll = 0;
-
 
353
                                ChannelYaw = 0;
-
 
354
                                ChannelGas = 0;
353
                        }
355
                        }
354
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
356
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
355
//if(HoehenReglerAktiv && NaviDataOkay && SenderOkay < 160 && SenderOkay > 10 && FromNaviCtrl_Value.SerialDataOkay > 220) SenderOkay = 160;
357
//if(HoehenReglerAktiv && NaviDataOkay && SenderOkay < 160 && SenderOkay > 10 && FromNaviCtrl_Value.SerialDataOkay > 220) SenderOkay = 160;
356
//if(HoehenReglerAktiv && NaviDataOkay && SenderOkay < 101 && SenderOkay > 10 && FromNaviCtrl_Value.SerialDataOkay > 1) SenderOkay = 101;
358
//if(HoehenReglerAktiv && NaviDataOkay && SenderOkay < 101 && SenderOkay > 10 && FromNaviCtrl_Value.SerialDataOkay > 1) SenderOkay = 101;
357
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
359
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Line 424... Line 426...
424
                                 }
426
                                 }
425
                                if(DisableRcOffBeeping) if(SenderOkay > 150) { DisableRcOffBeeping = 0; beeptime = 5000;};
427
                                if(DisableRcOffBeeping) if(SenderOkay > 150) { DisableRcOffBeeping = 0; beeptime = 5000;};
426
                                if(PcZugriff) PcZugriff--;
428
                                if(PcZugriff) PcZugriff--;
427
                                else
429
                                else
428
                                {
430
                                {
429
                                        ExternControl.Config = 0;
-
 
430
                                        ExternStickNick = 0;
-
 
431
                                        ExternStickRoll = 0;
-
 
432
                                        ExternStickGier = 0;
-
 
433
                                        if(!SenderOkay)
431
                                        if(!SenderOkay)
434
                                        {
432
                                        {
435
                                          if(BeepMuster == 0xffff && DisableRcOffBeeping != 2)  
433
                                          if(BeepMuster == 0xffff && DisableRcOffBeeping != 2)  
436
                                          {
434
                                          {
437
                                                  beeptime = 15000;
435
                                                  beeptime = 15000;
Line 479... Line 477...
479
                                                beeptime = 6000;
477
                                                beeptime = 6000;
480
                                                BeepMuster = 0x0300;
478
                                                BeepMuster = 0x0300;
481
                                        }
479
                                        }
482
                                }
480
                                }
483
                                // +++++++++++++++++++++++++++++++++
481
                                // +++++++++++++++++++++++++++++++++
-
 
482
                                if(ExternalControlTimeout)
-
 
483
                                 {
-
 
484
                                  ExternalControlTimeout--;
-
 
485
                                  if(ExternalControlTimeout == 1) beeptime = 2000;
-
 
486
                                 }
-
 
487
                                // +++++++++++++++++++++++++++++++++
484
                                // Sekundentakt
488
                                // Sekundentakt
485
                if(++second == 49)
489
                if(++second == 49)
486
                                 {
490
                                 {
487
                                   second = 0;
491
                                   second = 0;
488
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
492
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))