Bitte im Forum [ code ] tags verwenden.


Da Du direkt die PWM Werte mit deiner eigenen setMotorPWM Funktion änderst (ohne die normale Geschwindigkeitsregelung) darfst Du task_RP6System(); nicht verwenden da darin die MotionControl funktion aufgerufen wird.
Das funktioniert dann natürlich nicht weil zwei verschiedene Funktionen die PWM Werte ändern...

Oh moment ich sehe gerade du verwendest auch zustäzlich noch setMotorPower - die macht das gleiche wie Deine setMotorPWM Funktion hat aber den Vorteil das die PWM Werte sanft geändert werden und nicht abrupt.
Da steht übrigens in der Doku auch dabei das man die nicht verwenden darf wenn die Geschwindigkeitsregelung benutzt wird.

setMotorPWM, setMotorPower und task_MotionControl werden also gleichzeitig verwendet - vertragen sich aber überhaupt nicht untereinander.

In der MotionControl Funktion sind diverse Fehlerabfragen drin und die schalten dann aus gutem Grund vorsichtshalber die Motoren aus.


Gibt es einen bestimmten Grund warum Du nicht die normalen Funktionen zur Geschwindigkeitsregelung aus der RP6Lib verwendest?
Falls nein, dann solltest Du das mal lieber ändern (also die setMotorPWM / Power Aufrufe durch moveAtSpeed(links, rechts) ersetzen - dann MUSS die task_RP6System natürlich da bleiben wo sie ist).


MfG,
SlyD