Hallo
es gibt auch noch eine elegantere Methode die MAG Kalibrierung zu starten. Alles ohne GUI !
schaut euch mal eure MultiWii.pde oder MultiWii.ino an. Ab Zeile 416 in etwa kommt dieser Teil:
Code:
} else if (rcData[THROTTLE] > MAXCHECK && armed == 0) {
if (rcData[YAW] < MINCHECK && rcData[PITCH] < MINCHECK) { //throttle=max, yaw=left, pitch=min
if (rcDelayCommand == 20) calibratingA=400;
rcDelayCommand++;
} else if (rcData[PITCH] > MAXCHECK) {
accTrim[PITCH]+=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else if (rcData[PITCH] < MINCHECK) {
accTrim[PITCH]-=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else if (rcData[ROLL] > MAXCHECK) {
accTrim[ROLL]+=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else if (rcData[ROLL] < MINCHECK) {
accTrim[ROLL]-=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else {
rcDelayCommand = 0;
}
}
Ändert diesen Teil wie folgt ab:
Code:
} else if (rcData[THROTTLE] > MAXCHECK && armed == 0) {
if (rcData[YAW] < MINCHECK && rcData[PITCH] < MINCHECK) { //throttle=max, yaw=left, pitch=min
if (rcDelayCommand == 20) calibratingA=400;
rcDelayCommand++;
} else if (rcData[YAW] > MAXCHECK && rcData[PITCH] < MINCHECK) { //throttle=max, yaw=right, pitch=min
if (rcDelayCommand == 20) calibratingM=1; // MAG calibration request
rcDelayCommand++;
} else if (rcData[PITCH] > MAXCHECK) {
accTrim[PITCH]+=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else if (rcData[PITCH] < MINCHECK) {
accTrim[PITCH]-=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else if (rcData[ROLL] > MAXCHECK) {
accTrim[ROLL]+=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else if (rcData[ROLL] < MINCHECK) {
accTrim[ROLL]-=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else {
rcDelayCommand = 0;
}
}
Nun könnt ihr draussen im Feld oder wo auch immer mit folgender Stick-Kombination die Kalibrierung starten:
Die Motore müssen aus sein !!!!
GAS/Throttle nach oben
YAW nach rechts
Nick nach unten/hinten
nun blinkt die Status-LED und ihr könnt die Kalibrierung starten. Am besten alle Achsen 2mal drehen!
Aber schnell schnell
die Zeit zum Kalibrieren beträgt mas. 30 Sekunden
Danke an HAMBURGER für diesen Code!