Wie kann ich den Motorstart per Rollknüppel deaktivieren? [gelöst]

#1
Mich persönlich stört der Motorstart über den Rollknüppel.

Ich habe jetzt über eine Stunde vergeblich im 1.8er Sketch nach einem entsprechendem Befehl gesucht und nichts gefunden. (Auch Google habe ich bemüht, bevor ich Euch mit Fragen löchern wollte. ;) )

Aber im Sketch steht doch ALLES drin, was der Copter tun und lassen soll? (bis auf die Einstellungen aus der Gui)

Kann mir jemand einen Tipp geben, wo ich die entsprechende Zeile in der 1.8er finde oder vielleicht sogar wie genau ich diese Funktion auf Roll deaktiviere?
 

gfunk

Erfahrener Benutzer
#2
RE: Wie kann ich den Motorstart per Rollknüppel deaktivieren?

im gui kannst du motor arm/disarm auf aux1/aux2 legen...
sobald du das machst ist das knüppelfreischalten deaktiviert.
 
#3
RE: Wie kann ich den Motorstart per Rollknüppel deaktivieren?

Hmm, naja...
Wäre zwar eine Variante, aber nicht das, was ich beabsichtige.
Die Funktion am linken Knüppel wollte ich dabei schon beibehalten, weil ich es vom Mikrokopter so gewohnt bin.

Trotzdem danke für Deine Bemühungen.
 
#4
RE: Wie kann ich den Motorstart per Rollknüppel deaktivieren?

Hi,

suche die Stelle

Code:
if (rcData[THROTTLE] < MINCHECK) {
in der MultiWii.pde, damit wird die Einstellung eingeleitet die mit Gas auf 0 anfangen. In diesem if-Block gibt es dann folgende Stelle:

Code:
} else if ( (rcData[YAW] < MINCHECK || rcData[ROLL] < MINCHECK)  && armed == 1) {
    if (rcDelayCommand == 20) armed = 0; 
} else if ( (rcData[YAW] > MAXCHECK || rcData[ROLL] > MAXCHECK) && rcData[PITCH] < MAXCHECK && armed == 0 && calibratingG == 0 && calibratedACC == 1) {
    if (rcDelayCommand == 20) armed = 1;
Dort muß das || rcData[ROLL] < MINCHECK bzw || rcData[ROLL] > MAXCHECK raus, so dass nur noch der YAW Teil verbleibt.
Das Codesnippet ist jetzt aus dem aktuellen MultiWii.pde, deswegen packe ich jetzt nicht fertigen Code hier rein, ich weiß aber dass es sehr ähnlich in der 1.8p2 auch so war, da ich das auch deaktiviert haben wollte.

Gruß
Jens
 
#5
RE: Wie kann ich den Motorstart per Rollknüppel deaktivieren?

Hi,
Ich nehm die 1.8er hier aus dem Baubericht.
Da ist der Sketch angepasst. Bei Version 2 ist das scharfstellen mit Roll deaktiviert.
Gruß Dirk
 
#6
RE: Wie kann ich den Motorstart per Rollknüppel deaktivieren?

jjk hat gesagt.:
Hi,
suche die Stelle
...
Gruß
Jens
Super, danke! DAS ist sicher das gesuchte!!!! :)
Aber verrätst Du mir bitte noch, unter welchem Karteireiter ich das finde? ( EEPROM, IMU, LCD,.....)

diach hat gesagt.:
Hi,
Ich nehm die 1.8er hier aus dem Baubericht.
Da ist der Sketch angepasst. Bei Version 2 ist das scharfstellen mit Roll deaktiviert.
Gruß Dirk
Wo genau meinst Du? (Link)
Das hier?: http://fpv-community.de/forum/showthread.php?tid=2792&pid=39013#pid39013

Ich würde mir das gern mal anschauen, um die Unterschiede zur Originalversion zu vergleichen und für mich die Anleitung von Jens zu bestätigen.
(Ich möchte es ja auch verstehen ;) )
 
#7
RE: Wie kann ich den Motorstart per Rollknüppel deaktivieren?

Hi,
ja genau da.
Unter Punkt Nr.11. Programmierung
Gruß Dirk
 
#9
RE: [gelöst!] Wie kann ich den Motorstart per Rollknüppel deaktivieren?

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 ;)
 
#10
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;
}
 
FPV1

Banggood

Oben Unten