Difference between revisions of "Protocol decoder:Graycode"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
{{Infobox protocol decoder | {{Infobox protocol decoder | ||
| id = graycode | | id = graycode | ||
| name = | | name = Gray Code | ||
| description = Gray Code and Rotary Encoder | | description = Gray Code and Rotary Encoder | ||
| status = ?? | | status = ?? |
Revision as of 20:08, 18 September 2017
Name | Gray Code |
---|---|
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.