Zero-latency subframe decimal input and output using my old multiplier (updated to modern subframe tech standards) as a demo. Turn debouncing off to experience 60Hz to its fullest.
subframe
decimal
output
input
multiplier
multiplication
electronic
electronics
60hz
bin2dec
Comments
-
@Draco712 That's correct. And yeah, I had actually changed the "debouncing" model in response to yourearlier comment. (The old way was a hack, it didn't occur to me then to use pulse generation for some reason.) I guess pulse generator would be a better term here, though debouncing has a nicer ring to it, and technically we're still doing input filtering for buttons in a way similar to real life debouncing so I'll keep using that term for now :P.
-
Oh wait, I just realized that it now doesn't repeat input numbers (at a slow rate) when debouncing is on. (well, previous versions of this save did repeat input while deb'n is on)
-
Man, this subframe stuff is great.
-
Also, a 'one-shot' listens for a rising edge (0 to 1 transition), and outputs a fixed length pulse. It doesn't mind how long or short the input pulse is.
-
mark2222: from what I understand in electronics, debouncing is used to filter irregular pulses from a 'real-world' button (that may cause unwanted interpretation). The method used here is more of a monostable multivibrator (or just 'one-shot') connected to some sort of delay to make repeated pulses at a slower rate.
-
QuanTech: If you hold down a button, the system should only read it as one press, not as multiple repeated presses. If you switch debouncing off, holding a button down will cause the digit to be entered repeatedly at 60Hz. Try it for yourself!
-
what's debouncing
-
@Draco712 Okay, I've updated this save to use your debouncing model (albeit implemented with different subframe primitives)
-
@Draco712 I didn't actually see the second version of the solid wires save, but it looks like exactly the same concept. I like your version of debouncing in that save better, though.
-
mayhap, they are made of layered grvt + inst + conv(inst)