HaBuRo5 Python main().

Zurück


Aus Sicht der Software läuft hier alles zusammen. Die Hauptroutine »main()« meldet sieben Parallelprogramme (Threads) an. Bei der Kommunikation zur PC-Visualisierung (UDP oder Xbee-Radio) sind die Variablen der Datenübertragung sehr sparsam ausgeführt. Die gesamte Steuerung kommt mit zwei Variablen aus: Das »Steuerwort« und das »Zustandswort«. In diesen Variablen werden alle Anwenderbefehle BIT-Kodiert abgelegt, siehe Klasse Tools, Zeile 94 bis 152. Im Steuerwort werden von der Visualisierung die Befehle einkopiert und zum Roboter geschickt. Der Roboter reagiert darauf und sendet ein Zustandswort zur Plausibilitätsprüfung.
Wenn keine Laufzeit vom PC vorgegeben ist, dann ist die Betriebszeit des Roboters im Standard 60 Minuten. Siehe Zeile 357 und Zeile 461 bis 463. Mit dem Joystick (Sense Hat) kann die Spielerei jederzeit abgebrochen werden.

Zeile 27 bis 29: Ersetzt den Punkt in ein Komma. Für Sprachausgabe.
Zeile 36 bis 43: Thread. Sprachausgabe FIFO.
Zeile 49 bis 66: Thread. Webradio.
Zeile 72 bis 90: Thread. Zählt die Radumdrehungen. GPIO-Input.
Zeile 96 bis 122: Thread. Alle Sensoren.
Zeile 128 bis 161: Thread. Xbee oder UDP Kommunikation. Hier Lesen vom PC.
Zeile 167 bis 183: Thread. Xbee oder UDP Kommunikation. Hier Schreiben zum PC.
Zeile 189 bis 342: Thread. Antrieb.
Zeile 347 bis 609: Hauptprogramm main().
main() Zeile 348 bis 411: Initialisierung Variablen, Klassen Objekte deklarieren.
main() Zeile 414 bis 432: Thread anmelden und starten. Sense Hat Sensoren handeln.
main() Zeile 435 bis 463: Überprüfung der Systeme. Plausibilitätsannahme.
main() Zeile 464 bis 583: Loop.
 loop: Zeile 477 bis 485: Kamera Servo Steuerung. Auswertung Steuerwort PC.
 loop: Zeile 477 bis 485: Kamera Servo Steuerung. Auswertung Steuerwort PC.
 loop: Zeile 487 bis 495: Kamerawebserver. Auswertung Steuerwort PC.
 loop: Zeile 477 bis 485: Kamera Servo Steuerung. Auswertung Steuerwort PC.
 loop: Zeile 498 bis 504: Stoßstange. GPIO. Meldung an eSpeak
 loop: Zeile 507 bis 512: LED-Beleuchtung. Auswertung Steuerwort PC.
 loop: Zeile 515 bis 517: Zeitansage. Meldung an eSpeak.
 loop: Zeile 520 bis 525: Wetteransage. Meldung an eSpeak.
 loop: Zeile 527 bis 534: Zustand Akku. Meldung an eSpeak.
 loop: Zeile 537 bis 539: Allgemeine Information. Meldung an eSpeak.
 loop: Zeile 542 bis 557: Unterspannung Akku. Meldung an eSpeak. Exit Programm
 loop: Zeile 560 bis 567: Objekterkennung rechts/links. PIC Mikrocontroller.
 loop: Zeile 570 bis 577: Sense HAT, Joystick, Shutdown RaPi
main() Zeile 584 bis 595: Sprachausgabe Ende Programm. Alles auf Null setzen.
main() Zeile 597 bis 609: Threads beenden und auf Rückmeldung warten.


main()_Teil1 main()_Teil2 main()_Teil3 main()_Teil4 main()_Teil5 main()_Teil6 main()_Teil7 main()_Teil8 main()_Teil9 main()_Teil10 main()_Teil11 main()_Teil12
Zurück