Subversion Repositories FlightCtrl

Rev

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

Rev 2008 Rev 2009
Line 261... Line 261...
261
            ZaehlMessungen++;
261
            ZaehlMessungen++;
262
            // "break" fehlt hier absichtlich
262
            // "break" fehlt hier absichtlich
263
        case 9:
263
        case 9:
264
                MessLuftdruck = ADC;
264
                MessLuftdruck = ADC;
265
            tmpLuftdruck += MessLuftdruck;
265
            tmpLuftdruck += MessLuftdruck;
266
            if(++messanzahl_Druck >= 18)
266
            if(++messanzahl_Druck >= 16) // war bis 0.86 "18"
267
            {
267
            {
268
                            signed int tmp;
268
                            signed int tmp;
269
                                Luftdruck = (7 * Luftdruck + tmpLuftdruck - (18 * 523) * (long)ExpandBaro + 4) / 8;  // -523.19 counts per 10 counts offset step
269
                                Luftdruck = (7 * Luftdruck + tmpLuftdruck - (16 * 523) * (long)ExpandBaro + 4) / 8;  // -523.19 counts per 10 counts offset step
270
                                HoehenWert = StartLuftdruck - Luftdruck;
270
                                HoehenWert = StartLuftdruck - Luftdruck;
271
                                SummenHoehe -= SummenHoehe/SM_FILTER;
271
                                SummenHoehe -= SummenHoehe/SM_FILTER;
272
                                SummenHoehe += HoehenWert;
272
                                SummenHoehe += HoehenWert;
273
                                tmp = (HoehenWert - SummenHoehe/SM_FILTER);
273
                                tmp = (HoehenWert - SummenHoehe/SM_FILTER);
274
                                if(tmp > 1024) tmp = 1024;      else if(tmp < -1024) tmp = -1024;
274
                                if(tmp > 1024) tmp = 1024;      else if(tmp < -1024) tmp = -1024;
275
                if(abs(VarioMeter) > 700) VarioMeter = (15 * VarioMeter + 8 * tmp)/16;
275
                if(abs(VarioMeter) > 700) VarioMeter = (15 * VarioMeter + 8 * tmp)/16;
276
                                else VarioMeter = (31 * VarioMeter + 8 * tmp)/32;
276
                                else VarioMeter = (31 * VarioMeter + 8 * tmp)/32;
277
                tmpLuftdruck /= 2;
277
                tmpLuftdruck /= 2;
278
                messanzahl_Druck = 18/2;
278
                messanzahl_Druck = 16/2;
279
            }
279
            }
280
            kanal = AD_NICK;
280
            kanal = AD_NICK;
281
            break;
281
            break;
282
        default:
282
        default:
283
            kanal = 0; state = 0; kanal = AD_NICK;
283
            kanal = 0; state = 0; kanal = AD_NICK;