[gelöst:] PID library - funktioniert [-nicht-]

[OT]
Als NXT-Ersatz muss er nicht taugen, außerdem fehlt mir ja schon beim NXT als "Hauptrechner" oder i2c-Master ausreichend RAM (er hat nur 64 kB) - 512kB RAM aufwärts könnte ich gebrauchen.

Wenn aber der neue dann unter Linux läuft, dann kann man sicher gpp Toolchains mit POSIX libs verwenden, die pthread unterstützen (wie EV3).

Aber schon als i2c-Slave, als Motor- und Sensor-Multiplexer, wäre MT sinnvoll .
Denn das Betriebssystem an sich muss ja gar nicht MT-fähig sein, wie die Beispiele RCX (Renessas H8/300), NXT (ARM 8 ), und Robo TX (ARM9) zeigen, man braucht nur eine VM, die das für einen erledigt .

So eine VM müsste sicherlich auch auf dem Mega einzurichten sein.
Timer-Interrupts wären dann überflüssig und man hätte mit einem Zeitscheiben-Multithreading ein absolut ausreichendes Echtzeitverhalten (ein Dutzend oder mehr parallel-laufende, unabhängige loop-Tasks). Der Mega ist dazu vom cpu-Takt und Speicher leistungsfähig genug.
[/OT]

Trotzdem würde mich interessieren, warum der PID "Regler" das Überschießen des Motors nicht gegenreguliert. Nach meiner Meinung müsste mein Code mit den Encodern und den Motor-pwm- und Richtungspins doch richtig funktionieren! (direkt aufgerufen funktionieren sie ja auch korrekt nach Stärke und Richtung!)