summaryrefslogtreecommitdiff
path: root/decoders
AgeCommit message (Collapse)Author
2017-06-20usb_signalling: Move another edge detection to common backend codeGerhard Sittig
Rephrase how the 'WAIT IDLE' stage skips over all-low input signals. Have the next high level on either line detected in common code.
2017-06-20pwm: Fixup sample numbers for binary outputGerhard Sittig
Do reference the period's start and end sample numbers when the duty cycle is written to the binary output stream. The previous implementation inappropriately used the period counter instead.
2017-06-20pwm: Eliminate more decoder "state"Gerhard Sittig
Move more items from the Python object's members to local variables of the decode() method, as they are used there exclusively. Mark a spot where the binary output references suspicious "sample numbers".
2017-06-20pwm: Rephrase edge and period detection, eliminate internal stateGerhard Sittig
With the simplicity of PWM waveforms and the convenience of the v3 API, there is no need to maintain internal state. After the start of the first period was determined based on the input signal's polarity, any period is defined by just the next two edges, and the next period is immediately to follow.
2017-06-16Mark all stacked decoders as being PD API version 3.Uwe Hermann
This is not really relevant for stacked PDs currently (they can be used unmodified with either PDv2 or PDv3 low-level decoders), but it'll allow us to drop PDv2 support completely.
2017-06-16ir_rc5: Convert to PD API version 3.Uwe Hermann
2017-06-16dsi: Convert to PD API version 3.Uwe Hermann
2017-06-16dsi: Cosmetics, drop obsolete comments.Uwe Hermann
2017-06-16rgb_led_ws281x: Convert to PD API version 3.Uwe Hermann
2017-06-16lpc: Convert to PD API version 3.Uwe Hermann
2017-06-16wiegand: Convert to PD API version 3.Gerhard Sittig
2017-06-16usb_signalling: Convert to PD API version 3.Uwe Hermann
2017-06-16dali: Change 'self.dali' to 'dali'.Uwe Hermann
2017-06-16dali: Convert to PD API version 3.Uwe Hermann
2017-06-16dali: Random cleanups, remove obsolete comments.Uwe Hermann
2017-06-16spi: Simplify some code chunks.Uwe Hermann
2017-06-15dmx512: Use a nicer 'dmx' pin name variable.Uwe Hermann
2017-06-15dmx512: Convert to PD API version 3.Uwe Hermann
2017-06-15pwm: Reduce indentation level.Uwe Hermann
2017-06-15pwm: Simplify waiting for initial edge.Uwe Hermann
2017-06-06spi: Missing samplerate spec is not fatalGerhard Sittig
Check for the availability of a samplerate specification, but don't abort in its absence. Lack of the samplerate only prevents the emission of throughput annotations, but still allows decoding the clocked signal.
2017-06-06spi: Improve use of PD API version 3Gerhard Sittig
Eliminate more instances where Python code tracked signal changes instead of having common library code do the work. Reduce the number of boundary crossings between library and decoder code (Python vs C), by inspecting fewer input edges. Yet cope with the CS signal's being optional. Emit identical annotations to the previous implementation for CS changes, including the initial change "from None to 0/1". Sort the checks for optional input signals at the top of decode() into a more natural order. Improve and update comments. This commit results in a more appropriate use of the PD v3 API in the SPI protocol decoder.
2017-06-06gpib: Convert to PD API version 3Gerhard Sittig
Have edges detected in common library code. Cope with optional initial low level (without an edge) at the start of sample data. Handle the optionally enforced processing at a specified sample number.
2017-06-06pwm: Convert to PD API version 3Gerhard Sittig
Have edges detected in common library code.
2017-06-06spi: Convert to PD API version 3Gerhard Sittig
Have edges detected in common library code. Move the test for presence of optional channels out of the decode loop. Do inspect the very first sample for pixel compatibility with the previous implementation.
2017-06-06Rename eeprom93cxx decoder to eeprom93xx.Uwe Hermann
Not all EEPROMs of this series have (just) a 'c' in the name.
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.