Re: Plötzlich Probleme mit eDIP Kategorie: Programmierung (von Rudi Renninger - 4.01.2010 18:24) | ||
Als Antwort auf Re: Plötzlich Probleme mit eDIP von André H. - 11.05.2008 21:57 | ||
| ||
> Hallo Wema, > > > Und dann habe ich meinen Programmcode optimiert, d.h. sämtliche Teile, die ich nur für das 4x20LCD > > benötigte, hinausgeschmissen. Da der Code für aämtliche Menüs etc. auf dem eDIP einfacher zu > > programmieren ist, habe ich eine Menge Code gespart. Mein jetziges Programm hat nur noch eine > > Grö�e von rund 18.000Words. Und seit dieser Version habe ich auch die Probleme: Die Touchbuttons > > reagieren nicht mehr auf jeden Druck, sondern meist nur noch auf den 2. bis 5. Und weiterhin passiert > > es öfter, dass bei einem Menüpunkt plötzlich ein anderer angezeigt wird, den ich vorher ohne Erfolg > > betätigt hatte. Ich habe seit 3 Tagen den Code überprüft und keinen Fehler finden können. Ich möchte > > den Code hier nicht abdrucken (ginge auch gar nicht), hoffe aber dennoch auf Eure Hilfe: Kann es sein, > > das der Zugriff auf den I2C-Bus durch den geringeren Code zeitlich problematischer geworden ist? > > Nein, eigentlich nicht. > Au�er, Du schickst zu viele Daten an das eDIP, so da� diesesnicht hinterherkommt. > Das kann ich mir aber kaum vorstellen. (Im Zweifelsfall testweise ein paar Sleeps einbauen.) Hallo Wema, habe Dein Posting gefunden (wenn auch schon etwas alt), da ich ähnliche Probleme (hoffentlich) hatte ... Meine Lösung/Ursachenforschung sieht derzeit folgenderma�en aus: Ich hatte einen freien Touchbereich definiert (ESC "AH") der mir meine ganze Interrupt-Steuerung (wait not ports.get(14)) durcheinander gebracht hat. Die Untermenüs und Menüaktionen sind - wie bei dir beschrieben unvorhersehbar gekommen bzw. nicht gekommen ... Dank des Tipps von Andre (in einem anderen Posting) habe ich eine LED an den Interrupt-Ausgang des EDIPS gehängt ... und siehe da: sobald man den frei definierten Touchbereich berührt, blinkt diese mehrmals unregelmä�ig auf (vermute mal, dass da das "drag" des Touchbereichs zuschlägt - ist aber auch egal :-)). Klar, dass meine ganze Logik durcheinander kommt, da bei jedem Aufblitzen der LED etwas in den Sende-Puffer des edips gestellt wird ... Vielleicht irre ich mich auch ... Auf jeden Fall habe ich den freien Touchbereich durch einen "normalen" TouchKey (ohne Rahmen) ersetzt und seitdem funktioniert das ganze: Wenn ich einmal draufdrücke, dann leuchtet die LED (Interrupt edip) auch nur einmal (und nicht mehrere male). Bis jetzt läuft das ganze ohne Probleme (zwar erst einen Tag, bin aber zuversichtlich ...). zusätzlich baue ich einen sleep zwischen 15 und 30 nach jedem edip Befehl ein. Ob das unbedingt notwendig ist? Jedenfalls "verschluckt" sich das edip kein einziges mal ... edip.setTouchFont(edipAddress,6); sleep 15; edip.setTouchFrame(edipAddress,0,0); sleep 15; edip.touchKey(edipAddress,1,5,40,120,0,5,1,"R|o|L|a"); sleep 30; Für nicht Hardware-Lötkolben-Freaks die Bauanleitung für die LED: Low current LED (2 mA) mit 1,5 kOhm Widerstand an INT (edip-Platine) und +5 Volt hängen. Polarität der LED nicht verwechseln (langes Bein: +5 Volt) Hoffe, Du hast die Probleme schon selbst gelöst ... aber falls einer mal nach demselben Problem sucht, wird er hier vielleicht fündig. Dank an alle, die Ihre Lösungen und Tipps hier im Forum kundtun! Gru�, RR > > > Mu� ich etwa jeden ZUgriff durch das eDIP auf den BUs möglicherweise capturen? Ein ausprobieren > > wäre für mich mit viel Arbeit (und möglicherweise unnötiger) verbunden. Daher hoffe ich auf einen > > Hinweis aus Euren Reihen. Reicht zur Kollisionsvermeidung augf dem I2C-Bus nicht bereits, das > > Andre in seinen Modulen capture-Befehle hat? > > I²C-Bus-seitig ist bereits alles gecaptured. > Hier kann es durch Multithreading zu keinen Problemen kommen. > Nur, wenn man eine Ebene höher geht, also z.B. dasselbe eDIP aus unterschiedlichen Threads > anspricht, mu� man wieder capturen. > > > Hat jemand ähnliche Probleme gehabt und konnte diese lösen?? > > Hatte ich bisher leider nicht. Sorry. > > �berwache einmal den Interruptausgang des eDIPs beim Drücken einer Taste. > (Zur Not eine LED anschlie�en.) > > MfG André H. | ||
Antwort schreiben Antworten: Re: Plötzlich Probleme mit eDIP (von Markus - 4.01.2010 19:56) |