Jump to content

Recommended Posts

Posted

Hallo,

 

Ich habe am IO16 bricklet ein paar Taster angeschlossen. Nur leider bekomme ich interrupts manchmal doppelt (mit dem c-code Beispiel), das heisst wenn sich der Zustand ändert (Taster schliessen/öffnen) dann wird manchmal für den alten Zustand noch einmal ein interrupt ausgelöst und sofort danach einer für den neuen Zustand und manchmal wird ein Interrupt sofort doppelt ausgelöst.

Die Wiederholer lassen sich im Callback leicht rausfiltern, da value_mask sich bei doppelten interrupts nicht verändert, aber ich denke das ist nicht das Verhalten das eigentlich gewünscht ist.

Posted

Könnte mir vorstellen das deine Schalter prellen (kannste mal nach googeln). Wenn dies ist musst du deine "Debouce period" erhöhen. Siehe API Dokumentation unter set_debounce_period.

Posted

Ich hab nicht so richtig Ahnung von elektrotechnik, aber sollte dann nicht auch noch ein Interrupt mit dem jeweils anderen Zustand kommen?

Also ich bekomm gerade z.B. folgende 3 Interrupts für den Schalter beim drücken: low, high, high. Wenn der Schalter prellt würde ich doch low, high, low, high erwarten?

Posted

Hab mir mal gerade den IO16 Code kurz angeguckt. Das kann Zustande kommen wenn uns der IO Expander ein Interrupt erzeugt während wir in der debounce Phase sind (low -> high), dann das Interrupt wieder wegnimmt (high -> low) und dann ein neues Interrupt kommt (low -> high) bevor die debounce Phase zuende ist.

 

Ich hab mal eingebaut das der letzte Interrupt gespeichert wird um zu gucken das wir den gleichen nicht nochmal verarbeiten: https://github.com/Tinkerforge/io16-bricklet/commit/147ad1f617c766313edaf5461f9eee5efe498b25

 

Ob das dein Problem zu 100% löst kann ich nicht sagen, schaden tut es aber nicht.

 

Hier gibts die neue Version: http://download.tinkerforge.com/firmwares/bricklets/io16/bricklet_io16_firmware_1_1_1.bin

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...