Übersetzungshilfe Python in µPython

  • Hallo Forengemeinde,

    ich muss euch mal wieder um Hilfe bitten.

    Inzwischen bin ich auch langsam weiter gekommen und habe ein externes Projekt umgesetzt. Das funktioniert einwandfrei, auch wenn ich am Anfang einige Probleme hatte, die jedoch gelöst werden konnten.
    Nun möchte ich dieses Display auch an meiner Neuerwerbung einem RasPi Pico verwenden. Dazu habe ich versucht den Ausgangscode zu verwenden.

    Dazu habe ich schon begonnen den Programmcode umzuschreiben, aber scheitere an den einzelnen Befehlen für das Senden = write und Lesen = read.
    Mein bisheriger Ansatz:

    Wie muss ich nun diese einzelnen Befehle write_word_data, write_byte, write_i2c_block_data, read_byte anpassen, damit das Programm vollständig unter µPYthon lauffähig wird ?

    Ich bedanke mich schon ein mal für die Unterstützung.

    Roland aus Thüringen

  • Allgemeine Anmerkung zum Ausgangscode: Die ganzen `cmd_*`-Attribute sind ja eigentlich Konstanten. Also solche würde man die auch definieren. Entweder auf der Klasse oder im Modul und der Namenskonvention folgend KOMPLETT_GROSS geschrieben, oder man erstellt sich einen Aufzählungstypen mit `enum.IntEnum`.

    Einen Wahrheitswert mit ``if flag > 0:`` zu prüfen geht zwar, ist aber irreführend. Das ist einfach nur ``if flag:``. Um die Bedingung gehören auch keine Klammern.

    `draw_function()` und `draw_scatter()` verwenden eine unnötige Indirektion über einen Laufindex, was in Python ein „anti pattern“ ist, weil man direkt über die Elemente von Sequenzwerten iterieren kann. Ausserdem sind die beiden Methoden fast identisch, das sollte nicht sein. Da gibt es noch ein paar andere Methoden die kopiert und geringfügig angepasst aussehen.

    “Dawn, n.: The time when men of reason go to bed.” — Ambrose Bierce, “The Devil's Dictionary”

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!