Subversion Repositories FlightCtrl

Rev

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

Rev 1431 Rev 1435
Line 192... Line 192...
192
    rc_sum_init();
192
    rc_sum_init();
193
        ADC_Init();
193
        ADC_Init();
194
        i2c_init();
194
        i2c_init();
195
        SPI_MasterInit();
195
        SPI_MasterInit();
Line 196... Line 196...
196
 
196
 
197
        InitFC();
197
        LIBFC_Init();
198
   
198
 
199
   
199
 
200
        GRN_ON;
200
        GRN_ON;
Line 201... Line 201...
201
    sei();
201
    sei();
202
 
202
 
203
        ReadParameterSet(3, (unsigned char *) &EE_Parameter.Kanalbelegung[0], 13); // read only the first bytes
203
        ReadParameterSet(3, (unsigned char *) &EE_Parameter.Kanalbelegung[0], 13); // read only the first bytes
204
       
204
 
205
       
205
 
206
    if((eeprom_read_byte(&EEPromArray[EEPROM_ADR_MIXER_TABLE]) == MIXER_REVISION) && // Check Revision in the first Byte
206
    if((eeprom_read_byte(&EEPromArray[EEPROM_ADR_MIXER_TABLE]) == MIXER_REVISION) && // Check Revision in the first Byte
207
       (eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != 0xff))                   // Settings reset via Koptertool
207
       (eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != 0xff))                   // Settings reset via Koptertool
208
        {
208
        {
Line 224... Line 224...
224
         Mixer.Revision = MIXER_REVISION;
224
         Mixer.Revision = MIXER_REVISION;
225
     memcpy(Mixer.Name, "Quadro\0", 11);
225
     memcpy(Mixer.Name, "Quadro\0", 11);
226
     eeprom_write_block(&Mixer, &EEPromArray[EEPROM_ADR_MIXER_TABLE], sizeof(Mixer));
226
     eeprom_write_block(&Mixer, &EEPromArray[EEPROM_ADR_MIXER_TABLE], sizeof(Mixer));
227
    }
227
    }
228
    printf("\n\rMixer-Config: '%s' (%u Motors)",Mixer.Name,RequiredMotors);
228
    printf("\n\rMixer-Config: '%s' (%u Motors)",Mixer.Name,RequiredMotors);
229
       
-
 
Line -... Line 229...
-
 
229
 
230
 
230
 
231
 
231
 
232
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
232
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
233
// + Check connected BL-Ctrls
233
// + Check connected BL-Ctrls
234
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
234
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
235
        printf("\n\rFound BL-Ctrl: ");
235
        printf("\n\rFound BL-Ctrl: ");
Line 312... Line 312...
312
       WriteParameterSet(i, (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
312
       WriteParameterSet(i, (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
313
      }
313
      }
314
          SetActiveParamSetNumber(3); // default-Setting
314
          SetActiveParamSetNumber(3); // default-Setting
315
          eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], EE_DATENREVISION);
315
          eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], EE_DATENREVISION);
316
        }
316
        }
317
       
317
 
318
   
318
 
319
     
319
 
320
    FlugMinuten = (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES2]) * 256 + (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES2+1]);
320
    FlugMinuten = (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES2]) * 256 + (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES2+1]);
321
    FlugMinutenGesamt = (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES]) * 256 + (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES+1]);
321
    FlugMinutenGesamt = (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES]) * 256 + (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_MINUTES+1]);
322
    if(FlugMinutenGesamt == 0xffff || FlugMinuten == 0xffff)
322
    if(FlugMinutenGesamt == 0xffff || FlugMinuten == 0xffff)
323
         {
323
         {
324
          FlugMinuten = 0;
324
          FlugMinuten = 0;
Line 358... Line 358...
358
 
358
 
359
    LcdClear();
359
    LcdClear();
360
    I2CTimeout = 5000;
360
    I2CTimeout = 5000;
361
    WinkelOut.Orientation = 1;
361
    WinkelOut.Orientation = 1;
362
    LipoDetection(1);
362
    LipoDetection(1);
363
       
363
 
364
         InitReceiver();
364
        LIBFC_ReceiverInit();
365
        printf("\n\r===================================\n\r");
365
        printf("\n\r===================================\n\r");
366
//SpektrumBinding();
366
//SpektrumBinding();
367
    timer = SetDelay(2000);
367
    timer = SetDelay(2000);
368
        timerPolling = SetDelay(250);
368
        timerPolling = SetDelay(250);
369
        while (1)
369
        while (1)
Line 370... Line 370...
370
        {
370
        {
371
 
371
 
372
        if(CheckDelay(timerPolling))
372
        if(CheckDelay(timerPolling))
373
        {
373
        {
374
          timerPolling = SetDelay(100);
374
          timerPolling = SetDelay(100);
Line 375... Line 375...
375
          Polling();
375
          LIBFC_Polling();
376
        }
376
        }
377
 
377