PCF8574/HD44780 Library für PlatformIO/Marlin gesucht

  • Moin,


    da mein CR-100 ein anderes Display abseits vom 128x64er-OLED (und Firmware) erhalten soll, suche ich oben genannte Library für wahlweise ein 16x2 bzw 20x4-LCD per PCF8574 I2C-IO-Extender , aber -obacht-, mittels Software-I2C auf einem STM32F103. Hardware-I2C mittels der LiquidCrystal_I2C-Lib (bspw von Enjoyneering) schließt sich insofern aus, weil die Pins schon belegt sind und ich statt dessen PB10/PB11 nutzen muss.


    Ich würde mich auch über Infos freuen, wie sich ein regulärer Drehencoder mit Pushbutton a la KY-040 in Marlin anbinden ließe. Dazu stehen mit PB12 bis PB14 zur Verfügung.


    Vielen Dank & guten Rutsch !

    Stef

    Einmal editiert, zuletzt von Stef123 ()

  • Hat sich teilweise erledigt - in der LiquidCrystal_i2C.h von Enjoyneering ist die I2C-Pin-Angabe für den STM32F103 fehlerhaft , welche da lautet : PB9/PB7 für SDA und PB8/PB6 für SCL. Laut ST-Datenblatt ist aber PB10 für SCL und PB11 für SDA zuständig; so, wie es zum originalen OLED-Display herausgeführt ist.

  • Ps: Nachdem sich mein erstes Selbstkompilat über einen SD-Upload als funktionsunfähig erwies, der Tip, das die originale CR-100-Firmware auf den Offset 0x08019000 ihren angestammten Platz findet (fraglich, was die bei dem Offset geritten hat) und R31 während des Einsteckens vom USB-Port und ohne weitere Stromversorgung, rechts auf high gezogen werden muss, damit der ST-Flash-Demonstrator die Kiste auf dem angegebenen Com-Port findet und über USB programmiert werden kann.

  • Marlin funktioniert mal im Grundgerüst, das Board meldet sich auf 250KBaud auf dem STM32F103RET6, allerding ist der SD-Bootloader überbügelt - was für mich aber soweit keine Rolle spielt; da es notfalls ja auch den "direkten Weg" gibt, der zwar unkomfortabel ist, aber funktioniert. Ich muss halt weiterhin probieren, die Original-FW draufzubügeln und Marlin ab 0x80019000 zu kompilieren/schreiben. Kompiliert auf 115200 war das Teil ums verrecken nicht zum laufen zu bewegen - keine Ahnung, warum. Bit irgendwo falsch gesetzt, kein Plan. Das hat eine ganze Weile gebraucht.


    Allerdigs bekomme ich das I2C-Display ums verrecken nicht zum laufen, auch wenn ich versuche, die U8GLIB-SSD1306 für das original verbaute 0.96-Zoll-OLED-Display ,anstelle die LCM1602 oder LCD_SAINSMART_I2C für den PCF + HD44780 oder zu verwenden . Das Problem ist,, das ich vom STM32F103RET6 den I2C2-Port benutzen -muss-, denn das originale OLED-Display hing auch dort dran, andere I2C-Anschlussmöglichkeiten gibts nicht, da die schon anderweitig verwendet werden.

    Ich weiß aber nicht, ob PlatformIO überhaupt den zweiten I2C-Port überhaupt gescheit aktiviert.


    Aus der peripheralpins.c :



    Ich vermisse bei PB10 und PB11 sowas wie AFIO_I2C2_ENABLE oder ähnliches (schon probiert, ist nicht deklariert). Ich weiß nicht, ob die Peripheralclock für I2C2 überhaupt aktiv ist oder eben die Pins auf eine alternative Funktion gesetzt werden. Mit Gewalt einfach nur die zwei Zeilen für PB10 und PB11 drinnen lassen und den Rest entfernen bringt auch nichts. Keine Aktivität am Logicanalyzer an den zwei Pins zu verzeichnen. Die anderen Pins, auf I2C1, wenn die aktiv sein sollten, kann ich nicht messen, die gehen straight in den X-Achsen-Treiber.

    Eigentlich seltsam, denn die Creality-Leute werden das Ding ja auch aus den regulären Marlin-Sourcen kompiliert haben. Vielleicht als "maple", aber das gilt ja als veraltet. PlatformIO sollte aktuell sein, es wird mit angepasster Configuration.h, configuration_adv.h, angepasster Pins_Creality_V4.h (darin ist nichts von I2C oder dergleichen zu vernehmen), die config.ini völlig außen vor gelassen, unter frisch gezoegenem VSCode und eben PlatformIO, ebenso frischem Marlin 2.1.2 kompiliert. Wie gesagt, das Board befidnet sich außerhalb des Geräts, bis auf USB und Strom nichts angeschlossen, aber das spielt für die Funktionalität des Displays keine Rolle. Zugriff habe ich, auch auf SD Karte.


    BTW und Half-OT: Gibts eigentlich eine Möglichkeit, die Forenadmins von Reprap.org zu kontaktieren? Versuche mich seit gestern dort zwecks dieser Angelegenheit anzumelden, es kommt aber keine Aktivierungsmail.

    9 Mal editiert, zuletzt von Stef123 ()

Disclaimer:
*Externe Links enthalten Affiliate Daten. Wird über diese Links etwas bestellt, erhalten wir eine kleine Provision, Euch kostet es nichts Extra.
**Als Amazon-Partner verdienen wir an qualifizierten Verkäufen.

Jetzt mitmachen!

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

Ungelesene Themen

    1. Thema
    2. Antworten
    3. Letzte Antwort
    1. Druck ist "explodiert" 67

      • Tobi1925
    2. Antworten
      67
      Zugriffe
      1,7k
      67
    3. Tobi1925

    1. OT Thread für was Druckt Ihr gerade 756

      • seppel
    2. Antworten
      756
      Zugriffe
      26k
      756
    3. yogimaker

    1. "Fertige" Firmware für SV04 mit Temperaturen >260°C 163

      • yogimaker
    2. Antworten
      163
      Zugriffe
      3,7k
      163
    3. yogimaker

    1. Orcaslicer 2.0.0-beta+ for Qidi 2

      • lihp
    2. Antworten
      2
      Zugriffe
      34
      2
    3. lihp

    1. 3D-Druck - Aluminium-CNC-Alternative? 24

      • TJF
    2. Antworten
      24
      Zugriffe
      621
      24
    3. 3D-Designer