RE: [gelöst!] Wie kann ich den Motorstart per Rollknüppel deaktivieren?
jjk hat gesagt.:
Die Reiter heissen meistens wie das entsprechende .pde File. Sprich die MultiWii.pde ( oder MultiWii_1_8_patch2.pde) ... Sorry, bin jetzt erst @Rechner, aber Du hast es ja gefunden
Ich hätte aber mal noch einen anderen Änderungswunsch, bei dem ich unsicher bin:
Und zwar will ich die Kalibrierungen am Gasstick wie beim MK belegen, also
Gyro oben links und ACC oben rechts.
Für ACC habe ich das schon mal geändert (rote Schrift). Das müsste so passen!?
Aber bei Gyro (Grün) weiß ich nicht so recht, was alles dazu gehört und wie man das mit dem "if" und "} else if" fehlerfrei macht. Diese Zeile müsste ja wohl irgendwie mit unter " } else if (rcData[THROTTLE] > MAXCHECK && armed == 0) {" auftauchen?!
Code:
if (rcData[THROTTLE] < MINCHECK) {
errorGyroI[ROLL] = 0; errorGyroI[PITCH] = 0; errorGyroI[YAW] = 0;
errorAngleI[ROLL] = 0; errorAngleI[PITCH] = 0;
rcDelayCommand++;
if (rcData[YAW] < MINCHECK && rcData[PITCH] < MINCHECK && armed == 0) {
if (rcDelayCommand == 20) calibratingG=400;
} else if (rcData[YAW] > MAXCHECK && rcData[PITCH] > MAXCHECK && armed == 0) {
if (rcDelayCommand == 20) {
servo[0] = 1500; //we center the yaw gyro in conf mode
writeServos();
#if defined(LCD_CONF)
configurationLoop(); //beginning LCD configuration
#endif
previousTime = micros();
}
} else if (activate[BOXARM] > 0) {
if ((rcOptions & activate[BOXARM]) && okToArm ) armed = 1;
else if (armed) armed = 0;
rcDelayCommand = 0;
} else if ( (rcData[YAW] < MINCHECK) && armed == 1) {
if (rcDelayCommand == 20) armed = 0; // rcDelayCommand = 20 => 20x20ms = 0.4s = time to wait for a specific RC command to be acknowledged
} else if ( (rcData[YAW] > MAXCHECK) && rcData[PITCH] < MAXCHECK && armed == 0 && calibratingG == 0 && calibratedACC == 1) {
if (rcDelayCommand == 20) armed = 1;
#ifdef LCD_TELEMETRY_AUTO
} else if (rcData[ROLL] < MINCHECK && rcData[PITCH] > MAXCHECK && armed == 0) {
if (rcDelayCommand == 20) {
if (telemetry_auto) {
telemetry_auto = 0;
telemetry = 0;
} else
telemetry_auto = 1;
}
#endif
} else
rcDelayCommand = 0;
} else if (rcData[THROTTLE] > MAXCHECK && armed == 0) {
if (rcData[YAW] < MAXCHECK && rcData[PITCH] < MINCHECK) {
if (rcDelayCommand == 20) calibratingA=400;
rcDelayCommand++;
} else if (rcData[PITCH] > MAXCHECK) {
accTrim[PITCH]++;writeParams();
} else if (rcData[PITCH] < MINCHECK) {
accTrim[PITCH]--;writeParams();
} else if (rcData[ROLL] > MAXCHECK) {
accTrim[ROLL]++;writeParams();
} else if (rcData[ROLL] < MINCHECK) {
accTrim[ROLL]--;writeParams();
} else {
rcDelayCommand = 0;
}