24,7 → 24,7 |
volatile unsigned int ZaehlMessungen = 0; |
unsigned char AnalogOffsetNick = 115,AnalogOffsetRoll = 115,AnalogOffsetGier = 115; |
volatile unsigned char AdReady = 1; |
float NeutralAccZ_float; |
//float NeutralAccZ_float; // MartinR : wozu ? |
//####################################################################################### |
// |
void ADC_Init(void) |
68,7 → 68,7 |
} |
DruckOffsetSetting = off; |
} |
#else |
#else |
off = GetParamByte(PID_PRESSURE_OFFSET); |
if(off > 20) off -= 10; |
OCR0A = off; |
142,7 → 142,7 |
//####################################################################################### |
{ |
static unsigned char kanal=0,state = 0; |
static signed char subcount = 0; |
//static signed char subcount = 0; // MartinR: wird nicht mehr benötigt, da deaktiviert |
static signed int gier1, roll1, nick1, nick_filter, roll_filter; |
static signed int accy, accx; |
static long tmpLuftdruck = 0; |
185,6 → 185,9 |
break; |
case 8: |
AdWertAccHoch = (signed int) ADC - NeutralAccZ; |
|
/* // MartinR: deaktivieren Anfang |
|
if(AdWertAccHoch > 1) |
{ |
if(NeutralAccZ < 750) |
203,6 → 206,9 |
if(subcount < -100) { NeutralAccZ--; subcount += 100;} |
} |
} |
|
*/ // MartinR: deaktivieren Ende |
|
messanzahl_AccHoch = 1; |
Aktuell_az = ADC; |
Mess_Integral_Hoch += AdWertAccHoch; // Integrieren |
240,7 → 246,9 |
if(PlatinenVersion == 10) nick1 *= 2; else nick1 *= 4; |
AdWertNick = nick1 / 8; |
nick_filter = (nick_filter + nick1) / 2; |
HiResNick = nick_filter - AdNeutralNick; |
//HiResNick = nick_filter - AdNeutralNick; // MartinR: so war es |
HiResNick = (nick_filter - AdNeutralNick + 4 ) / 8 ; // MartinR: + 4um Rundungsfehler zu verbessern |
// MartinR: /8 von fc.c nach hier verschoben um Code zu sparen |
AdWertNickFilter = (AdWertNickFilter + HiResNick) / 2; |
kanal = AD_ROLL; |
break; |
249,7 → 257,9 |
if(PlatinenVersion == 10) roll1 *= 2; else roll1 *= 4; |
AdWertRoll = roll1 / 8; |
roll_filter = (roll_filter + roll1) / 2; |
HiResRoll = roll_filter - AdNeutralRoll; |
HiResRoll = roll_filter - AdNeutralRoll; // MartinR: so war es |
HiResRoll = (roll_filter - AdNeutralRoll + 4 ) / 8; // MartinR: + 4um Rundungsfehler zu verbessern |
// MartinR: /8 von fc.c nach hier verschoben um Code zu sparen |
AdWertRollFilter = (AdWertRollFilter + HiResRoll) / 2; |
kanal = AD_DRUCK; |
break; |
259,7 → 269,9 |
ZaehlMessungen++; |
// "break" fehlt hier absichtlich |
case 9: |
MessLuftdruck = ADC; |
//MessLuftdruck = ADC; // MartinR: so war es |
MessLuftdruck = ADC + ((Parameter_UserParam4 * AdWertAccHoch) / 256) ; // MartinR: |
// mit Korrektur der Beschleunigungsempfindlichkeit des Luftdrucksensors |
tmpLuftdruck += MessLuftdruck; |
if(++messanzahl_Druck >= 18) |
{ |