WadeHatler
New member
Your otherwise excellent manuals seem to lack any information on debouncing of mechanical switches. I'd like to see a real discussion of that, as well as code to implement debouncing in the git repository. Everyone who starts using it has to first figure out if it's even a problem that needs solving, and the solution should just be handed to them.
For example, I'm using the 8-HV-INPUTS for RASPBERRY PI board. It says: Transition of any input is causing pin 29 of the GPIO expander to go low. If you do not want to poll all the inputs, you need to write an interrupt handler to detect the change, but doesn't mention if that's already debounced, or if you have to debounce it in your code, and if so, how you would go about it.
If polling, one can assume you have to debounce, but no mention is made of the necessity or how to do it.
I also looked at the schematic, and it doesn't show any evidence of hardware debouncing.
In an ideal world, you would make a Python library that has a function like
For example, I'm using the 8-HV-INPUTS for RASPBERRY PI board. It says: Transition of any input is causing pin 29 of the GPIO expander to go low. If you do not want to poll all the inputs, you need to write an interrupt handler to detect the change, but doesn't mention if that's already debounced, or if you have to debounce it in your code, and if so, how you would go about it.
If polling, one can assume you have to debounce, but no mention is made of the necessity or how to do it.
I also looked at the schematic, and it doesn't show any evidence of hardware debouncing.
In an ideal world, you would make a Python library that has a function like
lib8inputs.subscribe(board, input, func)
, which would just call func()
when the input changes after debouncing that's handled by the library