Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
Have edges detected in common library code.
|
|
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.
|
|
|
|
Not all EEPROMs of this series have (just) a 'c' in the name.
|
|
|
|
|
|
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.
|
|
None of the other PDs have a vendorname in the PD name.
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
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>
|
|
Probably a typo, currently 'cmd0' gets pushed out.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
|
|
|
|
Use the same scale.
Signed-off-by: Karl Palsson <karlp@etactica.com>
|
|
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>
|
|
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>
|
|
There are multiple devices in the ADE77xx series that are similar enough
to be supportable via this decoder in the future.
|
|
|
|
No value decoding, that can be fairly complicated.
Signed-off-by: Karl Palsson <karlp@etactica.com>
|
|
putr2 is unused, so let it go.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
|
|
|
|
(for consistency with all other decoders)
|
|
|
|
|
|
This fixes parts of bug #931.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
This fixes parts of bug #931.
|
|
Now that self.arg is populated, we can finally use it.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
|
|
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>
|
|
There is no handler for CMD4 yet.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
|
|
|
|
This avoids some boilerplate in the decode() method itself.
|
|
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.
|
|
|
|
Some Python versions will lead to the following message on stdout currently:
srd: Attribute Error: Failed to load decoder common: no 'Decoder' \
attribute in imported module: 'module' object has no attribute 'Decoder'
This is a harmless (though confusing for users) warning, since "common"
is not an actual PD and it shouldn't be loaded as PD (it just has to
be present).
|
|
|
|
|
|
|
|
|
|
|