Age | Commit message (Collapse) | Author |
|
|
|
|
|
Avoid decoding and outputting data from the SPI bus if the CS pin
hasn't been asserted. This avoids confusing both users and stacked
decoders which otherwise end up seeing traffic intended for other
chips (or just noise).
Note: The old behavior of decoding all traffic is still in place if
no CS pin has been wired up to the decoder.
This fixes bug #559.
|
|
This fixes bug #424.
|
|
|
|
This could previously be detected by the absence of a CS-CHANGE packet
before the first data packet, but it makes the stacked decoder simpler
if it is told directly.
|
|
Use self.ss/self.es, or if there's a need to differentiate
them a bit more, use self.ss_<suffix>/self.es_<suffix> consistently.
Also, drop some unused variables.
|
|
Rename the old MissingDataError to the clearer ChannelError. Also, add
ChannelError in the UART decoder.
|
|
- No newlines at the end of files.
- No trailing ';' characters.
- Comparison with None: Use 'is None' or 'is not None'.
- Comparison with True/False: Use 'if cond:' or 'if not cond:'.
- Various minor whitespace fixes.
|
|
Also, use the "if not self.samplerate" form, which catches both the case
where self.samplerate is None, as well as the case where it is 0.
|
|
|
|
|
|
|
|
|
|
Older libsigrokdecode versions are no longer able to use the current
versions of the PDs (various changes in syntax etc).
|
|
Variables of type 'struct srd_channel *' are consistently named 'pdch' to
make them easily distinguishable from libsigrok's 'struct sr_channel *'
variables that are consistently named 'ch'.
|
|
|
|
Annotation entries also consist of a tuple, not a list.
|
|
Each option consists of a dictionary with the following keys:
id The option id, which is passed in when setting a value.
desc A description of the option, suitable for display.
def The default value for this option.
values (optional) If present, a tuple containing values the option
may take. They must be of the same type as the default.
Valid types for the options are UTF-8-encoded strings, integers, and
floating point values.
|
|
This fixes the data/annotations of stacked PDs.
|
|
|
|
This makes things a bit easier/clearer for most stacked PDs.
|
|
|
|
|
|
|
|
|
|
|
|
This can be used by higher-level PDs to decode per-bit items (not just
based on whole datawords).
|
|
|
|
|
|
The output type is now called OUTPUT_PYTHON, adapt all PDs to that.
|
|
|
|
This fixes bug #175.
|
|
|
|
|
|
The single comment re-stating the PD's name / description / purpose in
each pd.py file is not really needed, that info is available in the
Decoder class' attributes already.
|
|
|
|
|
|
|
|
This better reflects what it is: a python object generated and
processed by python code.
|
|
|
|
Add a short help text for the PD and move the OUTPUT_PROTO docs to pd.py
since they're not meant for the user too see.
|
|
The CS# pin is now optional, it can either be supplied to the PD or not.
If it _is_ supplied, reset the PD state every time it changes. This has
the effect that "incomplete" SPI frames and those where CS# is not
asserted are ignored and not decoded.
This fixes bug #152.
|
|
|
|
For now SPI gets the following annotation types:
- MISO/MOSI SPI data
- MISO SPI data
- MOSI SPI data
(i.e. you can see either MISO, or MOSI, or both; the latter is most
useful for CLI usage)
Also, show the hex values as e.g. F5 (upper-case letters, no "0x" prefix).
|
|
This now makes the SPI decoder suitable for use in GUIs.
This fixes bug #150.
|
|
The data format can be specified via the PD's "format" option now, it is
no longer an annotation type.
Also, add and use two annotation types: "Data" and "Warnings".
|
|
|
|
The Python module name is determined by the directory name (e.g. dcf77),
the *.py file names in that directory don't matter and can be kept
consistent.
|