Subversion Repositories FlightCtrl

Rev

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

Rev 1316 Rev 1320
Line 246... Line 246...
246
                }
246
                }
247
          if(MotorPresent[i]) printf("%d ",i+1);
247
          if(MotorPresent[i]) printf("%d ",i+1);
248
     }
248
     }
249
        for(i=0; i < MAX_MOTORS; i++)
249
        for(i=0; i < MAX_MOTORS; i++)
250
         {
250
         {
-
 
251
          if(!MotorPresent[i] && Mixer.Motor[i][0] > 0)
-
 
252
           {
251
          if(!MotorPresent[i] && Mixer.Motor[i][0] > 0) printf("\n\r\n\r!! MISSING BL-CTRL: %d !!",i+1);
253
            printf("\n\r\n\r!! MISSING BL-CTRL: %d !!",i+1);
-
 
254
                ServoActive = 1; // just in case the FC would be used as camera-stabilizer
-
 
255
           }   
252
          MotorError[i] = 0;
256
          MotorError[i] = 0;
253
     }
257
     }
254
        printf("\n\r===================================");
258
        printf("\n\r===================================");
-
 
259
 
255
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
260
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
256
// + Check Settings
261
// + Check Settings
257
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
262
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
258
    if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != EE_DATENREVISION)
263
    if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != EE_DATENREVISION)
259
        {
264
        {
Line 291... Line 296...
291
          eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], EE_DATENREVISION);
296
          eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], EE_DATENREVISION);
292
        }
297
        }
Line 293... Line 298...
293
 
298
 
294
    FlugMinuten = (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES2]) * 256 + (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES2+1]);
299
    FlugMinuten = (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES2]) * 256 + (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES2+1]);
295
    FlugMinutenGesamt = (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES]) * 256 + (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES+1]);
300
    FlugMinutenGesamt = (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES]) * 256 + (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES+1]);
296
    if(FlugMinutenGesamt == 0xffff)
301
    if(FlugMinutenGesamt == 0xffff || FlugMinuten == 0xffff)
297
         {
302
         {
298
          FlugMinuten = 0;
303
          FlugMinuten = 0;
299
          FlugMinutenGesamt = 0;
304
          FlugMinutenGesamt = 0;
300
         }
305
         }
Line 333... Line 338...
333
    LcdClear();
338
    LcdClear();
334
    I2CTimeout = 5000;
339
    I2CTimeout = 5000;
335
    WinkelOut.Orientation = 1;
340
    WinkelOut.Orientation = 1;
336
    LipoDetection(1);
341
    LipoDetection(1);
337
        printf("\n\r===================================\n\r");
342
        printf("\n\r===================================\n\r");
-
 
343
//SpektrumBinding();
-
 
344
    timer = SetDelay(100);
338
        while (1)
345
        while (1)
339
        {
346
        {
340
            if(UpdateMotor && AdReady)      // ReglerIntervall
347
            if(UpdateMotor && AdReady)      // ReglerIntervall
341
            {
348
            {
342
                    UpdateMotor=0;
349
                    UpdateMotor=0;
Line 381... Line 388...
381
               BearbeiteRxDaten();
388
               BearbeiteRxDaten();
382
              }
389
              }
383
                        else BearbeiteRxDaten();
390
                        else BearbeiteRxDaten();
384
                        if(CheckDelay(timer))
391
                        if(CheckDelay(timer))
385
                        {
392
                        {
-
 
393
                          timer += 20;//SetDelay(20);
386
              if(PcZugriff) PcZugriff--;
394
              if(PcZugriff) PcZugriff--;
387
              else
395
              else
388
               {
396
               {
389
                            ExternControl.Config = 0;
397
                            ExternControl.Config = 0;
390
                ExternStickNick = 0;
398
                ExternStickNick = 0;
Line 406... Line 414...
406
                                        }
414
                                        }
407
                                }
415
                                }
408
                                else MikroKopterFlags &= ~FLAG_LOWBAT;
416
                                else MikroKopterFlags &= ~FLAG_LOWBAT;
409
                                SPI_StartTransmitPacket();
417
                                SPI_StartTransmitPacket();
410
                                SendSPI = 4;
418
                                SendSPI = 4;
411
                                if(!MotorenEin) timer2 = 1300; // 0,5 Minuten aufrunden
419
                                if(!MotorenEin) timer2 = 1450; // 0,5 Minuten aufrunden
412
                                if(++timer2 == 2600)  // eine Minute
420
                                if(++timer2 == 2930)  // eine Minute
413
                                 {
421
                                 {
414
                                   timer2 = 0;
422
                                   timer2 = 0;
415
                   FlugMinuten++;
423
                   FlugMinuten++;
416
                       FlugMinutenGesamt++;
424
                       FlugMinutenGesamt++;
417
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES2],FlugMinuten / 256); // ACC-NeutralWerte speichern
425
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES2],FlugMinuten / 256); // ACC-NeutralWerte speichern
418
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES2+1],FlugMinuten % 256); // ACC-NeutralWerte speichern
426
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES2+1],FlugMinuten % 256); // ACC-NeutralWerte speichern
419
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES],FlugMinutenGesamt / 256); // ACC-NeutralWerte speichern
427
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES],FlugMinutenGesamt / 256); // ACC-NeutralWerte speichern
420
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES+1],FlugMinutenGesamt % 256); // ACC-NeutralWerte speichern
428
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES+1],FlugMinutenGesamt % 256); // ACC-NeutralWerte speichern
421
                             }
429
                             }
422
                                timer = SetDelay(20);
-
 
423
                        }
430
                        }
424
           LED_Update();
431
           LED_Update();
425
          }
432
          }
426
     if(!SendSPI) { SPI_TransmitByte(); }
433
     if(!SendSPI) { SPI_TransmitByte(); }
427
    }
434
    }