Posts from Unseen in thread "LCD am sd2iec [EXPERTENRUNDE]"

    Warum ich das compilieren möchte? Nun, wo gibt es denn fertige hex-Datein von dem LCD-AVR?


    Du hast weiter oben rumgejammert, dass du nur 0.10.0 und nicht 0.10.1 verwenden könntest weil der LCD-Code nicht compilieren würde. Daraus schliesse ich, dass du das schonmal erfolgreich compiliert hast und somit eine .hex-Datei vorliegen hast. Die reicht doch vollkommen aus?

    Quote

    Mir ist noch folgendes aufgefallen, dass auch Znarf hier vor einiger Zeit erwähnt hat:
    Wenn ich die Schaltung ohne C64 betreibe, kann man nicht das MENÜ aufrufen.


    Wenn die Laufwerksseite glaubt gerade auf einen Befehl vom C64 warten zu müssen weil sie einen Low-Pegel auf der ATN-Leitung sieht kann sie keine Anfragen vom Display beantworten, also auch nicht die Anfrage in den Menumodus zu wechseln.

    Quote

    Ich bilde mir ein das dass bei einer älteren Version nicht der Fall war. Da konnte man auch ohne C64 die SD-Karte auslesen und fröhlich im MENÜ navigieren.
    Kann das sein?


    Da würde ich eher Unterschiede in der Hardware bzw. ihrer Umgebung (zB abgeschalteter C64) vermuten, am Code habe ich nichts geändert.

    Ich hab die MASTER Datei versucht. Die compiliert nicht.


    Wenn du das früher zugegeben hättest, hätte man dir auch schon früher sagen können dass der master-Branch der aktuelle Entwicklungszweig ist und nicht das 0.10.1-Release.

    Quote

    Die v0.10.1 von den tags funktioniert.


    Das ist das 0.10.1-Release.

    Ich frage mich allerdings weiterhin, wieso du unbedingt den Code für die Displayseite neu compilieren willst: Der wurde zuletzt irgendwann 2009 geändert, noch vor dem Release von 0.9.0.

    Also was jetzt?


    Beides, was sonst?

    Quote

    Habs mir nochmal runtergeladen und versucht. compiliert nicht.


    Hier compiliert die 0.10.1 problemlos, also machst du was falsch.

    Quote

    Was könnte ich schon großartig anders machen als ihr?


    Ziemlich viel, du verrätst ja nicht mal was du da compilierst. Du hast noch nicht mal die Frage beantwortet, warum du den Code unbedingt neu compilieren willst.

    Quote

    Welche ist die letzte die sich problemlos compilieren läßt?


    0.10.1

    Wenn das in der 0.10.1 auch nicht geht, nimm die Source aus dem git - da geht's bestimmt.


    In der aktuellen git-Version compiliert das lcd-i2c-Unterverzeichnis nicht, das wird vor dem Release noch gefixt oder in ein getrenntes Repository verschoben.

    Der sd2iec Code ist nicht das Problem. Sondern der für den LCD-AVR.


    Warum willst du den neu compilieren?

    Quote

    So wie ich das sehe wurde dieser leider bei der aktuellen Version außer acht gelassen. Schade eigentlich. Somit ist die v0.10.1 für mich unbrauchbar.


    In der 0.10.1 compiliert das lcd-i2c-Unterverzeichnis hier einwandfrei, der Fehler wird wahrscheinlich irgendwo bei dir liegen.

    Kann ich auch ein Display verwenden, welches nur einen "E" Anschluss besitzt?


    Klar

    Quote

    Schließe ich dann nur PA2 bzw. PA3 an


    Ja

    Quote

    muss ich den anderen Pin vom AVR an Masse legen


    NEIN!

    Quote

    und vor allem, muss die Firmware geändert werden?


    Ja, siehe config.h des Display-Teils und evtl. main.c damit es nicht ständig scrollt

    Wenn ich anstelle der Versionsnummer zb. ein "Wilkommen" anzeigen möchte, wie lautet da der Code dafür?


    In main.c im "case DISPLAY_INIT"-Block vor dem "break;" einfügen: strcpy_P(lcdline[0].contents,PSTR("Dein Text hier"));

    Quote

    Bzw. auch in der zweiten Zeile etwas anzeigen möchte.


    An gleicher Stelle: strcpy_P(lcdline[1].contents,PSTR("Dein anderer Text hier"));

    Kannst du mir sagen wo in deinem Originalcode der Text der Versionsnummer der am Display erscheint hinterlegt ist?
    Finde ich den im Code des Displays oder des SD2IEC?


    Das ist der Versionsstring von sd2iec und wird von dem ans Display geschickt.

    Quote

    Bzw, wo wird der ausgegeben?


    main.c, CONFIG_REMOTE_DISPLAY-Please login to see this link. fast am Ende der Datei

    Ich kann ja mal bei Gelegenheit den Originalcode von dir auf einem 2-Zeiligen Display laufen lassen. Mal sehen ob da ebenfalls die Darstellungsfehler auftreten, was ich fast vermute.


    Ich gehe davon aus, das bei dir entweder die Schaltung oder der Code fehlerhaft sind. Wenn die Sonderzeichen nur manchmal erfolgreich beim Display landen deutet das auf Timingprobleme hin, aber das Programm wartet stets darauf dass das Display sein Busy-Bit zurücknimmt. Beide Sonderzeichen werden direkt nach der LCD-Initialisierung gesetzt, welche als letztes das Display löscht - das ist die Operation die bei diesen Chips meist am längsten dauert. Wenn der AVR das Busy-Bit des Displays nicht richtig auslesen kann könnte es durchaus sein, dass die Displayansteuerung meistens doch funktioniert, aber eben nach solchen längeren Operationen etwas verlorengeht.

    Quote

    Aber du könntest ja auch testweise wenn du die Schaltung noch Grifbereit hast


    Habe ich nicht, ich hatte das Display nur nochmal kurz angeklemmt bevor ich das Steckbrett abgeräumt habe.

    So, gerade mal getestet:

    So wie es aussieht dürfte das ein Initialisierungsfehler sein. Wenn ich nämlich nach dem Einschalten dem Display-AVR einen Reset verpasse werden sowohl der Pfeil Links wie auch der Menü-Pfeil korrekt dargestellt.
    Liegt es daran das DTV, SD2IEC und Display-AVR an der gleichen Spannungsquelle hängen und gleichzeitig mit Spannung versorgt werden?
    Vielleicht ist das auch der Grund warum das Display manchmal gleich im Menü startet.


    Kann ich hier alles nicht reproduzieren, daher gehe ich erstmal davon aus dass du das selbst kaputtgebastelt hast und überlasse es daher dir den Fehler auch selbst zu beseitigen. =)

    Ist es richtig das ich einen bidirektionalen Wandler benötige? 5V<->3V


    Mift, ich komme zu nix.. Ja, du brauchst einen bidirektionalen Wandler. Sich dafür nach Chips umzusehen lohnt sich aber IMHO nicht, denn den kann man einfach mit einem Transistor pro Signal aufbauen.

    Kurzbeschreibung, weil ich gleich in Richtung Uni aufbrechen muss: BS170 nehmen, Datenblatt ergooglen. Anschluss D an die 5V-Seite des Signals, Anschluss S an die 3V-Seite des Signals, Anschluss G an +3V.

    Sorry, hab noch etwas ergänzt im letzten Beitrag. Wollte wissen wie so eine Pegelwandlerschaltung aussieht.


    Kurzantwort: Siehe Please login to see this link.

    Langfassung irgendwann Montag oder Dienstag, wenn es nicht schon jemand anderes erläutert hat. =)

    Quote

    .) Was bedeutet das "m-e" in Zeile 1.


    Das ist ein Befehl der von einem C64-Programm ans Laufwerk gesendet wurde um dort irgendwo ein Programm zu starten. Ich tippe darauf, dass du irgendeinen unterstützten Soft-Fastloader verwendest.

    Quote

    .) Auf diesem Display nun wird der Auswahlpfeil und der Pfeil Links wieder ganz anders dargestellt. Läßt sich das einfach im Code anpassen?


    Die werden beide als "Eigenbau-Zeichen" ans Display geschickt, wenn die Annahme stimmt das ich das gleiche Display in meinem 1541-Umbau verwendet habe dann hat da zumindest der Menu-Pfeil einwandfrei funktioniert.

    Die Betriebsspannung des LCD läuft weiterhin mit 5V. Nur die Datenleitungen werden wohl mit 3V angesteuert. Sollte das ein Problem darstellen? Tuts aber bei dem anderen Display auch nicht.


    Ja, zum einen grillst du jetzt den Display-AVR statt des sd2iec-AVRs, zum anderen erkennt der Controller des Displays jetzt möglicherweise die angelegten Daten nicht richtig weil der High-Pegel recht niedrig ist.

    Ein Sreenshot im Anhang von den möglichen Einstellungen. Vielleicht könntest du mir einen Tip geben welche die geeignete wäre für einen 8MHz Taktgeber, so wie er auf dem SD2IEC verbaut ist.


    Mach einfach den Haken bei "Divide clock by 8 internally" weg.

    Quote


    Einstellungen speichern -> Bedeutet dies er auch das momentan ausgewählte Directory speichert und ich beim stromlosmachen beim nächsten mal einschalten wieder im gleichen Verzeichnis lande?
    Oder ist diese Funktion eher als Diskwechsel angedacht?

    Quote

    In der ersten Zeile wird bei mir nur die Versionsnummer des Codes angezeigt. Bei dir sehe ich den Verzeichnispfad.


    Du hast am Displaycode rumgebastelt, jetzt ist es dein Problem.