Touchpanel von Randy's Display

  • OK,


    hier also der hochkomplexe Sourcecode : ;)


    Zeigt endlos die Position an bis der Schalter an Pin P0.0 gedrückt wird


    int main(int argc, char* argv[])
    {
    IOWKIT_HANDLE ioHandle;
    int nWritten;
    int nRead;
    unsigned long bits;
    IOWKIT_REPORT rep;


    // Open device
    ioHandle = IowKitOpenDevice();

    // Check for failure
    if (ioHandle == NULL)
    {
    printf("Failed to open device\n");
    return 1;
    }

    // Init report
    // Report ID 0 für Daten Ein/Ausgabe
    rep.ReportID = 0;

    // alle Pins zu Eingängen machen
    rep.Value = 0xFFFFFFFF;
    nWritten = IowKitWrite(ioHandle, 0, (PCHAR) &rep, sizeof(rep));


    do
    {
    // blockierendes Read wartet auf nächsten Report
    nRead = IowKitRead(ioHandle, 0, (PCHAR) &rep, sizeof(rep));


    // Bits sortieren und Ausgeben
    printf("Read, Data %d %X\n", nRead, rep.Value);


    printf(" CSCAN : %d \n",((rep.Value & 0x00010000)>>16));
    printf(" SCAN : %d \n",((rep.Value & 0x00008000)>>15));
    printf(" END : %d \n",((rep.Value & 0x00004000)>>14));
    printf(" TOUCH : %d \n",((rep.Value & 0x00002000)>>13));


    bits = ((rep.Value & 0x00020000)>>15)
    +((rep.Value & 0x00040000)>>17)
    +((rep.Value & 0x00080000)>>19);
    printf(" Zeile : %d \n",bits);


    bits = ((rep.Value & 0x00100000)>>17)
    +((rep.Value & 0x00200000)>>19)
    +((rep.Value & 0x00400000)>>21)
    +((rep.Value & 0x00800000)>>23);
    printf(" Spalte : %d \n",bits);


    }
    while ((rep.Value & 0x00000001)==1);

    // Close device
    IowKitCloseDevice(ioHandle);


    return 0;
    }

  • Nochmal zu dem Treiber / API,


    nicht gleich schlagen, ich kenn mich halt nur mit Windows aus ?(


    Für Mac OS X liefert der Hersteller die Sourcen für ein API mit.
    Ist ja wohl auch ein Unix Clone.


    Läßt sich das evtl. für Linux verwerten ?



    CeBo

  • Zitat

    Original von I.R. Baboon


    Wird das Panel berührt, wird bei der nächsten Abtastung TOUCH auf 1 gesetzt.
    Bleibt der Finger an der selben Stelle, wird bei der darauf folgenden Abtastung die gleiche Position geliefert, TOUCH ist nun jedoch 0.


    Hi,


    Wie hast du den TOUCH Ausgang beschaltet?
    Brauche ich da einen Pullup Widerstand?
    Bei mir kommt bei diesem Ausgang keine 1.

  • Hi,


    TOUCH scheint ein ganz normaler Ausgang zu sein, ich kann es aber nicht genau sagen, da die Eingänge des Warrior Chips automatisch als Pullup wirken.



    Das TOUCH Signal kommt wie oben erklärt nur bei der Ersten Abtastung nach einer Berührung. Es kann also maximal 1/16 s lang anliegen. Dann ist der nächste Abtastzyklus rum und die Position wird ohne TOUCH gemeldet.



    Gruß


    CeBo


  • Hi,


    habe mir schon so was gedacht, daß es ja sein könnte, daß das Signal nur ganz kurz kommt und habe deshalb eine SR Speicher mit eingebaut, aber vielleicht ist das selbst für ein Speicherglied zu schnell.


    Gruß
    matrix79

  • Hi,


    ich habe es nun auch hinbekommen.
    Also das Signal muß wirklich ganz kurz kommen, da hat schon ein SR Flipflop seine probleme es war zu nehmen.


    Also habe ich es mit einem JK-FF probiert, wo ich den Clock Eingang mit dem TOUCH Ausgang verbunden habe.


    Wenn ich mehr mals hintereinander das Panel berührt habe, konnte ich einen wechsel am Ausgang feststellen.



    Gruß
    matrix79

  • hmmm,


    sonderlich schnell ist mein USB Chip nicht, der tastet alle 1 ms die IO Pins ab.
    Trotzdem wird TOUCH zuverlässig angezeigt.


    Die Schnellste Zyklenzeit des Touchpanels beträgt knapp 4ms (256Hz).
    Das sollte ein HCT Logikbaustein locker schaffen können.


    Vieleicht könnte man statt eines FlipFlop ein Latch benutzen
    z.B. 74HCT75 oder MOS4508


    Gruß


    CeBo

  • hallo randy,


    :tup , dann kann ich wohl langsam mal den Warrior Chip bestellen . Ich denke , ich werde eine Bestellung bei segor abgeben , oder gibt es noch eine ( günstigere ) Quelle als emedia und segor ? Codemerc gibt wohl nur Starterkits ab ?


    gruß lola

  • Zitat

    Original von lola
    hallo randy,


    :tup , dann kann ich wohl langsam mal den Warrior Chip bestellen . Ich denke , ich werde eine Bestellung bei segor abgeben , oder gibt es noch eine ( günstigere ) Quelle als emedia und segor ? Codemerc gibt wohl nur Starterkits ab ?


    gruß lola


    ich hab mir halt son starterkit via firma gekauft.
    ein chip kostet ueberall 17,20 eur...


    -- randy

  • Wie schauts denn momentan mit der Unterstützung des Touchpanels aus? Ist da noch jemand am arbeiten dran?


    Wär schön, wenn sich noch jemand bemüht das zum laufen zu kriegen, kann leider mangels Programmier- und E-Tech-Kenntnissen recht wenig dazu beitragen :(


    Würd mich aber freuen, wenns jemand zum laufen kriegt :]


    mfg
    schelli

    Scenic D6 Umbau; Asus-P3B-F; Celeron 633Mhz; 256MB; 360GB; DVD+-RW; DD5.1; GLCD 240x128; 1x DVB-S Rev. 1.6

  • randy: zwecks der Auswertung des Touchsreen ist mir gerade was eingefallen. Ich weis jetzt nicht ob das geht, aber könnte man nicht den PS2 Eingang von der Tasttur benutzen?


    Mann könnte ne alte Tastatur nehmen und diese bis auf die Platine zerlegen. Die Tasten laufen auch schon über eine Matrix abfrage.


    Bei jedem druck auf die Folie würde sich der Buchstabe (bzw. Ascii Zeichen) ändern.
    Könnte man so eine Auswertung machen?



    Gruß
    Dirk

  • Hi Matrix79,


    nette Idee, aber so geht das nicht. Dazu müßtest du ja direkt die Touch-Folie ansteuern, also das ganze erstmal von der Elektronik des LCDs trennen.


    Außerdem könntest du dann auch keine echte Tastatur für die Konsole mehr anschließen.


    Gruß


    CeBo


  • hallo,


    es sei denn , man würde nur den Nummern Block dafür auslagern ( weiß aber ehrlich nicht , wie der spalten und zeilenmäßig in der tastatur verdrahtet ist , ob es wirklich passt). Wäre aber auch nichts halbes und ganzes , viel Fummelei an der Tastatur und am Display..


    gibt es eigentlich schon irgendeinen Entwicklungsstand, den man mal testen könnte ?


    Touch bzw. USB Grafik-Ansteuerung ?


    unter www.iowarrior.de entsteht eine neue Seite , LM 75 wäre sicher auch interessant.



    Gruß lola

  • Hi Lola,


    Entwicklungsstand aus meiner Sicht :


    Touchpanel funktioniert unter Windows mit dem weiter oben einzusehenden Programm. Randy hat das auch unter Linux erfolgreich probiert.


    Bisher gab es keine sinnvollen Vorschläge, was man mit dem Touchpanel bei VDR anfangen könnte. Statt dessen wurde eine zusätzliche Tastaturabfrage angeregt, um wie bei einem richtigen HIFI Gerät Tasten an der Gehäusefront abfragen zu können.


    Da ich momentan keine Zeit habe hat Matrix79 sich dem Thema angenommen.
    Abfrage der Tastatur über Logikbausteine wurde als zu kompliziert abgetan, daher wird es auf einen PIC hinauslaufen. Dieser kann dann zusätzlich auch das Touchpanel abfragen. Ob dieser dann per seriellem Port oder USB angeschlossen wird ist noch nicht festgelegt.


    So lange sich keiner freiwillig meldet, die Abfrage des Touchpanels in GraphLCD einzubauen, wird da erstmal nichts mehr passieren.


    Gruß


    CeBo

  • Zitat

    Original von I.R. Baboon
    So lange sich keiner freiwillig meldet, die Abfrage des Touchpanels in GraphLCD einzubauen, wird da erstmal nichts mehr passieren.


    Da es ja scheinbar mit dem GraphLCD - Plugin weitergehen zu scheint, stellt sich mir doch glatt die Frage, wie es mit der Touchsteuerung ausschaut :]


    randy: falls die touchsteuerung keine aussichten auf erfolg hat, kann man dann das display irgendwie umbauen (blau mit weisser schrift oder so), oder ist man fest an das grün/schwarz gebunden. bzw. was für ein aufwand ist so ein umbau?


    mfg
    schelli :sonne

    Scenic D6 Umbau; Asus-P3B-F; Celeron 633Mhz; 256MB; 360GB; DVD+-RW; DD5.1; GLCD 240x128; 1x DVB-S Rev. 1.6

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!