Difference between revisions of "Protocol decoder:Graycode"
		
		
		
		
		
		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  | ||
}}  | }}  | ||
| 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 19:06, 18 September 2017
| 
 | |
| 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.