@micha59: Danke für Deine Bemühungen !!!!!!!
@RalfB: Deine Config.h ist korrekt.
Zu der Sache mit "#define I2C_SPEED": Das ist NUR interessant, wenn ein original WMP Gyro verbaut ist (bei Dir nicht der Fall, da ITG / ADXL Kombi). Was man da angibt ist ohne WMP vollkommen egal, weil alle anderen Sensoren sowieso mit voller Geschwindigkeit ausgelesen werden.
Zu dem Problem:
Es ist der ADXL345. Was man im Internet so liesst, liefert er ein relativ verrauschtes Signal ab, was auch genau zu Deinen Symptomen passt. Das fällt im normalen Flug nicht auf, da dort stärker gefiltert wird (s.o). Es gibt jetzt mehrere Möglichkeiten.
1.: Meinen Softwarefilter voll aufdrehen: define AccBaroLPF 100 Das sollte es eigentlich machen. Natürlich ist die Altholdregelung dann nicht mehr so prall. Von dort aus kann man dann in 10% Schritten den Filter reduzieren um eine optimale Einstellung zu finden. Lass Dir ruhig mal die Kurven mit #define AccBaroDebug anzeigen.
2.: Den Hardwarefilter für Deinen ADXL erhöhen.
Dazu musst Du unter Sensors die Zeile 682 finden:
i2c_writeReg(ADXL345_ADDRESS,0x2C,0x09); // register: BW_RATE -- value: rate=50hz, bw=20hz
und durch diese ersetzen:
i2c_writeReg(ADXL345_ADDRESS,0x2C,0x08); // register: BW_RATE 25hz, bw=12.5hz
Das beeinträchtigt jedoch ggf. Deinen "Level" - Flugmodus, dann müsste man dafür den Filter auch noch anpassen oder level P erhöhen.
3.: Ein anderes Accelerometer verwenden
EDIT: Da fällt mir noch etwas wichtiges ein:
Wenn Du den Copter nach oben bewegst, müssen die Werte für accz in der GUI grösser werden - sonst kann es natürlich überhaupt nicht gehen.
LG
Rob
P.s.: ADXL und BMP scheinen eine eher unglückliche Kombi für eine Datenfusion zu sein.