Subversion Repositories FlightCtrl

Rev

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

Rev 1278 Rev 1298
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
unsigned char BattLowVoltageWarning = 94;
57
unsigned char BattLowVoltageWarning = 94;
58
unsigned int FlugMinuten = 0,FlugMinutenGesamt = 0;
58
// -- Parametersatz aus EEPROM lesen ---
59
// -- Parametersatz aus EEPROM lesen ---
59
// number [1..5]
60
// number [1..5]
60
void ReadParameterSet(unsigned char number, unsigned char *buffer, unsigned char length)
61
void ReadParameterSet(unsigned char number, unsigned char *buffer, unsigned char length)
61
{
62
{
Line 152... Line 153...
152
//############################################################################
153
//############################################################################
153
//Hauptprogramm
154
//Hauptprogramm
154
int main (void)
155
int main (void)
155
//############################################################################
156
//############################################################################
156
{
157
{
157
        unsigned int timer,i;
158
        unsigned int timer,i,timer2 = 0;
158
    DDRB  = 0x00;
159
    DDRB  = 0x00;
159
    PORTB = 0x00;
160
    PORTB = 0x00;
160
    for(timer = 0; timer < 1000; timer++); // verzögern
161
    for(timer = 0; timer < 1000; timer++); // verzögern
161
    if(PINB & 0x01)
162
    if(PINB & 0x01)
162
     {
163
     {
Line 288... Line 289...
288
      }
289
      }
289
          SetActiveParamSetNumber(3); // default-Setting
290
          SetActiveParamSetNumber(3); // default-Setting
290
          eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], EE_DATENREVISION);
291
          eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], EE_DATENREVISION);
291
        }
292
        }
Line -... Line 293...
-
 
293
 
-
 
294
    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]);
-
 
296
    if(FlugMinutenGesamt == 0xffff)
-
 
297
         {
-
 
298
          FlugMinuten = 0;
-
 
299
          FlugMinutenGesamt = 0;
-
 
300
         }
-
 
301
    printf("\n\rFlight-time %u min  Total:%u min" ,FlugMinuten,FlugMinutenGesamt);
292
 
302
 
293
    if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACC_NICK]) > 4)
303
    if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACC_NICK]) > 4)
294
     {
304
     {
295
       printf("\n\rACC not calibrated !");
305
       printf("\n\rACC not calibrated !");
Line 393... Line 403...
393
                                }
403
                                }
394
                                else MikroKopterFlags &= ~FLAG_LOWBAT;
404
                                else MikroKopterFlags &= ~FLAG_LOWBAT;
395
                                SPI_StartTransmitPacket();
405
                                SPI_StartTransmitPacket();
Line 396... Line 406...
396
 
406
 
-
 
407
                                SendSPI = 4;
-
 
408
                                if(!MotorenEin) timer2 = 1300; // 0,5 Minuten aufrunden
-
 
409
                                if(++timer2 == 2600)  // eine Minute
-
 
410
                                 {
-
 
411
                                   timer2 = 0;
-
 
412
                   FlugMinuten++;
-
 
413
                       FlugMinutenGesamt++;
-
 
414
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES2],FlugMinuten / 256); // ACC-NeutralWerte speichern
-
 
415
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES2+1],FlugMinuten % 256); // ACC-NeutralWerte speichern
-
 
416
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES],FlugMinutenGesamt / 256); // ACC-NeutralWerte speichern
-
 
417
                   eeprom_write_byte(&EEPromArray[EEPROM_ADR_MINUTES+1],FlugMinutenGesamt % 256); // ACC-NeutralWerte speichern
397
                                SendSPI = 4;
418
                             }
398
                                timer = SetDelay(20);
419
                                timer = SetDelay(20);
399
                        }
420
                        }
400
           LED_Update();
421
           LED_Update();
401
          }
422
          }