Subversion Repositories FlightCtrl

Rev

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

Rev 1374 Rev 1377
Line 71... Line 71...
71
{
71
{
72
   if(number > 5) number = 5;
72
   if(number > 5) number = 5;
73
   if(number < 1) return;
73
   if(number < 1) return;
74
   eeprom_write_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * (number - 1)], length);
74
   eeprom_write_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * (number - 1)], length);
75
   eeprom_write_byte(&EEPromArray[EEPROM_ADR_PARAM_LENGTH], length); // Länge der Datensätze merken
75
   eeprom_write_byte(&EEPromArray[EEPROM_ADR_PARAM_LENGTH], length); // Länge der Datensätze merken
76
   eeprom_write_block(buffer, &EEPromArray[EEPROM_ADR_CHANNELS], 8); // 8 Kanäle merken
76
   eeprom_write_block(buffer, &EEPromArray[EEPROM_ADR_CHANNELS], 12); // 12 Kanäle merken
77
   SetActiveParamSetNumber(number);
77
   SetActiveParamSetNumber(number);
78
   LED_Init();
78
   LED_Init();
79
}
79
}
Line 80... Line 80...
80
 
80
 
Line 88... Line 88...
88
                SetActiveParamSetNumber(set);                           // diesen Parametersatz als aktuell merken
88
                SetActiveParamSetNumber(set);                           // diesen Parametersatz als aktuell merken
89
        }
89
        }
90
        return(set);
90
        return(set);
91
}
91
}
Line 92... Line -...
92
 
-
 
93
 
92
 
94
void SetActiveParamSetNumber(unsigned char number)
93
void SetActiveParamSetNumber(unsigned char number)
95
{
94
{
96
        if(number > 5) number = 5;
95
        if(number > 5) number = 5;
97
        if(number < 1) return;
96
        if(number < 1) return;
Line 194... Line 193...
194
        ADC_Init();
193
        ADC_Init();
195
        i2c_init();
194
        i2c_init();
196
        SPI_MasterInit();
195
        SPI_MasterInit();
Line 197... Line 196...
197
 
196
 
198
        sei();
-
 
199
 
197
        sei();
200
        printf("\n\r===================================");
198
        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');
199
        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");
200
        printf("\n\rthe use of this software is only permitted \n\ron original MikroKopter-Hardware");
203
        printf("\n\rwww.MikroKopter.de (c) HiSystems GmbH");
201
        printf("\n\rwww.MikroKopter.de (c) HiSystems GmbH");
Line 206... Line 204...
206
    if(UCSR1A == 0x20 && UCSR1C == 0x06)  // initial Values for 644P
204
    if(UCSR1A == 0x20 && UCSR1C == 0x06)  // initial Values for 644P
207
     {
205
     {
208
      Uart1Init();
206
      Uart1Init();
209
     }
207
     }
210
        GRN_ON;
208
        GRN_ON;
211
        ReadParameterSet(3, (unsigned char *) &EE_Parameter.Kanalbelegung[0], 9); // read only the first bytes
209
        ReadParameterSet(3, (unsigned char *) &EE_Parameter.Kanalbelegung[0], 13); // read only the first bytes
212
 
-
 
213
    if((eeprom_read_byte(&EEPromArray[EEPROM_ADR_MIXER_TABLE]) == MIXER_REVISION) && // Check Revision in the first Byte
210
    if((eeprom_read_byte(&EEPromArray[EEPROM_ADR_MIXER_TABLE]) == MIXER_REVISION) && // Check Revision in the first Byte
214
       (eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != 0xff))                   // Settings reset via Koptertool
211
       (eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != 0xff))                   // Settings reset via Koptertool
215
        {
212
        {
216
     unsigned char i;
213
     unsigned char i;
217
         RequiredMotors = 0;
214
         RequiredMotors = 0;
Line 291... Line 288...
291
         EE_Parameter.Kanalbelegung[3] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+3]);
288
         EE_Parameter.Kanalbelegung[3] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+3]);
292
         EE_Parameter.Kanalbelegung[4] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+4]);
289
         EE_Parameter.Kanalbelegung[4] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+4]);
293
         EE_Parameter.Kanalbelegung[5] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+5]);
290
         EE_Parameter.Kanalbelegung[5] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+5]);
294
         EE_Parameter.Kanalbelegung[6] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+6]);
291
         EE_Parameter.Kanalbelegung[6] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+6]);
295
         EE_Parameter.Kanalbelegung[7] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+7]);
292
         EE_Parameter.Kanalbelegung[7] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+7]);
-
 
293
                 
-
 
294
         if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+8]) < 255)
-
 
295
                  {
-
 
296
                   EE_Parameter.Kanalbelegung[K_POTI5] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+8]);
-
 
297
           EE_Parameter.Kanalbelegung[K_POTI6] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+9]);
-
 
298
           EE_Parameter.Kanalbelegung[K_POTI7] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+10]);
-
 
299
           EE_Parameter.Kanalbelegung[K_POTI8] = eeprom_read_byte(&EEPromArray[EEPROM_ADR_CHANNELS+11]);
-
 
300
                  }
-
 
301
                  else
-
 
302
                  {
-
 
303
           EE_Parameter.Kanalbelegung[K_POTI5] = 9;
-
 
304
           EE_Parameter.Kanalbelegung[K_POTI6] = 10;
-
 
305
           EE_Parameter.Kanalbelegung[K_POTI7] = 11;
-
 
306
           EE_Parameter.Kanalbelegung[K_POTI8] = 12;
-
 
307
                  }
296
         if(i==1) printf(": Generating Default-Parameter using old Stick Settings");
308
         if(i==1) printf(": Generating Default-Parameter using old Stick Settings");
297
                } else DefaultStickMapping();
309
                } else DefaultStickMapping();
298
       WriteParameterSet(i, (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
310
       WriteParameterSet(i, (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
299
      }
311
      }
300
          SetActiveParamSetNumber(3); // default-Setting
312
          SetActiveParamSetNumber(3); // default-Setting