Subversion Repositories FlightCtrl

Rev

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

Rev 1497 Rev 1521
Line 485... Line 485...
485
        }
485
        }
486
        else FCFlags |= FCFLAG_MOTOR_RUN;
486
        else FCFlags |= FCFLAG_MOTOR_RUN;
Line 487... Line 487...
487
 
487
 
488
    DebugOut.Analog[12] = Motor[0].SetPoint;
488
    DebugOut.Analog[12] = Motor[0].SetPoint;
489
    DebugOut.Analog[13] = Motor[1].SetPoint;
489
    DebugOut.Analog[13] = Motor[1].SetPoint;
490
    DebugOut.Analog[14] = Motor[3].SetPoint;
490
    DebugOut.Analog[14] = Motor[2].SetPoint;
Line 491... Line 491...
491
    DebugOut.Analog[15] = Motor[2].SetPoint;
491
    DebugOut.Analog[15] = Motor[3].SetPoint;
492
 
492
 
493
    //Start I2C Interrupt Mode
493
    //Start I2C Interrupt Mode
494
    twi_state = 0;
494
    twi_state = 0;
Line 694... Line 694...
694
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
694
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
695
// Gas ist unten
695
// Gas ist unten
696
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
696
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
697
            if(PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] < 35-120)
697
            if(PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] < 35-120)
698
                {
698
                {
-
 
699
                                        // Motoren Starten
-
 
700
                                        if(!MotorenEin)
699
                // Starten
701
                        {
700
                if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -75)
702
                                                if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -75)
701
                    {
703
                                                {
702
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
704
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
703
// Einschalten
705
// Einschalten
704
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
706
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
705
                    if(++delay_einschalten > 200)
707
                                                        if(++delay_einschalten > 200)
706
                        {
708
                                                        {
707
                        delay_einschalten = 200;
709
                                                                delay_einschalten = 0;
708
                        modell_fliegt = 1;
710
                                                                modell_fliegt = 1;
709
                        MotorenEin = 1;
711
                                                                MotorenEin = 1;
710
                        sollGier = 0;
712
                                                                sollGier = 0;
711
                        Mess_Integral_Gier = 0;
713
                                                                Mess_Integral_Gier = 0;
712
                        Mess_Integral_Gier2 = 0;
714
                                                                Mess_Integral_Gier2 = 0;
713
                        Mess_IntegralNick = EE_Parameter.GyroAccFaktor * (long)Mittelwert_AccNick;
715
                                                                Mess_IntegralNick = EE_Parameter.GyroAccFaktor * (long)Mittelwert_AccNick;
714
                        Mess_IntegralRoll = EE_Parameter.GyroAccFaktor * (long)Mittelwert_AccRoll;
716
                                                                Mess_IntegralRoll = EE_Parameter.GyroAccFaktor * (long)Mittelwert_AccRoll;
715
                        Mess_IntegralNick2 = IntegralNick;
717
                                                                Mess_IntegralNick2 = IntegralNick;
716
                        Mess_IntegralRoll2 = IntegralRoll;
718
                                                                Mess_IntegralRoll2 = IntegralRoll;
717
                        SummeNick = 0;
719
                                                                SummeNick = 0;
718
                        SummeRoll = 0;
720
                                                                SummeRoll = 0;
719
                        FCFlags |= FCFLAG_START;
721
                                                                FCFlags |= FCFLAG_START;
720
                        }
722
                                                        }
721
                    }
723
                                                }
722
                    else delay_einschalten = 0;
724
                                                else delay_einschalten = 0;
723
                //Auf Neutralwerte setzen
-
 
-
 
725
                                        }
724
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
726
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
725
// Auschalten
727
// Auschalten
726
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
728
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
 
729
                                        else // only if motors are running
-
 
730
                                        {
727
                if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 75)
731
                                                if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 75)
728
                    {
732
                                                {
729
                    if(++delay_ausschalten > 200)  // nicht sofort
733
                                                        if(++delay_ausschalten > 200)  // nicht sofort
730
                        {
734
                                                        {
731
                         MotorenEin = 0;
735
                                                                MotorenEin = 0;
732
                         delay_ausschalten = 200;
736
                                                                delay_ausschalten = 0;
733
                         modell_fliegt = 0;
737
                                                                modell_fliegt = 0;
734
                        }
738
                                                        }
735
                    }
739
                                                }
736
                else delay_ausschalten = 0;
740
                                                else delay_ausschalten = 0;
-
 
741
                                        }
737
                }
742
                }
738
            }
743
            }
739
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
744
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
740
// neue Werte von der Funke
745
// neue Werte von der Funke
741
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
746
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Line 1589... Line 1594...
1589
    if(pd_ergebnis_roll < -tmp_int) pd_ergebnis_roll = -tmp_int;
1594
    if(pd_ergebnis_roll < -tmp_int) pd_ergebnis_roll = -tmp_int;
Line 1590... Line 1595...
1590
 
1595
 
1591
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1596
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1592
// Universal Mixer
1597
// Universal Mixer
1593
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1598
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1594
 for(i=0; i<MAX_MOTORS; i++)
1599
 for(i=0; i<MAX_MOTORS; i++)
1595
 {
1600
 {
1596
  signed int tmp_int;
1601
  signed int tmp_int;
1597
  if(Mixer.Motor[i][0] > 0)
1602
  if(Mixer.Motor[i][0] > 0)
1598
   {
1603
   {