LCD am sd2iec [EXPERTENRUNDE]


  • jackdaniels
  • 16629 Views 170 replies

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • LCD am sd2iec [EXPERTENRUNDE]

    sooo

    da ich doch einige fragen dazu habe und der andere thread eigentlich ein ganz anderer war, denke ich, ein neuer ist sinnvoller.


    zuerst mal grundlegende infos:
    was brauche ich?
    ein lcd mit HD44780 kompatiblem controller
    am besten 2x20 zeichen

    dann am besten einen atmega644 oder? es geht wohl auch ein atmega32

    meine fragen wären jedoch, gibts unterschiedliche methoden um ein LCD anzuschließen am sd2iec?
    soweit ich das verstanden habe nutzt sascha hier auf der seite sascha-bader.de/html/sd2iec.html den atmega des sd2iec selbst dazu und hat die lcd routinen anstatt anderem code eingebaut.

    soweit ich das verstanden habe, hat unseen ein 4x20er display verbaut, jedoch nutzt er einen eigenständigen Atmega dazu...


    ich wüsste gerne was möglich ist und unter welchen vorraussetzungen?
    was brauche ich? wie baue ich es?
    welche files sind nötig?

    hoffe es kommen ein paar nette antworten!

    wenn jemand noch tips generell zum programmieren von avr mit lcd hat immer her damit! das thema ist recht nett :D

    Editbx FXXS: kopie der aussagekräftigen postings erstellt und Titel angepasst
    für allgemeine Anmerkungen bitte den Ursprungsthread benutzen:LCD am sd2iec [fragen und antworten]

    The post was edited 2 times, last by FXXS ().

  • sorry leute ihr schweift weit ab!

    ich brauch keine peter sieg platine! mache das eh mit lochraster für den c128
    ebenso ist 644 normal für mich!
    ein lcd kommt an ein shadowolf sd2iec... auch das bekomme ich hin was das löten angeht

    sd connector wohl das kleinste problem.

    mir gehts nur um das LCD hier..... um sonst nichts!
    dazu wollte ich einfach ein paar infos zusammen getragen haben weil die mal wieder in einigen threads verstreut sind bzw unübersichtlich!

    mich würde trotzdem die variante für 4 zeilen von unseen mit zusätzlichem atmega interessieren.

    zudem: das binary in dem archiv ist wohl nur für ein mmc2iec auf lochraster oder?
    für das sd2iec müsste ich erst compilieren oder?


    @mod
    könnte bitte jemand die postings ohne bezug zum LCD mal löschen damit der thread einigermaßen sauber bleibt, danke
  • Edit by FXXS: posting um Antworten auf Fragen vom anderen Thread gekürzt
    gibt es ein fertiges binary für die sd2iec 1.2 variante von shadowolf????

    ja oder nein... wenn ja bitte mit link wenns geht, finde es nicht!
    mehr braucht man dabei nicht antworten! nur ja oder nein ggfs mit link danke


    und weiß jemand außer unseen was es mit seiner variante fürs display auf sich hat?

    The post was edited 1 time, last by FXXS ().

  • Um mal zur Ursprungsfrage zurückzukommen...
    ...die habe ich hier glaube ich schonmal beantwortet:
    Es gibt von Draco kein Kompilat für shadowolf sd2iec. Auf seiner Seite ist das aber auch beschrieben (und ab hier hatte ich genau diese Diskussion mit DerSchatten schonmal).
    Also am besten mal direkt bei Draco nachfragen.
    HomeCon- digitalretropark- Bastelseite
    -
    User ignorieren? AdBlock!www.forum64.de##ARTICLE[data-user-id="xxxxx"]
  • Diddl wrote:

    Wieso? Er fragt doch explizit danach??!
    Ja, aber das Binary auf der Seite von Unseen ist nicht für das sd2iec standalone. Unseen steuert einen zweiten ATMega damit an: Bei Unseen besteht die Lösung aus zwei AVRs - dem sd2iec und dem für die LCD-Ansteuerung. Draco hingegen hat die LCD-Steuerung mit in der Firmware untergebracht.

    Das Problem kurz zusammengefasst:
    - Unseen hat eine kompilierte Firmware, aber keinen Bauplan für jackdaniels.
    - Draco hat einen Bauplan, aber keine kompilierte Firmware für jackdaniels.
    HomeCon- digitalretropark- Bastelseite
    -
    User ignorieren? AdBlock!www.forum64.de##ARTICLE[data-user-id="xxxxx"]
  • AntaBaka wrote:

    Das Problem kurz zusammengefasst:
    - Unseen hat eine kompilierte Firmware, aber keinen Bauplan für jackdaniels.

    Nur um das nochmal klarzustellen: Auf meiner Seite liegt keine Firmware mit LCD-Unterstützung. Das wird erst in 0.9 eingebunden sein, geplanter Releasetermin dafür ist "wenn genug Features dazugekommen sind, die für den Anwender auch nutzbar sind". Bisher gibt es 0 solche Features, LCD-Support qualifiziert sich aus meiner Sicht noch nicht dafür weil noch niemand auf die Idee gekommen ist dafür mal Hardware zu designen (und ich das nicht selbst machen will).

    Source Code

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217
    sd2iec - tapecart - GCVideo
  • also nochmals zusammengefasst:

    version von draco für internen atmega auf sd2iec nach larsp
    für shadowolf kein binary vorhanden

    version von unseen für zusätzlichen atmega
    kein schaltplan und glaube ich kein fertiges binary vorhanden, zumindest nix direkt gefunden


    ich wäre auch viel eher für die lcd lösung mit zusätzlichem atmega! aufgrund der resourcen und es wird dadurch flexibler für andere projekte einsetzbar...

    @unseen
    sehe ich das richtig, daß du in 0.9 dann den LCD code integrierst genau wie draco?`also wäre bei dir ein betrieb eines LCD dann direkt am sd2iec möglich sowohl bei shadowolf als auch bei larsp layout ?
    wäre es nicht möglich diesen code schon einzupflegen und als 0.8 + lcd zu compilieren... muß ja nicht direkt ne 0.9er werden :D

    danke für eure antworten
  • jackdaniels wrote:

    sehe ich das richtig, daß du in 0.9 dann den LCD code integrierst genau wie draco?`also wäre bei dir ein betrieb eines LCD dann direkt am sd2iec möglich sowohl bei shadowolf als auch bei larsp layout ?

    Nein, 0.9 wird vorraussichtlich das erste Release bei dem auf sd2iec-Seite der Code drinsteckt um mit dem zweiten AVR zu reden. Code für direkten Anschluss könnte man zwar daraus auch basteln, aber das habe ich nicht vor weil es bei den SMD-Varianten deutlich einfacher ist die drei Leitungen irgendwo anzuschliessen die für die Kommunikation zwischen den Chips notwendig ist als die sieben um ein LCD direkt anzusteuern.

    wäre es nicht möglich diesen code schon einzupflegen und als 0.8 + lcd zu compilieren... muß ja nicht direkt ne 0.9er werden :D

    Saug die Sourcen aus dem git-Webinterface und compilier selbst... Ich habe im Augenblick kaum Zeit um irgendwas daran zu machen obwohl ich von einem ungefixten Bug weiss.

    Source Code

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217
    sd2iec - tapecart - GCVideo
  • Unseen wrote:

    Code für direkten Anschluss könnte man zwar daraus auch basteln, aber das habe ich nicht vor


    finde ich auch nicht sinnvoll wie bereits geschrieben. eine lösung lcd+eigener atmega ist für mich sinnvoller.

    Unseen wrote:

    Saug die Sourcen aus dem git-Webinterface und compilier selbst... Ich habe im Augenblick kaum Zeit um irgendwas daran zu machen obwohl ich von einem ungefixten Bug weiss.


    dann hätte ich immernoch keine hardware dazu. zudem müsse ich erstmal sehn wie ich atmega cross compile :D
    hab mich mit dem programmieren der teile nie befasst (obwohls langsam mal zeit würde)

    hast du denn nen groben zeitplan (kommende 3 monate oder eher ende des jahres ... sowas in der richtung :D)

    würde ungerne jetzt ne version bauen die dann bald unnütz ist bzw ich favorisiere sowieso eher deine lösung mit eigenem atmega....
  • jackdaniels wrote:

    hast du denn nen groben zeitplan (kommende 3 monate oder eher ende des jahres ... sowas in der richtung :D)

    Wie schon irgendwo erwähnt: Wenn genug neue, nutzbare Features vorhanden sind um den Versionssprung zu rechtfertigen. Ideen gibts ein paar, Zeit um sie umzusetzen eher nicht.

    Source Code

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217
    sd2iec - tapecart - GCVideo
  • So, bevor ich Unseen mit PM´s zuspamme versuche ich mein Glück in diesem Thread!


    Ich werde den Atmega 644P in DIP 40 verwenden (reicht auch ein Atmega 32?), als Display habe ich das gleiche wie Unseen von Pollin mit 4x27 Zeichen. Die Kontrasteinstellung ist ja kein Problem für mich, steht ja im Readme zum Display drinnen.

    Wie aber muss ich das Display mit dem Atmega verbinden?

    Source Code

    1. PB0-7 <-> D0-7
    2. PD0-7 <-> D0-7
    3. PA0-7 <-> D0-7
    4. PC0-7 <-> D0-7


    Brauche ich den Reset Pin am Atmega?
    XTAL 1&2 brauch ich ja nicht, oder doch?

    Wozu genau dient der Drehencoder?

    Kann man anstatt eines Drehencoders auch 3 Taster verwenden? (Hoch, Runter und auswählen)

    Wie verbinde ich die Platine mit der Displaysteuerung dann mit dem sd2iec 1.2 vom Rudolph?

    Wo bekomme ich die Firmware zum testen her?
    lg,
    znarF
  • znarF wrote:

    Wie aber muss ich das Display mit dem Atmega verbinden?

    RS an PA0, RW an PA1, E1 an PA2, E2 an PA3, D4 bis D7 an PA4 bis PA7

    Brauche ich den Reset Pin am Atmega?
    XTAL 1&2 brauch ich ja nicht, oder doch?

    Sollte auch mit internem Takt ordentlich laufen, ob ein Reset notwendig ist wird sich zeigen. ;-)

    Wozu genau dient der Drehencoder?

    Um was im Menu aufrufen zu können

    Kann man anstatt eines Drehencoders auch 3 Taster verwenden? (Hoch, Runter und auswählen)

    Im Prinzip ja, aber dafür muss man entweder den Code ändern oder die Taster in einem sehr komischen Rythmus betätigen.

    Wie verbinde ich die Platine mit der Displaysteuerung dann mit dem sd2iec 1.2 vom Rudolph?

    PD6 des Display-AVR an PC6 der Platine, PC0(Display) an PC4(Platine), PC1(Display) an PC5(Platine) - das sollten drei der Pins der seitlichen "Erweiterungsleiste" sein. Ggfs. Pegelwandler (SD2IEC 1.2 arbeitet mit 3.3V) und Masseverbindung zwischen den beiden Chips nicht vergessen.

    Wo bekomme ich die Firmware zum testen her?

    sd2iec.de/cgi-bin/gitweb.cgi?p=sd2iec.git;a=summary - überall da wo "snapshot" steht kann man draufklicken und ein .tgz-File der gewählten Version runterladen. Das irgendwo auspacken, ggfs. noch WinAVR installieren, die Datei config-sw2 um die Zeilen "CONFIG_REMOTE_DISPLAY=y" und "CONFIG_DISPLAY_BUFFER_SIZE=40" ergänzen, "make CONFIG=config-sw2" eingeben, ins Unterverzeichnis lcd-i2c wechseln, da "make" eingeben. Die fertigen Binaries (evtl. fehlt der Bootloader-Header weil crcgen-new nicht vorhanden ist) liegen jeweils in einem Unterverzeichnis das mit obj-m644 anfängt.

    Source Code

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217
    sd2iec - tapecart - GCVideo
  • znarF wrote:

    Hab ich leider auch noch vergessen: An welchen Pin´s muss der Drehencoder / Drehimpulsgeber angeschlossen werden?

    Source Code

    1. /* Encoder pins - A is the line that toggles between "clicks", */
    2. /* B is the one that toggles at "clicks". */
    3. /* If in doubt: Try it, if the menu arrow "flickers" swap the lines */
    4. #define ENCODER_A _BV(PC2)
    5. #define ENCODER_B _BV(PC3)
    6. #define ENCODER_BUTTON _BV(PC4)

    Source Code

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217
    sd2iec - tapecart - GCVideo
  • So, hab mal versucht die Firmware zu kompilieren und dabei eine Fehlermeldung erhalten mit der ich (Windows User) nicht viel anfange:

    Source Code

    1. C:\Dokumente und Einstellungen\franz.CD\Desktop\sd2iec-c1950d74ce05ea1b602b047ec
    2. 9a49e06ca8805e0\sd2iec>make CONFIG=config-sw2
    3. gawk: gcctest.awk:7: fatal: match() cannot have 3 arguments
    4. AS fastloader-ll.S
    5. In file included from fastloader-ll.S:33:
    6. config.h:607:4: error: #error "CONFIG_HARDWARE_VARIANT is unset or set to an unk
    7. nown value."
    8. make: *** [obj-m644p-sw2/fastloader-ll.o] Error 1


    Ich wüsste nicht welche Optionen ich in der config.h in der Variable "CONFIG_HARDWARE_VARIANT" setzen sollte, beide Unterverzeichnisse (lcd-i2c & obj-m644p-sw2) wurden aber erstellt. Wenn ich nun im Verzeichnis lcd-i2c ein make absetze dann bekomme ich diese Fehlermeldung:

    Source Code

    1. C:\Dokumente und Einstellungen\franz.CD\Desktop\sd2iec-c1950d74ce05ea1b602b047ec9a49e06ca8805e0\sd2iec\lcd-i2c>make
    2. makefile:49: config: No such file or directory
    3. make: *** No rule to make target `config'. Stop.


    Ich vermute mal, dass der Fehler beim ersten Vorgang nicht alle Dateien für das bilden der Binaries erzeugt hat.
    Kann mir mal wer auf die Sprünge helfen? :help:
    lg,
    znarF
  • znarF wrote:

    gawk: gcctest.awk:7: fatal: match() cannot have 3 arguments

    Es wäre ja mal wirklich toll, wenn die bei WinAVR mitgelieferten GNU-Tools auf eine Version aktualisiert würden die aus diesem Jahrtausend stammen... Aber daran liegt es in diesem Fall nicht.

    In file included from fastloader-ll.S:33:
    config.h:607:4: error: #error "CONFIG_HARDWARE_VARIANT is unset or set to an unknown value."

    Gibts eine Datei "autoconf.h" in obj-m644p-sw2? Steht da irgendwo ein "#define CONFIG_HARDWARE_VARIANT 5" drin? Die hätte aus der config-sw2-Datei erstellt werden sollen und hier funktioniert das ganze auch mit WinAVR fehlerfrei.

    Ich wüsste nicht welche Optionen ich in der config.h in der Variable "CONFIG_HARDWARE_VARIANT" setzen sollte

    Sollst du gar nicht, die wird über die config-Datei gesetzt die du dem Makefile nennst.

    make: *** No rule to make target `config'. Stop.

    Stimmt, eigentlich liegt ja nur die config-example bei in der ein Eintrag vergessen wurde. Nimm einfach die angehängte Datei, umbenannt in "config".

    Edit: Nein, da fehlt doch kein Eintrag - nimm wahlweise die angehängt config oder config-example, sollte beides funktionieren.
    Files
    • config.txt

      (365 Byte, downloaded 51 times, last: )

    Source Code

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217
    sd2iec - tapecart - GCVideo