Skip to content

API watchdog

elektrofuzzis edited this page Jan 18, 2020 · 4 revisions

Der ftPwrDrive ist ein eigenständiger Controller, der die gesendeten Verfahrkommandos selbständig ausführt. Wird das Programm auf dem Hauptcontroller (TXT/ftDuino/Arduino) beendet, so erfährt der ftPwrDrive nichts davon. Die Motoren arbeiten die Kommandos weiter ab. Das Programmende auf dem Hauptcontroller kann mit dem Watchdog-Kommando erkannt werden.

Der Watchdog auf dem ftPwrDrive erwartet eine regelmäßig ein Lebenszeichen vom Hauptkontroller. Wird kein Lebenszeichen erkannt,

Der zweite Thread initialisiert den Watchdog und sendet regelmäßig ein keepalive-Signal vom TXT an den ftPwrDrive. Entfällt das keepalive-Signal, da der TXT hart beendet wurde, stoppt der ftPwrDrive nach spätestens 0,5 Sekunden alle Motoren.

Um den Watchdog-Thread bei einem regulären Programmende des Hauptthreads mit zu beenden, muss dort vor dem Programmende das Kommando endWatchdog aufgerufen werden. Dieses Kommando beendet im zweiten Thread die Dauerschleife.

Im Nebeneffekt werden regelmäßig Kommandos über den I²C-Bus an den ftPwrDrive gesendet. Damit wird auch der I²C-Bug des TXT umgangen.


setGearFactor sets the gear factor used in setAbsDistanceR and setRelDistanceR.

Clone this wiki locally