summaryrefslogtreecommitdiff
path: root/decoders
AgeCommit message (Collapse)Author
2017-03-14uart: Use consistent order of steps when processing samplesGerhard Sittig
Slightly rearrange some of the methods which are involved in UART frame inspection. Use a consistent sequence of steps: Grab the signal's current value, accumulate and process the information, emit respective annotations, and advance to the next stage in the UART frame inspection.
2017-03-14uart: Remove redundant "reached bit" checksGerhard Sittig
After the decode() method got adjusted to call wait() with custom made conditions and to check .matched[] before inspecting samples, the check whether a bit time's sample point was reached has become obsolete.
2017-03-14uart: Improve robustness of query API result processingGerhard Sittig
Since either of the UART signals (RX, TX) is optional, and in the absence of Decoder.wait() conditions that "will never match", we cannot construct a constant layout. Instead we need to explicitly keep track of which item in the list of wait conditions corresponds to which signal. Once the index in the list of wait conditions is known, inspection of samples can depend on the Decoder.matched[] attribute. Before this change, redundant reached_bit() checks kept us from processing samples that should not have been inspected. Tests pass before and after this very commit.
2017-03-14uart: Reduce redundancy in sample inspection (state machine)Gerhard Sittig
Factor out the logic which inspects samples that were provided by the PD version 3 query API, and dispatches their processing depending on the progress of UART frame inspection. "Unroll" a loop over the RX and TX signals. This commit replaces some complicated variable assignments by easier to verify invocations.
2017-03-14uart: Convert to PD API version 3Gerhard Sittig
Adjust the UART protocol decoder, to make use of the query based API. Have edges detected and unrelated samples skipped by common code. This implementation keeps some redundancy in place (like checking for having reached specific sample numbers, while the backend managed that for us). This approach reduces the diff and shall simplify review. Only some common checks in decode() were moved to the start of the routine, outside of the sample inspection loop.
2017-03-14uart: Minor readability nit (position of start bit in calculation)Gerhard Sittig
Rephrase the bit slot index calculation for UART frames such that it becomes more apparent whether a start bit is involved or whether an array index needs adjustment due to Python range semantics. This shall improve readability, and reduce the probability of off-by-one errors during maintenance.
2017-03-14uart: Immediately skip reception of parity bits when not applicableGerhard Sittig
When the UART frame does not contain a parity bit, then immediately advance to reception of stop bits after all data bits were received. This eliminates the necessity to run the parity check routine when parity does not apply in the first place. Without this change, some "dummy" sample needs to get inspected for correct operation of the state machine.
2017-03-14uart: Remove an obsolete unused routineGerhard Sittig
2017-03-04rgb_led_ws281x: Use self.samplenum.Uwe Hermann
This is currently just a cosmetic change, but will make the conversion to the PDv3 API slightly easier and more readable.
2017-03-03Drop obsolete workarounds in PDs.Uwe Hermann
Some PDs were using a temporary workaround for (as it turned out) a refcounting issue that was fixed in 066fbafdc3ba734a73b5f7fcfa1dbae67ddebf8a.
2017-02-25Add an initial serial GPIB (IEC) decoder.Marcus Comstedt
2017-02-14Added intial ADF4350/1 decoderJoel Holdsworth
2017-01-18z80: Convert to PD API version 3 (brute force)Gerhard Sittig
This implementation technically uses v3 API calls, but has yet to come up with appropriate wait() conditions, to spend less time in the decoder and have more tedious work done in the backend.
2017-01-18t55xx: Convert to PD API version 3Gerhard Sittig
2017-01-18sdcard_sd: Convert to PD API version 3Gerhard Sittig
2017-01-18qi: Convert to PD API version 3Gerhard Sittig
2017-01-18ps2: Convert to PD API version 3Gerhard Sittig
2017-01-18mdio: Convert to PD API version 3Gerhard Sittig
2017-01-18em4305: Convert to PD API version 3Gerhard Sittig
2017-01-15em4100: Convert to PD API version 3Gerhard Sittig
2017-01-07license: remove FSF postal address from boiler plate license textGerhard Sittig
Remove the FSF postal address as it might change (it did in the past). Reference the gnu.org website instead which is more stable.
2016-12-26avr_pdi: Don't pass self.samplenum (use it), simplify code.Uwe Hermann
2016-12-26avr_pdi: Convert to PD API version 3.Gerhard Sittig
Switch to the v3 decoder API: The decode() methods takes no arguments, instead it calls wait() and has common code find edges on input signals.
2016-12-26avr_pdi: introduce decoder for Atmel Program and Debug InterfaceGerhard Sittig
Introduce a decoder for Atmel's proprietary programming and debugging interface which got introduced with ATxmega chips. This implementation supports the UART style physical (two wires PDI_CLK and PDI_DATA).
2016-12-07usb_power_delivery: Convert to PD API version 3.Uwe Hermann
2016-12-07tlc5620: Convert to PD API version 3.Uwe Hermann
2016-12-07timing: Convert to PD API version 3.Uwe Hermann
2016-12-07swd: Convert to PD API version 3.Uwe Hermann
2016-12-07stepper_motor: Convert to PD API version 3.Uwe Hermann
2016-12-07spdif: Convert to PD API version 3.Uwe Hermann
2016-12-07parallel: Convert to PD API version 3.Uwe Hermann
2016-12-07onewire_link: Convert to PD API version 3.Uwe Hermann
2016-12-07jtag: Convert to PD API version 3.Uwe Hermann
2016-12-07jitter: Convert to PD API version 3.Uwe Hermann
2016-12-07ir_nec: Convert to PD API version 3.Uwe Hermann
2016-12-07i2s: Convert to PD API version 3.Uwe Hermann
2016-12-07i2c: Convert to PD API version 3.Uwe Hermann
2016-12-07guess_bitrate: Convert to PD API version 3.Uwe Hermann
2016-12-07dcf77: Convert to PD API version 3.Uwe Hermann
2016-12-07aud: Convert to PD API version 3.Uwe Hermann
2016-12-07am230x: Convert to PD API version 3.Uwe Hermann
2016-11-07spiflash: Major refactoring and annotation improvements.Uwe Hermann
2016-11-07spiflash: Use OrderedDict for cmds, more readable annotation indices.Uwe Hermann
2016-11-07spiflash: Initial RDSR2 implementation (incomplete).Uwe Hermann
This is not entirely correct yet, will be fixed later.
2016-11-07spiflash: Implement WRSR command.Uwe Hermann
2016-11-07spiflash: Add FIDELIX FM25Q32 metadata.Uwe Hermann
2016-11-06spiflash: Remove hardcoded Macronix references.Uwe Hermann
2016-11-06spiflash: Implement Release Power-down / Device ID (0xAB) command.Uwe Hermann
This fixes bug #845.
2016-11-04ps2: Add more detailed per-bit annotations.Uwe Hermann
2016-11-04ps2: Neither the clock nor the data pin is optional.Uwe Hermann