Multiwii Aux Kanal Low/mid/high Werte ändern?

franko_

Erfahrener Benutzer
#1
Hallo,

habe ein Problem mit einem 3 Fach Schalter und entsprechenden Aux Kanal.
Original Aux Schalter geht, mit Kanalerweiterung habe ich dieses Phänomen.

Die Werte für low/mid und high fangen bei 1300 und hören bei 1700(mid) und 2100(high) auf.
Mit dieser Konstellation kann ich leider nur 2 Wege schalten.

Kann ich die Schwellwerte für low/mid und high ändern?
Habe was gefunden, weiss aber nicht ob´s richtig ist:

Code:
rcStickThrottleSlider = controlP5.addSlider("Throt",900,2100,1500,xRC,yRC,100,10);rcStickThrottleSlider.setDecimalPrecision(0);
  rcStickPitchSlider =    controlP5.addSlider("Pitch",900,2100,1500,xRC,yRC+15,100,10);rcStickPitchSlider.setDecimalPrecision(0);
  rcStickRollSlider =     controlP5.addSlider("Roll",900,2100,1500,xRC,yRC+30,100,10);rcStickRollSlider.setDecimalPrecision(0);
  rcStickYawSlider  =     controlP5.addSlider("Yaw",900,2100,1500,xRC,yRC+45,100,10);rcStickYawSlider.setDecimalPrecision(0);
  rcStickAUX1Slider =     controlP5.addSlider("AUX1",900,2100,1500,xRC,yRC+60,100,10);rcStickAUX1Slider.setDecimalPrecision(0);
  rcStickAUX2Slider =     controlP5.addSlider("AUX2",900,2100,1500,xRC,yRC+75,100,10);rcStickAUX2Slider.setDecimalPrecision(0);
  rcStickAUX3Slider =     controlP5.addSlider("AUX3",900,2100,1500,xRC,yRC+90,100,10);rcStickAUX3Slider.setDecimalPrecision(0);
  rcStickAUX4Slider =     controlP5.addSlider("AUX4",900,2100,1500,xRC,yRC+105,100,10);rcStickAUX4Slider.setDecimalPrecision(0);
Vllt. hat´s einer mal umgestellt ..
 
Zuletzt bearbeitet:

olex

Der Testpilot
#2
Probiert habe ich nicht, sieht aber für mich so aus als wären die Werte hardcoded in der MultiWii.ino. In der r1391 Zeilen 1146-1147:

Code:
for(i=0;i<4;i++)
      auxState |= (rcData[AUX1+i]<1300)<<(3*i) | (1300<rcData[AUX1+i] && rcData[AUX1+i]<1700)<<(3*i+1) | (rcData[AUX1+i]>1700)<<(3*i+2);
Einfach mal hier die 1300 und 1700 auf die gewünschten Werte ändern und schauen was passiert :)
 

franko_

Erfahrener Benutzer
#3
Danke, werd´s nachher mal probieren und berichten.

Ich hab´s jetzt nicht probiert, aber das ändert alle Thresholds der Aux Kanäle..
Will eigentlich nur explizit einen ändern, da er ja aus der Reihe tanzt ...

Irgendwie lässt sich die Multiwiiconf.pde nicht kompilieren .... bin zu dämlich dafür
 
Zuletzt bearbeitet:

maker7

Erfahrener Benutzer
#4
Zwar schon etwas Älter hier. Habe ein ähnliches Problem durch auflösen der for-Schleife gelöst. Somit können die Schwellwerte für jeden Kanal individuell angepasst werden

Code:
// aux-channel 1
auxState |= (rcData[AUX1]<1300) | (1300<rcData[AUX1] && rcData[AUX1]<1700)<<(1) | (rcData[AUX1+i]>1700)<<(2);
// aux-channel 2
auxState |= (rcData[AUX1+1]<1300)<<(3) | (1300<rcData[AUX1+1] && rcData[AUX1+1]<1700)<<(4) | (rcData[AUX1+1]>1700)<<(5);
// aux-channel 3
auxState |= (rcData[AUX1+2]<1300)<<(6) | (1300<rcData[AUX1+2] && rcData[AUX1+2]<1700)<<(7) | (rcData[AUX1+2]>1700)<<(8);
 // aux-channel 4
 auxState |= (rcData[AUX1+3]<1300)<<(9) | (1300<rcData[AUX1+3] && rcData[AUX1+3]<1700)<<(10) | (rcData[AUX1+3]>1700)<<(11);

Grüße
Elias
 
FPV1

Banggood

Oben Unten