Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 79 → Rev 84

/branches/salvo_test/fc.c
657,8 → 657,13
if(w > 0)
{
ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern
if(!SignalSchlecht) Mess_Integral_Gier += (KompassRichtung * w) / 32; // nach Kompass ausrichten
ANALOG_ON; // ADC einschalten
// Salvo Winkelbegrenzung 29.8.2007 ******************
if ( (abs (KompassRichtung)) < 135 )
{
if(!SignalSchlecht) Mess_Integral_Gier += (KompassRichtung * w) / 32; // nach Kompass ausrichten
}
// Salvo End
ANALOG_ON; // ADC einschalten
if(SignalSchlecht) SignalSchlecht--;
}
else SignalSchlecht = 500; // so lange das Signal taub stellen --> ca. 1 sek
/branches/salvo_test/timer0.c
52,12 → 52,22
{
if((cntKompass) && (cntKompass < 4000))
{
KompassValue = cntKompass;
}
// if(cntKompass < 10) cntKompass = 10;
// KompassValue = (unsigned long)((unsigned long)(cntKompass-10)*720L + 1L) / 703L;
KompassRichtung = ((540 + KompassValue - KompassStartwert) % 360) - 180;
cntKompass = 0;
KompassValue = cntKompass;
// Salvo Korrektur Ausrichtung kompass ****************************
KompassValue -= KOMPASS_OFFSET ;
if (KompassValue < 0)
{
KompassValue = KompassValue +360;
}
if (KompassValue >= 360)
{
KompassValue = KompassValue -360;
}
// Salvo End ********************
}
 
cntKompass = 0;
KompassRichtung = ((540 + KompassValue - KompassStartwert) % 360) - 180;
}
}
}
/branches/salvo_test/timer0.h
1,6 → 1,9
 
#define TIMER_TEILER CK8
#define TIMER_RELOAD_VALUE 250
// Salvo 30.8.2007 ********************
#define KOMPASS_OFFSET 135 // Differenz Winkel zwischen Nordachse Kopter und Nordachse Kompass.
// Salvo End ******************** //
 
void Timer_Init(void);
void Delay_ms(unsigned int);
11,4 → 14,4
extern volatile unsigned char UpdateMotor;
extern volatile unsigned int beeptime;
extern volatile unsigned int cntKompass;
extern int ServoValue;
extern int ServoValue;