Difference between revisions of "Protocol decoder:Graycode"

From sigrok
Jump to navigation Jump to search
Line 12: Line 12:
| optional_probes = D0-D7
| optional_probes = D0-D7
| options        = numchannels, edges, avg_period
| options        = numchannels, edges, avg_period
| github          = https://github.com/crackwitz/sigrok-pd-graycode
}}
}}


Line 25: Line 24:
== Resources ==
== Resources ==


* [https://github.com/crackwitz/sigrok-pd-graycode Source on Github]
* [https://en.wikipedia.org/wiki/Gray_code Wikipedia: Gray Code]
* [https://en.wikipedia.org/wiki/Gray_code Wikipedia: Gray Code]



Revision as of 20:06, 18 September 2017

graycode
Pd graycode.png
Name graycode
Description Gray Code and Rotary Encoder
Status ??
License GPLv2+
Source code decoders/??
Input logic
Output graycode
Probes
Optional probes D0-D7
Options numchannels, edges, avg_period

The graycode protocol decoder can decode Gray Codes up to 8 data lines (but easily generalizes). One popular special case is the Rotary Encoder, which has two lines, A and B. The decoder will report phase, counting direction, absolute count, as well as timing information. Sorry for that mislabeling.

Parameters

edges: Number of rising and falling edges per turn of all lines. Rotary encoders are usually labeled as having N pulses per turn. A pulse consists of rising and falling edge and you have two lines that are phase-shifted by 90° to one another. This allows to extract 4N edges per turn.

numchannels: due to a current bug in Pulseview, assigned optional probes aren't reported correctly, so you'll have to select the number of channels manually.

Resources