Beiträge von paulkannkeininfo

    @__blackjack__

    Sorry für die späte Rückmeldung. Ich habe das ganze nochmal mit meinem Prof durchgesprochen, er hat mir dann auch versichert, dass sys eigentlich funktionieren sollte. Somit war meine Abgabe in Ordnung. Informatik ist nur ein Modul was ich 1 Semester in meinem Studiengang habe, deshalb bin ich auch noch so neu auf dem Gebiet, wollte es aber verstehen und nicht einfach bei Kommilitonen abschreiben. Dein Text ist mir sehr hilfreich, da uns zu Kommentaren nie etwas erklärt wurde. Macht aufjedenfall viel mehr Sinn es so zu machen wie du es sagst!

    Vielen Dank für diese kleine Python Grundlagenerklärung :D

    Ich habe den Befehl add_event_detected eingefügt.

    Wenn ich den Emulator nun ausführe bekomme ich folgende Fehlermeldung

    AttributeError: type object GPIO has no attribute 'add_event_detected'

    Liegt das vielleicht daran das ich den Befehl an einer vollkommen falschen Stelle eingefügt habe? oder das ich ihn falsch definiert hab?

    paulkannkeininfo Lass uns doch nicht etwas glauben müssen, sag das konkret. Und nicht nur *das* Du `add_event_detect()` probiert hast, sondern auch wie. Und was ist daraufhin passiert? Wie ist das von Deinen Erwartungen abgewichen? Passierte nichts? Gab es eine Ausnahme? Falls ja, welche?

    Wo kommt eigentlich das `EmulatorGUI`-Modul her? Ist das irgendwo öffentlich zugänglich?

    https://roderickvella.wordpress.com/2016/06/28/ras…-gpio-emulator/

    Okay, ich kann deine Auffassung verstehen, ich setzte mich nochmal mit deinem Tipp add_event_detect ran, vielleicht klappts ja doch.

    Wie oft muss man dir das Stichwort "add_event_detect" noch nennen, bis du mal auf die Idee kommst, das wenigestens mal zu probieren?

    Womit __blackjack__ recht hat: einfach nur sys.exit aufrufen wird nicht funktionieren, das war mir nicht bewusst. Du wirst stattdessen zB eine Flagge setzen muessen, die dann in der Hauptschleife ausgewertet wird.

    Was glaubst du was ich gestern probiert habe? Ich schreibe doch nicht aus Spaß hier rein und suche nach Hilfe.

    @__deets__: Mit Modul wird `sys` gemeint sein, denn das `exit()` auch so erreichbar ist, ist soweit ich weiss nirgends dokumentiert und eigentlich nur da weil das in der Interaktiven Shell verfügbar ist.

    Und es könnte sein dass das mit `add_event_detect()` so direkt nicht funktioniert, weil der Callback in einem anderen Thread ausgeführt wird, und `sys.exit()` funktioniert nur im Hauptthread. Man könnte die Information mit einem `threading.Event` wieder in den Hauptthread kommunizieren und das für die Ampel auch als `sleep()` verwenden, damit das auch die Pausen unterbrechen kann. Ist für einen Anfänger IMHO aber alles ziemlich heftig.

    Vielen Dank für die nette Antwort. Ich bin absolut neu im Thema Python.. ich habe mich weiter informiert und, sys ist das richtige Modul, da haben Sie recht. Das Programm soll dann mit sys.exit beendet werden. Ich bin mir nur noch nicht ganz sicher wie ich den Befehl nun mit dem Schalter verknüpfe, so dass das Programm bei auslösen des Schalters beendet wird.

    Wusste nicht ob es da gelesen wird. Sorry.

    Habe das jetzt gerade probiert hat leider nicht geklappt.

    Die Aufgabenstellung lautet im Wortlaut:

    "Erstellen Sie einen weiteren Schalter. Beim „Drücken“
    des zweiten Schalter soll das Programm mit dem Befehl
    „exit()“ beendet werden. Dafür benötigen Sie ein
    bestimmtes Modul."

    Guten Tag,

    ich bin dabei für die Uni einen GPIO Emulator mit Python zu programmieren.

    Es geht darum eine Ampelschaltung zu simulieren. Dafür habe ich schon einen Schalter zu auslösen programmiert. Nun soll ich laut aufgabenstellung noch einen zweiten Schalter zum beenden der Anwendung erstellen. Das war auch kein Problem. Mein Problem liegt nun darin , dass ich als Vorgabe habe das ganze mit einem Modul und dem Befehl exit() durchzuführen. Ich verstehe nun nicht, was ich tun muss, um den Schalter mit dem Modul bzw dem befehl zu verknüpfen. Wenn ich das ganze mit in die while schleife setze funktioniert die ganze anwendung nicht mehr.

    Schönes Wochenende

    Paul

    Guten Tag,

    ich bin dabei für die Uni einen GPIO Emulator mit Python zu programmieren.

    Es geht darum eine Ampelschaltung zu simulieren. Dafür habe ich schon einen Schalter zu auslösen programmiert. Nun soll ich laut aufgabenstellung noch einen zweiten Schalter zum beenden der Anwendung erstellen. Das war auch kein Problem. Mein Problem liegt nun darin , dass ich als Vorgabe habe das ganze mit einem Modul und dem Befehl exit() durchzuführen. Ich verstehe nun nicht, was ich tun muss, um den Schalter mit dem Modul bzw dem befehl zu verknüpfen. Wenn ich das ganze mit in die while schleife setze funktioniert die ganze anwendung nicht mehr.

    schönes Wochenende