-
Notifications
You must be signed in to change notification settings - Fork 87
Description
There is a whole story behind those encoders. I was using only my firmware all the time and I have tried the original fw just when the device arrived. So I thought this was something related to my own code implemetation why the encoders were behaving so badly. Then someone mentioned here that also the official fw has similar problems, so I decided to spend some time investigating where is the problem. I made simple program that just shows color lines on the screen depending on the logic levels coming from the encoders. I noticed that there is terrible noise (switch bouncing) when the encoders were turning. I wanted to place some capacitors at the encoder signals to prevent this:
and I was lucky, because the engineers at miniware placed there vias on the PCB where the encoders were soldered. After placing 100nF ceramic caps, the signal became perfectly clean. But just to be sure I also implemented simple digital filter to filter out some short term signals which waits until the encoder signal becomes stable for 4 milliseconds:
https://github.com/gabonator/LA104/blob/master/system/os_host/source/bios/ds213/imports.c#L105
And then I tried the same algorithm on the second encoder (without caps) and for my surprise, it was working very well even without capacitors. Even better than on LA104 which I was working on last months... Again, software solves hardware problem with ease...
@darkonerakot this took about one year to finish :) Most of the work was already done for the DS203 oscilloscope and I was waiting until miniware fixes their fpga issue before developing for DS213. And I have recently finished one interesting project for LA104 (https://www.youtube.com/watch?v=Gwyi00NKBNg) and was looking for another challenge
Originally posted by @gabonator in #44 (comment)
