Rev 991 | Rev 1021 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 991 | Rev 993 | ||
---|---|---|---|
Line 53... | Line 53... | ||
53 | 53 | ||
54 | unsigned char EEPromArray[E2END+1] EEMEM; |
54 | unsigned char EEPromArray[E2END+1] EEMEM; |
55 | unsigned char PlatinenVersion = 10; |
55 | unsigned char PlatinenVersion = 10; |
56 | unsigned char SendVersionToNavi = 1; |
56 | unsigned char SendVersionToNavi = 1; |
57 | // -- Parametersatz aus EEPROM lesen --- |
57 | // -- Parametersatz aus EEPROM lesen --- |
58 | // number [0..5] |
58 | // number [1..5] |
59 | void ReadParameterSet(unsigned char number, unsigned char *buffer, unsigned char length) |
59 | void ReadParameterSet(unsigned char number, unsigned char *buffer, unsigned char length) |
60 | { |
60 | { |
- | 61 | if((number > 5)||(number < 1)) number = 3; |
|
61 | if (number > 5) number = 5; |
62 | number--; |
62 | eeprom_read_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
63 | eeprom_read_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
63 | LED_Init(); |
64 | LED_Init(); |
Line 64... | Line -... | ||
64 | } |
- | |
65 | 65 | } |
|
66 | 66 | ||
67 | // -- Parametersatz ins EEPROM schreiben --- |
67 | // -- Parametersatz ins EEPROM schreiben --- |
68 | // number [0..5] |
68 | // number [1..5] |
69 | void WriteParameterSet(unsigned char number, unsigned char *buffer, unsigned char length) |
69 | void WriteParameterSet(unsigned char number, unsigned char *buffer, unsigned char length) |
- | 70 | { |
|
- | 71 | if(number > 5) number = 5; |
|
70 | { |
72 | if(number < 1) return; |
71 | if(number > 5) number = 5; |
73 | number--; |
72 | eeprom_write_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
74 | eeprom_write_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
73 | eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], number); // diesen Parametersatz als aktuell merken |
75 | eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], number); // diesen Parametersatz als aktuell merken |
Line 161... | Line 163... | ||
161 | printf("\n\rFlightControl\n\rHardware:%d.%d\n\rSoftware:V%d.%d%c ",PlatinenVersion/10,PlatinenVersion%10, VERSION_HAUPTVERSION, VERSION_NEBENVERSION,VERSION_INDEX + 'a'); |
163 | printf("\n\rFlightControl\n\rHardware:%d.%d\n\rSoftware:V%d.%d%c ",PlatinenVersion/10,PlatinenVersion%10, VERSION_HAUPTVERSION, VERSION_NEBENVERSION,VERSION_INDEX + 'a'); |
162 | printf("\n\r=============================="); |
164 | printf("\n\r=============================="); |
Line 163... | Line 165... | ||
163 | 165 | ||
Line 164... | Line 166... | ||
164 | GRN_ON; |
166 | GRN_ON; |
- | 167 | ||
- | 168 | #define EE_DATENREVISION 72 // wird angepasst, wenn sich die EEPROM-Daten geändert haben |
|
- | 169 | ReadParameterSet(0, (unsigned char *) &EE_Parameter.Kanalbelegung[0], 9); // read only the first bytes |
|
- | 170 | // valid Stick-Settings? |
|
- | 171 | if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) == 255 || eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) < 72 || |
|
- | 172 | EE_Parameter.Kanalbelegung[0] > 9 || EE_Parameter.Kanalbelegung[1] > 9 || EE_Parameter.Kanalbelegung[2] > 9 || EE_Parameter.Kanalbelegung[3] > 9) |
|
- | 173 | { |
|
- | 174 | printf("\n\rInit. EEPROM: Generating Default-Parameter and Stick-Settings..."); |
|
- | 175 | DefaultStickMapping(); |
|
- | 176 | } |
|
165 | 177 | else if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != EE_DATENREVISION) printf("\n\rInit. EEPROM: Generating Default-Parameter using old Stick Settings"); |
|
166 | #define EE_DATENREVISION 71 // wird angepasst, wenn sich die EEPROM-Daten geändert haben |
178 | |
167 | if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != EE_DATENREVISION) |
- | |
168 | { |
179 | if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != EE_DATENREVISION) |
169 | printf("\n\rInit. EEPROM: Generiere Default-Parameter..."); |
180 | { |
170 | DefaultKonstanten1(); |
181 | DefaultKonstanten1(); |
171 | for (unsigned char i=0;i<6;i++) |
182 | for (unsigned char i=1;i<6;i++) |
172 | { |
183 | { |
173 | if(i==2) DefaultKonstanten2(); // Kamera |
184 | if(i==2) DefaultKonstanten2(); // Kamera |
174 | if(i==3) DefaultKonstanten3(); // Beginner |
185 | if(i==3) DefaultKonstanten3(); // Beginner |