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 | } |