Age | Commit message (Collapse) | Author |
|
This simplifies cross-platform handling of the Python/decoder paths
and module installation/dist a bit and also fixes bug #804.
|
|
The previous **kwargs some PDs had is not actually ever used, so drop it.
|
|
|
|
Anything else in the pd.py files doesn't have to be imported/exposed.
|
|
Drop them from the libsigrokdecode repository.
|
|
|
|
- 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.
|
|
In all current PDs it is not necessary to raise an exception upon
invalid states (of the PD's state machine), since we can guarantee that
no such invalid state can ever be reached in these PDs.
|
|
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.
|
|
|
|
|
|
|
|
The output type is now called OUTPUT_PYTHON, adapt all PDs to that.
|
|
|
|
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 automatically figures out the files to install for each protocol
decoder, without involving autotools.
All python files (filenames ending in .py) are always installed. If a
protocol decoder requires installation of a non-python file, a small
file called 'config' can be created in that protocol decoder's
directory, with the following content:
# comments are ok
extra-install vendorlist.txt commands.txt
|
|
|
|
|
|
This better reflects what it is: a python object generated and
processed by python code.
|
|
|
|
The parity check for certain DCF77 fields/bits was incorrect. It has to be
an even parity over bits 36-58. This is fixed now.
This fixes bug #157.
|
|
|
|
|
|
|
|
The PON pin is specific to the Pollin "DCF1 module", but has nothing to
do with DCF77 itself. Thus, drop it from this PD. It can be part of
another stacked PD if needed.
This fixes bug #153.
|
|
|
|
|
|
This fixes bug #154.
|
|
|
|
|
|
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.
|
|
Ignore/skip identical samples in most (low-level) PDs, as we're usually
(but not necessarily always) only interested in pin changes.
This yields a significant performance improvement for the PDs.
The mechanism was already used in the 'i2s', 'jtag', and 'lpc' PDs, but not
yet in all supported low-level decoders. The following PDs now also use
this mechanism: 'dcf77', 'i2c', 'spi', 'uart', and 'usb_signalling'.
Thanks Lars-Peter Clausen <lars@metafoo.de> for bringing this to our
attention.
|
|
|
|
|
|
|
|
Also, fix minor consistency issues, cosmetics, typos.
|
|
|
|
|
|
|
|
|
|
|
|
- List all API methods and metadata variables in all PDs to make things
easier and more consistent for new PD writers.
- Fix probe assignment in a few PDs.
- Raise exceptions upon invalid states of the PD state machines (bug).
|
|
|
|
|