Subversion Repositories FlightCtrl

Rev

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

Rev 1338 Rev 1344
Line 197... Line 197...
197
 
197
 
Line 198... Line 198...
198
        sei();
198
        sei();
199
 
199
 
-
 
200
        printf("\n\r===================================");
-
 
201
        printf("\n\rFlightControl\n\rHardware:%d.%d\n\rSoftware:V%d.%d%c ",PlatinenVersion/10,PlatinenVersion%10, VERSION_MAJOR, VERSION_MINOR,VERSION_PATCH + 'a');
-
 
202
        printf("\n\rthe use of this software is only permitted \n\ron original MikroKopter-Hardware");
-
 
203
        printf("\n\rwww.MikroKopter.de (c) HiSystems GmbH");
200
        printf("\n\r===================================");
204
        printf("\n\r===================================");
201
        printf("\n\rFlightControl\n\rHardware:%d.%d\n\rSoftware:V%d.%d%c ",PlatinenVersion/10,PlatinenVersion%10, VERSION_MAJOR, VERSION_MINOR,VERSION_PATCH + 'a');
205
 
202
    if(UCSR1A == 0x20 && UCSR1C == 0x06)  // initial Values for 644P
206
    if(UCSR1A == 0x20 && UCSR1C == 0x06)  // initial Values for 644P
203
     {
207
     {
204
      Uart1Init();
208
      Uart1Init();
Line 339... Line 343...
339
    I2CTimeout = 5000;
343
    I2CTimeout = 5000;
340
    WinkelOut.Orientation = 1;
344
    WinkelOut.Orientation = 1;
341
    LipoDetection(1);
345
    LipoDetection(1);
342
        printf("\n\r===================================\n\r");
346
        printf("\n\r===================================\n\r");
343
//SpektrumBinding();
347
//SpektrumBinding();
344
    timer = SetDelay(100);
348
    timer = SetDelay(1000);
345
        while (1)
349
        while (1)
346
        {
350
        {
347
            if(UpdateMotor && AdReady)      // ReglerIntervall
351
            if(UpdateMotor && AdReady)      // ReglerIntervall
348
            {
352
            {
349
                    UpdateMotor=0;
353
                    UpdateMotor=0;
350
J3High;
-
 
351
            if(WinkelOut.CalcState) CalMk3Mag();
354
            if(WinkelOut.CalcState) CalMk3Mag();
352
            else MotorRegler();
355
            else MotorRegler();
353
            SendMotorData();
356
            SendMotorData();
354
J3Low;
-
 
355
            ROT_OFF;
357
            ROT_OFF;
356
            if(SenderOkay)  SenderOkay--;
358
            if(SenderOkay)  SenderOkay--;
357
                        else TIMSK1 |= _BV(ICIE1); // enable PPM-Input
359
                        else TIMSK1 |= _BV(ICIE1); // enable PPM-Input
358
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                 
360
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                 
359
//if(HoehenReglerAktiv && NaviDataOkay && SenderOkay < 160 && SenderOkay > 10 && FromNaviCtrl_Value.SerialDataOkay > 220) SenderOkay = 160;
361
//if(HoehenReglerAktiv && NaviDataOkay && SenderOkay < 160 && SenderOkay > 10 && FromNaviCtrl_Value.SerialDataOkay > 220) SenderOkay = 160;
Line 391... Line 393...
391
               BearbeiteRxDaten();
393
               BearbeiteRxDaten();
392
              }
394
              }
393
                        else BearbeiteRxDaten();
395
                        else BearbeiteRxDaten();
394
                        if(CheckDelay(timer))
396
                        if(CheckDelay(timer))
395
                        {
397
                        {
396
                          timer += 20;//SetDelay(20);
398
                          timer += 20;
397
              if(PcZugriff) PcZugriff--;
399
              if(PcZugriff) PcZugriff--;
398
              else
400
              else
399
               {
401
               {
400
                            ExternControl.Config = 0;
402
                            ExternControl.Config = 0;
401
                ExternStickNick = 0;
403
                ExternStickNick = 0;
Line 423... Line 425...
423
                                if(++timer2 == 2930)  // eine Minute
425
                                if(++timer2 == 2930)  // eine Minute
424
                                 {
426
                                 {
425
                                   timer2 = 0;
427
                                   timer2 = 0;
426
                   FlugMinuten++;
428
                   FlugMinuten++;
427
                       FlugMinutenGesamt++;
429
                       FlugMinutenGesamt++;
428
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES2],FlugMinuten / 256); // ACC-NeutralWerte speichern
430
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES2],FlugMinuten / 256);
429
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES2+1],FlugMinuten % 256); // ACC-NeutralWerte speichern
431
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES2+1],FlugMinuten % 256);
430
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES],FlugMinutenGesamt / 256); // ACC-NeutralWerte speichern
432
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES],FlugMinutenGesamt / 256);
431
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES+1],FlugMinutenGesamt % 256); // ACC-NeutralWerte speichern
433
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES+1],FlugMinutenGesamt % 256);
-
 
434
                                   timer = SetDelay(20); // falls "timer += 20;" mal nicht geht
432
                             }
435
                             }
433
                        }
436
                        }
434
           LED_Update();
437
           LED_Update();
435
          }
438
          }
436
     if(!SendSPI) { SPI_TransmitByte(); }
439
     if(!SendSPI) { SPI_TransmitByte(); }