Geschrieben September 1, 2021 at 18:111. Sep 2021 Hallo, Ich habe gerade wegen eingebrannter Schrift mein OLED-Bricklet 128x64 gewechselt. (und gleich einen Bildschirmschoner etabliert) Altes war 1.0 neu 2.0. mittels .WriteLine werden Daten in versch. Zeilen geschrieben. Nach dem Tausch ist mir aufgefallen daß am rechten Rand 4 Zeichen verschluckt werden. Ich hab gerade mal alt und neu per Master und USB an einen Brick-Viewer gehängt und versucht eine Zeile mit Zeichen zu beschreiben. das 2.0 stellt nur 21 Zeichen/Zeile dar. das 1.0 stellt 25 Zeichen/Zeile dar. Laut Doku sollten beide 26x8 Zeichen beherrschen. Was übersehe ich ??? LG, André
Geschrieben September 2, 2021 at 10:112. Sep 2021 Wir haben in der Tat bei der v2 ein Leerpixel zwischen den Buchstaben eingeführt. Dadurch passen weniger Buchstaben in die Zeile und die Doku passt auch nicht mehr 🙁. Ich hab gerade in den Code geschaut, ich glaube am besten ist wir machen das "Character-Spacing" konfigurierbar. Ich melde mich nochmal mit einer Testfirmware wenn ich das implementiert hab.
Geschrieben September 2, 2021 at 12:542. Sep 2021 Ich hab leider keine Möglichkeit gefunden die vorhandene WriteLine-Funktion abzuändern ohne die API zu brechen. Hab stattdessen eine WriteLine2-Funktion hinzugefügt bei der man das Letter-Spacing konfigurieren kann. Mein Test dazu (Python) und das Ergebnis: #!/usr/bin/env python # -*- coding: utf-8 -*- HOST = "localhost" PORT = 4223 UID = "Gz2" WIDTH = 128 HEIGHT = 64 from tinkerforge.ip_connection import IPConnection from tinkerforge.bricklet_oled_128x64_v2 import BrickletOLED128x64V2 import time if __name__ == "__main__": ipcon = IPConnection() # Create IP connection oled = BrickletOLED128x64V2(UID, ipcon) # Create device object ipcon.connect(HOST, PORT) # Connect to brickd # Don't use device before ipcon is connected oled.write_line(0, 0, "01234567890123456789012345") oled.write_line_2(1, 0, 1, "01234567890123456789012345") oled.write_line_2(2, 0, 0, "01234567890123456789012345") Welche Programmiersprache verwendest du? Dann würde ich schonmal für dich zum testen Bindings mit der neuen Funktion anhängen. oled-128x64-v2-bricklet-2-0-6-beta1.zbin
Geschrieben September 3, 2021 at 08:593. Sep 2021 Autor Hallo, borg, Danke für die Mühe. ich verwende C#. bearbeitet September 3, 2021 at 09:053. Sep 2021 von blitz1999
Geschrieben September 3, 2021 at 11:193. Sep 2021 Anbei die Bindings für C# zu der Firmware oben. Das kommt dann mit dem nächsten Bindings-Release auch offiziell. Die neue Funktion sieht in C# wie folgt aus: public void WriteLine2(byte line, byte position, byte letterSpacing, string text) tinkerforge_csharp_bindings_2_1_30.zip
Geschrieben September 3, 2021 at 18:033. Sep 2021 Autor Bindings eingefügt, Bricklet geflasht, Test läuft... ... und es schaut gut aus. Sehr gut sogar. Danke für den schnellen Beistand und schönes WE. 😀
Geschrieben May 20, 2022 at 11:5320. Mai 2022 Autor @borg Hallo, borg, Seit C# 2.1.31 scheint das Writeline2 (Character-Spacing) für das OLED 128x64 V2 verloren gegangen zu sein. Ich habe eben wieder auf 2.1.30 "downgegraded". Noch ist das kein Problem. Könnte man das dauerhaft übernehmen ? 😮
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.