-
Notifications
You must be signed in to change notification settings - Fork 169
Pushbutton class buggy ? #115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Re your first bug, I can replicate this and will fix it. I cannot replicate your issues with the custom times. These are class variables and it is necessary to set them prior to instantiating the class. The following script works with expected times (I have defined a from primitives import Pushbutton
from machine import Pin
import asyncio
sel = Pin(16, Pin.IN, Pin.PULL_UP)
Pushbutton.long_press_ms=2000
Pushbutton.double_click_ms=1000
pb = Pushbutton(sel, True)
def f(a):
print(a)
pb.press_func(f, ('press',))
pb.long_func(f, ('long',))
pb.double_func(f, ('double',))
pb.release_func(f, ('release',))
async def main():
await asyncio.sleep(10)
asyncio.run(main()) I will amend the docs to clarify the use of the class variables. If you are still encountering a problem with custom times, please provide a script which reproduces the fault. |
I have now pushed a fix. It is perhaps worth noting that setting
|
Hi Peter, Many thanks again. Also many thanks for the nice libraries that save me having to write tedious debouncing code, and asyncio helps much if writing my microcontroller application - I just discovered it and rewrote all of my code to use it, it's really much better this way ! |
I tested your code with the custom timings, and it actually works. My mistake was that I had used i.e. I thought it was a per-button setting, where it seems to be a global one. |
Glad this is all OK now. |
Hello,
I'm trying the Pushbutton v3 class on a Raspberry Pi Pico W with micropython v1.22.1 and I'm encoutering a few issues :
Exception occurred !
Traceback (most recent call last):
File "asyncio/core.py", line 1, in run_until_complete
File "/lib/primitives/delay_ms.py", line 47, in _timer
File "/lib/primitives/init.py", line 20, in launch
File "/lib/primitives/pushbutton.py", line 83, in _ddto
AttributeError: 'Pushbutton' object has no attribute '_fa'
This doesn't occur if "suppress=True" is not used.
So basically it seems to be working good as long as no fancy options are used : No "suppress=True" and no custom delays, and then it behaves allright.
The text was updated successfully, but these errors were encountered: