summaryrefslogtreecommitdiff
path: root/decoders
AgeCommit message (Collapse)Author
2017-05-13timing: Drop obsolete self.oldpin variable.Uwe Hermann
2017-05-13timing: "normalize" negative times tooKarl Palsson
Use the same scale. Signed-off-by: Karl Palsson <karlp@etactica.com>
2017-05-13timing: add edge-edge mode and delta calculationKarl Palsson
Instead of only measuring the timing from any edge to any edge, provide a mode to measure the times from falling->falling and rising->rising edges. This works better to monitor timing of an IRQ pin for instance, that drives one direction under hardware, and is only cleared by software reading a value. Include time delta measurements as an optional annotation to help track jitter in measurements. Signed-off-by: Karl Palsson <karlp@etactica.com>
2017-05-13timing: disable averaging if set to zeroKarl Palsson
The extra row of the average isn't always useful. Allow it to be disabled by setting the average window to zero. Signed-off-by: Karl Palsson <karlp@etactica.com>
2017-05-12Rename ade7758 decoder to ade77xx.Uwe Hermann
There are multiple devices in the ADE77xx series that are similar enough to be supportable via this decoder in the future.
2017-05-11ade7758: Slightly shorten some code chunks.Uwe Hermann
2017-05-11Add an ADE7758 protocol decoder.Karl Palsson
No value decoding, that can be fairly complicated. Signed-off-by: Karl Palsson <karlp@etactica.com>
2017-05-06sdcard_sd: remove unused functionsWolfram Sang
putr2 is unused, so let it go. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
2017-05-06eeprom93cxx: Improve longname.Uwe Hermann
2017-05-06microwire/eeprom93cxx: Use 'es' instead of 'se' abbrevation.Uwe Hermann
(for consistency with all other decoders)
2017-05-06eeprom93cxx: Update wrt Python output namedtuple usage.Uwe Hermann
2017-05-06eeprom93cxx: Shorten put_word() a bit.Uwe Hermann
2017-05-06Add a 93Cxx Microwire EEPROM protocol decoder.Kevin Redon
This fixes parts of bug #931.
2017-05-05microwire: Use namedtuple in some more cases.Uwe Hermann
2017-05-05microwire: Use namedtuple for the Python output.Uwe Hermann
This has two advantages: - The Python output is always deterministic, which was not the case for the dict-based version since dict items have no guaranteed order in Python. This caused issues with the sigrok-test use-case. - The code is slightly more readable.
2017-05-05microwire: Drop some trailing whitespace.Uwe Hermann
2017-05-05microwire: Shorten decode() a bit.Uwe Hermann
2017-05-05microwire: Make Ready/Busy extra annotation classes.Uwe Hermann
2017-05-05microwire: Make the start bit an extra annotation class.Uwe Hermann
2017-05-05Add a Microwire protocol decoder.Kevin Redon
This fixes parts of bug #931.
2017-05-02sdcard_sd: really show result of SET_BLOCKLENWolfram Sang
Now that self.arg is populated, we can finally use it. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
2017-05-02sdcard_sd: always show CMD argument in hexWolfram Sang
This is especially useful with the default handler, so you can better understand the transfer if you are already familiar with CMD numbers and their arguments. It makes it also easier to compare with the debug output of the e.g. Linux Kernel. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
2017-05-02sdcard_sd: don't interate over not implemented commandWolfram Sang
There is no handler for CMD4 yet. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
2017-04-07onewire_link: (Re-)convert to PD API version 3.Uwe Hermann
2017-04-07onewire_link: Factor out some helper methods.Uwe Hermann
This avoids some boilerplate in the decode() method itself.
2017-04-07Implement new 1-Wire link decoder using time rangesKing Kévin
Rewrite of the 1-Wire link decoder. Existing outputs are kept and new warnings are added. Instead of sampling at fixed user defined time, time ranges as specified by the "Book of iButton Standards" are used. The user does not have to tweak the timing values anymore. Overdrive speed is detected automatically. This fixes bugs #666 and #926.
2017-03-31iec: Convert to PD API version 3Marcus Comstedt
2017-03-28eeprom24xx: add Xicor X24C02 variantfenugrec
2017-03-18dali: Use a slightly better variable name.Uwe Hermann
2017-03-18dsi: Use a slightly better variable name.Uwe Hermann
2017-03-18dsi: Small fix for the longname.Uwe Hermann
2017-03-15Add a DALI protocol decoder.Jeremy Swanson
2017-03-15Add a DSI protocol decoder.Jeremy Swanson
2017-03-15uart: Minor cosmetic changes.Uwe Hermann
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