<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 10 Feb 2020, at 00:42, Brian Willoughby <<a href="mailto:brianw@audiobanshee.com" class="">brianw@audiobanshee.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">These data sheets mention the maximum time that the contacts might bounce. It seems like it should be possible to determine the rate that the contacts must be read (and potentially debounced) based on those times. However, what if someone turns the encoder so fast that one contact is still bouncing when the next contact transitions? Seems like the really cheap encoders with lots of contact bounce simply cannot be read reliably, no matter how fast the processor scans.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Any experience here?</span></div></blockquote></div><br class=""><div class="">Yes, I’ve messed around with these. Cheap encoders can be read reliably, but not if you turn them fast. The bounce time limits the maximum rotation speed that can produce sensible codes. Whether the processor reads fast or slow is largely irrelevant. In fact, I found slower was better, since it ignored more of the bouncing. Reading quicker just picks up more bounces which you then have to deal with.</div><div class=""><br class=""></div></body></html>