Equinox Geschrieben March 15, 2019 at 20:36 Geschrieben March 15, 2019 at 20:36 Hallo, ich benutze das "LCD 128x64 Bricklet" mit mehreren Tabs. Es kommt bei mir ab und zu vor, dass sich das Display nach einem Tab-Wechsel pausenlos "refreshed", und zwar mit unterschiedlichen Tabs. Es reagiert dann auf keine BerĂŒhrung mehr. Es sieht so aus, als ob man sehr schnell zwischen den Tabs wechseln wĂŒrde. Meistens fĂ€ngt es sich auch nicht mehr. Kann es sein, dass das Bricklet da ein Eigenleben entwickelt und stĂ€ndig irgendwelche Events fĂŒr einen Tab-Wechsel sendet? Zuerst dachte ich, dass sich da mein Programm irgendwie verhaspelt (was ich auch jetzt noch nicht ausschlieĂen kann) und habe es neu gestartet. Heute habe ich aber das Programm laufen lassen und habe nur den Stapel kurz vom Strom getrennt. Danach war alles wieder gut. Ich denke deshalb, dass es nicht an meinem Programm liegt, da es sich sonst auch nach dem Neustart des Stapels noch in dem "verhaspelt"-Zustand befunden hĂ€tte. Hat sonst noch jemand dieses Problem? An was kann das liegen und was kann ich dagegen tun? P.S.: Die Variable, welches Tab gerade selektiert ist, setze ich nur in den Callbacks "guiTabSelected" und "guiButtonPressed" und die Methode zum aktualisieren des Displays wird auch nur mit dieser Variablen aufgerufen. Ich vermute deshalb, dass der Callback "guiTabSelected" stĂ€ndig mit unterschiedlichen Tabs aufgerufen wird, auch wenn gar kein BerĂŒhrung vorliegt. Zitieren
borg Geschrieben March 18, 2019 at 11:16 Geschrieben March 18, 2019 at 11:16 Wenn du in diesem Fehlerfall bist, bekommst du dann denn irgendwelche Callbacks? Ich wĂŒrde erwarten dass das Bricklet dann vielleicht irgendwelche Klicks sieht die gar nicht da sind o.Ă€.? Zitieren
Equinox Geschrieben March 18, 2019 at 12:11 Autor Geschrieben March 18, 2019 at 12:11 Ich wĂŒrde erwarten dass das Bricklet dann vielleicht irgendwelche Klicks sieht die gar nicht da sind o.Ă€.? Das ist auch meine Vermutung. Allerdings habe ich im Moment in den Callbacks keine Log-Nachrichten eingebaut WĂ€ren vmtl. auch zuviele ... Zitieren
Equinox Geschrieben May 30, 2019 at 16:05 Autor Geschrieben May 30, 2019 at 16:05 Hallo, jetzt ist es wieder passiert. GlĂŒcklicherweise habe ich mittlerweile LogeintrĂ€ge in die Callbacks eingebaut. Es ist tatsĂ€chlich so, dass ich laufend Callbacks bekomme, obwohl das Display nicht berĂŒhrt wird. Das Bricklet "sieht" also tatsĂ€chlich Klicks, die nicht da sind. Jemand eine Idee, woran das liegt und wie man das beheben kann? Zitieren
borg Geschrieben June 3, 2019 at 07:14 Geschrieben June 3, 2019 at 07:14 Loggst du auch den "Pressure"-Wert? Ist der minimal oder so groĂ wie er auch wĂ€re wenn du echt auf das Display drĂŒcken wĂŒrdest? Falls der Wert sehr klein ist könnten wir vielleicht eine SetMinimumTouchPressure-Funktion oder Ă€hnliches als Konfiguration hinzufĂŒgen. Zitieren
Equinox Geschrieben June 3, 2019 at 10:38 Autor Geschrieben June 3, 2019 at 10:38 Hallo,  leider nein , da ich das in meinem Programm nicht benötige. Ich verwende nur die GUIButtonPressedListener() und GUITabSelectedListener(). Kann ich an den Druck auch ohne TouchPositionListener() kommen? Zitieren
borg Geschrieben June 3, 2019 at 12:18 Geschrieben June 3, 2019 at 12:18 Du könntest per getTouchPosition dran kommen. Zitieren
Equinox Geschrieben June 3, 2019 at 12:56 Autor Geschrieben June 3, 2019 at 12:56 OK, danke. Baue ich ein und melde mich dann, wenn es wieder passiert. Zitieren
Equinox Geschrieben July 25, 2019 at 19:16 Autor Geschrieben July 25, 2019 at 19:16 Hallo, jetzt ist es wieder passiert. Bei den Events ohne BerĂŒhrung war der Pressure-Wert immer 1. Mit BerĂŒhrung sind die Werte ĂŒber 50, meistens ĂŒber 150. Eine "SetMinimumTouchPressure"-Methode wĂŒrde vmtl. das Problem beheben, aber was ist die eigentliche Ursache? Zitieren
borg Geschrieben July 29, 2019 at 13:18 Geschrieben July 29, 2019 at 13:18 Mh, ich glaube ich muss da nochmal eine Debug-Firmware fertig machen die den Rohwert des Touchscreens ausgibt um zu sehen wie nah das an einem "Pressure-Wert" von 1 dran ist. Vielleicht muss da generell der Threshold ein bisschen höher. Ich melde mich hier nochmal wenn ich da mehr Erkenntnisse hab. Zitieren
borg Geschrieben August 13, 2019 at 13:16 Geschrieben August 13, 2019 at 13:16 Ich hatte hier jetzt eine Zeit lang einen Testaufbau am laufen der immer nur get_touch_position aufgerufen hat mit der Hoffnung dass ich irgendwann einen "falschen Touch" sehe. Ich konnte das leider bisher nicht reproduzieren. Ein Pressure-Wert von 1 ist bereits der niedrigste Wert, meine Behauptung von vorher dass ich dort einen Threshold niedriger setzen kann macht also keinen Sinn. Meine neueste Vermutung ist, dass du fĂŒr eine ganz kurze Zeit fĂ€lschlicherweise irgendwo eine BerĂŒhrung siehst (beim Aufruf von get_touch_position nach dem Callback ist der Pressure-Wert dann schon wieder auf 1) und der Fix wĂ€re eher ein Minmum-Klickzeit fĂŒr den Button-Klick einzufĂŒhren. Ich hab da jetzt nochmal mehr logging eingebaut und es sind jetzt auch Buttons mit konfigurierten Callbacks mit eingebaut. Das lasse ich jetzt nochmal ein paar Tage laufen. Melde mich dann wieder. Zitieren
Equinox Geschrieben December 27, 2019 at 11:19 Autor Geschrieben December 27, 2019 at 11:19 Hallo, heute ist es wieder passiert, allerdings etwas anders als frĂŒher. Es war immer ein Wechsel zwischen Tab 1 und Tab 2 (ich glaube, bin aber nicht sicher, dass dies frĂŒher mehr Tabs waren), aber dieses Mal hatte ich fĂŒr ca. 14 Sekunden Pressure-Werte die deutlich gröĂer als 1 waren (zwischen 17 und 203, wobei die meisten um 170 waren). Davor und danach waren die Werte durchgĂ€ngig 1. Lösung war auch dieses Mal, den TF-Stapel vom Strom zu trennen. Eine Idee, woran das liegen könnte? Kann ich irgendwas zur besseren Analyse einbauen? Zitieren
Equinox Geschrieben January 4, 2020 at 15:46 Autor Geschrieben January 4, 2020 at 15:46 Hallo, Â und wieder ist es passiert. Dieses Mal waren alle Tabs beteiligt. Der Pressure Wert lag fĂŒr 24 Sekunden konstant bei 134 und danach fĂŒr 32 Sekunden konstant bei 129. Irgendwelche Ideen? Zitieren
borg Geschrieben January 6, 2020 at 15:38 Geschrieben January 6, 2020 at 15:38 Echt komisch. Die groĂe Frage ist jetzt ob es da einen Bug in der Ausleselogik des Touch-Controllers gibt oder ob dein Touchscreen einen defekt hat. Wir hatten das LCD noch nicht ausgetauscht, oder? Könntest du einmal an die info@tinkerforge.com eine Email schreiben mit der Bestellnummer und einen Hinweis auf diesen Thread. Dann wĂŒrde ich vorschlagen dass wir dir erstmal ein neues LCD 128x64 schicken um sicher zu stellen das es sich nicht um einen Hardware-Defekt handelt. Zitieren
Equinox Geschrieben February 2, 2020 at 14:07 Autor Geschrieben February 2, 2020 at 14:07 Hallo, jetzt ist es auch mit dem neuen Bricklet passiert đ Verhalten: ZunĂ€chst war die Anzeige eingefroren, d.h., kein Refresh und keine Reaktion auf BerĂŒhrungen. Dann habe ich es nochmals berĂŒhrt und damit den stĂ€ndigen Tab-Wechsel "aktiviert". Es waren zunĂ€chst Wechsel zwischen Tab 4 und 5 mit einem Pressure-Wert von 1. Dann habe ich nochmals lange berĂŒhrt. AnschlieĂend waren die Pressure-Werte meist bei 65, dann um 160 (vmtl. solange ich berĂŒhrt habe). Die Tabs haben von 1-5 gewechselt. Nach dieser langen BerĂŒhrung gingen die Pressure-Werte wieder auf 1 zurĂŒck und die Tabs haben von 2-5 gewechselt. Danach habe ich den Stapel kurz vom Strom getrennt und alles war wieder gut (also kein Programmneustart!). Im Log fand ich dann noch diese Nachricht (5 mal im Abstand von jeweils ca. 5 Sekunden): Exception: getTouchPosition in TabSelectedListener failed.Did not receive response in time for function ID 8 Ich kann allerdings nicht sagen, zu welchem Zeitpunkt diese Fehlermeldung erzeugt wurden, also ob vor, wĂ€hrend oder nachdem ich den Strom getrennt habe. Noch irgendeine Idee? Zitieren
borg Geschrieben February 3, 2020 at 11:36 Geschrieben February 3, 2020 at 11:36 OK, also handelt es sich definitiv wirklich um ein grundsĂ€tzliches Problem und es war nicht ein Problem mit deinem spezifischen LCD. Ich baue mir hier auf dem Schreibtisch nochmal ein LCD mit Debug auf und versuche da jeden Tag ein paar mal drauf rumzutouchen um das Problem hier zu reproduzieren. Es ist leider immer schwierig dieses Bugs zu debuggen die nur alle paar Wochen einmal auftrete đ . Zitieren
Equinox Geschrieben February 25, 2020 at 20:51 Autor Geschrieben February 25, 2020 at 20:51 Hallo, heute wieder :-( ZunĂ€chst war das Display "eingefroren". Als ich es dann nochmals berĂŒhrt habe, ging der wilde Wechsel wieder los: Zuerst mit Pressure-Werten um 165, dann konstant ca. 30 mal 70, dann einige Male gewechselt zwischen 121 und 167, anschlieĂend ĂŒber 100 mal den Wert 160. Ich vermute, dass die wechselnden Werte durch weitere BerĂŒhrungen verursacht wurden, die konstanten Werte ohne BerĂŒhrung. Konntet ihr es mittlerweile nachstellen? Zitieren
borg Geschrieben March 2, 2020 at 09:36 Geschrieben March 2, 2020 at 09:36 Bei mir lĂ€uft das Touchscreen immernoch... Vielleicht komme ich hier bei mir auf dem Schreibtisch zu oft dran und "resette" dadurch irgendeinen Zustand im Code oder im Touchscreen-Controller? Wie oft macht du denn etwas mit dem Display? RegelmĂ€Ăig oder drĂŒckst du da nur alle paar Monate einmal drauf und dann hast du den Bug? Zitieren
Equinox Geschrieben March 2, 2020 at 13:04 Autor Geschrieben March 2, 2020 at 13:04 Hallo, ich drĂŒcke relativ selten drauf, manchmal mehrere Tage ĂŒberhaupt nicht. Wenn ich drauf drĂŒcke, dann wechsle ich normalerweise mit einem Button zu meinem letzten Tab und gehe dann zurĂŒck bis zum zweiten Tab (oder ersten). Wenn ich das mache, dann ca. 1-2 mal am Tag. P.S.: Ich habe 5 Tabs. Der Button zum Springen auf das letzte Tab ist auf Tab 2. Ein Wechsel der Tabs mache ich normalerweise durch BerĂŒhren des Tabs, sehr selten mit Wischgeste. Zitieren
Equinox Geschrieben April 29, 2020 at 15:46 Autor Geschrieben April 29, 2020 at 15:46 Hallo, gibt es irgendwelche Neuigkeiten hierzu? Gerade ist es nĂ€mlich wieder passiert. Der Wechsel war zwischen Tab Index 1 und Tab Index 4 (also ohne 0), meist mit Pressure Wert 1, zu Beginn waren es aber auch Werte ĂŒber 100. Ich vermute, dass die Pressure Werte <> 1 gemessen werden, wenn ich tatsĂ€chlich ein Tab berĂŒhre (was ich am Anfang noch mache, gegen Ende dann nicht mehr). D.h., die Pressure Werte scheinen korrekt zu sein. Geholfen hat wie immer eine Trennung vom Strom des Stapels. Das Programm wurde nicht neu gestartet. Zitieren
Equinox Geschrieben August 10, 2020 at 18:54 Autor Geschrieben August 10, 2020 at 18:54 Hallo,  jetzt ist es innerhalb von 2 Tagen 2 Mal passiert. Beim ersten Mal war der Wechsel zwischen den Tabs 3, 4 und 5, meist mit einem Pressure Wert von 175. Beim zweiten Mal war es ein Wechsel zwischen Tabs 1 und 2, meist mit einem Pressure Wert von 1. Wie immer hat eine Trennung des Stapels vom Strom geholfen. Irgendeine Idee? Kann ich noch irgendwas zum Debuggen einbauen? Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.