summaryrefslogtreecommitdiff
path: root/decoders
AgeCommit message (Collapse)Author
2017-06-06eeprom24xx: Don't make lists.py executable.Uwe Hermann
2017-06-06Drop trailing whitespace in various PDs.Uwe Hermann
2017-06-05Add srd_inst_initial_pins_set_all() and support code.Uwe Hermann
This allows frontends to set the assumed initial pins (i.e., the assumed state of the pins before the first sample of a capture) to user-specified values. The assumed initial pins can be either low, or high, or "use same value as the first sample of the capture". The special self.initial_pins decoder attribute is now removed.
2017-06-05Rename maxim_ds28ea00 to ds28ea00.Uwe Hermann
None of the other PDs have a vendorname in the PD name.
2017-05-26can: Skip stuff bit inspection where not applicableGerhard Sittig
Bit stuffing does not apply to the last fields of a frame, specifically the CRC delimiter, the ACK, and the end-of-frame fields. Adjust the respective bit handling logic. This fixes bug #656.
2017-05-26can: Convert to PD API version 3Gerhard Sittig
Don't inspect each individual sample in the Python based PD. Instead use the backend's query API to detect the start of a frame and to advance to the sample point position.
2017-05-26can: Add warnings for various invalid bits and fields.Uwe Hermann
2017-05-13sdcard_sd: reference latest command when displaying responseWolfram Sang
Replace the hardcoded value with the last cmd used. I'd think the whole ACMD handling could be simplified if we make further use of this new variable. But for now, let's keep it simple and make it work. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
2017-05-13sdcard_sd: output CMD8 in cmd8-handlerWolfram Sang
Probably a typo, currently 'cmd0' gets pushed out. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
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.