Hallo antanis,

willkommen im "RP6-Club"!

Wie du schon gesagt hast:
Deine "eigenefunktion" blockiert die Hauptprogrammschleife (wenn sie da eingebaut wird) und verhindert die zeitnahe Abarbeitung anderer Tasks.

Die Lösung dafür sind die Stopwatches.
Wenn du in der Funktion die mSleep Aufrufe durch Stopwatch-Abfragen ("if (getStopwatch1() > 80 ..." usw) ersetzt, dann wartet die Funktion nicht mehrfach 80ms (gesamt fast 1,4 sec).

Gruß Dirk