Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 892 → Rev 893

/branches/MicroMag3_Nick666/V0.69k/analog.c
150,5 → 150,6
state = 0;
break;
}
if(state != 0) ANALOG_ON;
if(state != 0) ADC_START;
}
/branches/MicroMag3_Nick666/V0.69k/analog.h
20,7 → 20,7
void SucheLuftruckOffset(void);
 
 
//#define ANALOG_OFF ADCSRA=0
//#define ANALOG_ON ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADATE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(1<<ADIE)
#define ANALOG_OFF ADCSRA=0
#define ANALOG_ON ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(1<<ADIE)
 
#define ANALOG_ON ADCSRA |= (1<<ADSC)
#define ADC_START ADCSRA |= (1<<ADSC)
/branches/MicroMag3_Nick666/V0.69k/fc.c
348,9 → 348,8
void CalibrierMittelwert(void)
//############################################################################
{
// IRQ auschalten, damit die Werte sich nicht während der Berechnung ändern
uint8_t temp_sreg = SREG;
cli();
// ADC auschalten, damit die Werte sich nicht während der Berechnung ändern
ANALOG_OFF;
MesswertNick = AdWertNick;
MesswertRoll = AdWertRoll;
MesswertGier = AdWertGier;
357,8 → 356,8
Mittelwert_AccNick = ACC_AMPLIFY * (long)AdWertAccNick;
Mittelwert_AccRoll = ACC_AMPLIFY * (long)AdWertAccRoll;
Mittelwert_AccHoch = (long)AdWertAccHoch;
// IRQ einschalten
SREG = temp_sreg;
// ADC einschalten
ANALOG_ON;
if(Poti1 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 128 && Poti1 < 255) Poti1++; else if(Poti1 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 128 && Poti1 > 0) Poti1--;
if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 128 && Poti2 < 255) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 128 && Poti2 > 0) Poti2--;
1051,8 → 1050,7
 
DebugOut.Analog[0] = IntegralNick / EE_Parameter.GyroAccFaktor;
DebugOut.Analog[1] = IntegralRoll / EE_Parameter.GyroAccFaktor;
DebugOut.Analog[2] = Mittelwert_AccNick;
DebugOut.Analog[2] = Mittelwert_AccNick;
DebugOut.Analog[3] = Mittelwert_AccRoll;
DebugOut.Analog[4] = MesswertGier;
DebugOut.Analog[5] = HoehenWert;