Protocol decoder:graycode

From sigrok
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
graycode
Pd graycode.png
Name Gray code and rotary encoder
Description Accumulate rotary encoder increments, provide timing statistics.
Status supported
License GPLv2+
Source code decoders/graycode
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, representing a quadrature signal. The decoder will report phase, counting direction, absolute count, as well as timing information.

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