-
Notifications
You must be signed in to change notification settings - Fork 87
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
Optimize rotary encoder movement #89
Comments
The original code is here. I think it is easier to understand. It needs to sample the inputs from the rotary encoder with 1 KHz. mt32-pi uses its own CPU core for the UI and this purpose. We cannot do this, because we need all secondary cores for the audio processing. I could install an 1 KHz user timer on core 0, but with bad luck its IRQs will not be handled quick enough, because an other IRQ handler is running at this time already. First I will try to extend the Circle KY-040 driver for the "quarter", "half" and "full" cases. If this does not work, I will try the user timer. |
@probonopd Extending the Circle KY-040 driver did probably not work. Unfortunately I also do only have one KY-040 and I even do not know, if it is "quarter", "half" or "full". I did think about this some time now. Because I already implemented one rotary encoder driver for MiniDexed and Circle, I won't do again. You will find other developers for sure, which are ready to do this. I'm afraid I have to draw back from your project in one month, to be able to concentrate on my own projects again. This all costs a lot of time. |
@rsta2 that's sad to hear but completely understandable. You have been doing pure magic both with Circle and with this project. Who would have thought the project would land on the frontpage of Hackaday? All the credit goes to you and to the other giants which this project stands on the shoulders of. You can't be thanked enough 🥇 I hope this project has been fun for you, and maybe it also helps a bit to make Circle more known. |
Thanks for your understanding! Yes, it was fun. Unfortunately I'm not musician enough to enjoy all the coming features of MiniDexed enough, to continuously work on this project. The (shrunken) TX816, that I have now, is already great enough for me. ;) |
Hi this Minidexed project is very impressive and very beautiful to me. |
Have you installed the 10nf caps on the data pins of the encoder to ground?
It helped with the rotation on both my builds.
…On Fri, 17 Feb 2023, 13:38 Giandj, ***@***.***> wrote:
Is it normal that my rotary encoder miss some pulse ? If I turn clockwise
voice change sometimes very well , sometimes I have to rotate again and
again to switch from voice1 to voice2 ...3..4...until 32
Instead if i turn it anticlockwise is much reactive voice from
32...4...3...2...1 chance are more sensitive on anticlockwise turns of
rotary encoder why ?
The rotary encoder seems to miss some rotation.. what kind of test can I
do to encrease encoder sensitivity on pi3b+ ?
—
Reply to this email directly, view it on GitHub
<#89 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AMFJTAIXL5ZJE2ZPCMMWMOTWX5PJTANCNFSM5TP3IVZQ>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Hi, So far, every rotary encoder KY-040 I have installed has been given 10nf capacitors |
|
You need two 10nF capacitor. |
Can you give me a schema ? in my case my rotary encoder is wired on rapsberry pi3b+ , |
I will try whit 2 capacitors thank you.. |
In your TX816Pi2.zip file there is a version from 06/05/2022 and I probably drew the wrong conclusions.
I've built a few miniDexeds and have always had success with the capacitors. Is your KY-040 ok?
I have no experience there. The file "mt32-pi.cfg" is unknown to me. |
My Encoder is ok, I have changed 3 encoders with capacitors , but sometimes some rotation are missing...no problem...before 2 capacitors the rotation issue was most frequent...
In another post (issue) somebody wrote that we can modify quadrature calculation in this text file to make encoder rotation much better... |
I had the same irresponsiveness problem and I figured out something: I realized switch button is attached to VCC. In Gustavomurta approach the switch goes to GND (I followed his schematic and everything works perfect). I guess switches to 3V3 interfere with the code at some point generating the laggy behaviour. I did not check the rotary code but It seems easy to fix. |
It works fine with the Dtronics DT-DX, so it seems to be a hardware issue rather than a software issue. |
Currently, If two clicks are needed for a single movement.
mt32-pi.cfg
has this information:Code is here.
Next step: Try
mt32-pi.cfg
with my rotary encoder.The text was updated successfully, but these errors were encountered: