Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 372 → Rev 373

/branches/v0.60_MicroMag3_Nick666/trunc/main.c
51,16 → 51,17
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#include "main.h"
 
// unsigned char EEPromArray[E2END+1] EEMEM;
unsigned char EEPromArray[501] EEMEM;
unsigned char EEPromArray[10] EEMEM;
struct mk_param_struct EEParameterArray[5] EEMEM;
 
 
// -- Parametersatz aus EEPROM lesen ---
// number [0..5]
void ReadParameterSet(unsigned char number, unsigned char *buffer, unsigned char length)
{
if (number > 5) number = 5;
eeprom_read_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length);
 
number--; // Auf Index 0 bis 4 anpassen
eeprom_read_block(buffer, &EEParameterArray[number], length);
}
 
 
68,8 → 69,9
// number [0..5]
void WriteParameterSet(unsigned char number, unsigned char *buffer, unsigned char length)
{
if (number > 5) number = 5;
eeprom_write_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length);
if (number > 5) number = 5;
number--; // Auf Index 0 bis 4 anpassen
eeprom_write_block(buffer, &EEParameterArray[number], length);
 
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], number); // diesen Parametersatz als aktuell merken
}
126,7 → 128,7
printf("\n\r==============================");
GRN_ON;
 
if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != 59) // seit V 0.60
if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != 60) // seit V 0.60
{
printf("\n\rInit. EEPROM: Generiere Default-Parameter...");
DefaultKonstanten1();
133,13 → 135,13
for (unsigned char i=0;i<6;i++)
{
if(i==2) DefaultKonstanten2();
WriteParameterSet(i, (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
WriteParameterSet(i, (unsigned char *) &EE_Parameter.Kanalbelegung[0], sizeof(struct mk_param_struct));
}
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], 1);
eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], 59);
eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], 60);
}
ReadParameterSet(GetActiveParamSetNumber(), (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
ReadParameterSet(GetActiveParamSetNumber(), (unsigned char *) &EE_Parameter.Kanalbelegung[0], sizeof(struct mk_param_struct));
printf("\n\rBenutze Parametersatz %d", GetActiveParamSetNumber());
//kurze Wartezeit (sonst reagiert die "Kompass kalibrieren?"-Abfrage nicht