summaryrefslogtreecommitdiff
path: root/decoders/dcf77/pd.py
AgeCommit message (Collapse)Author
2018-04-24dcf77: annotate unexpected bit numbers and values, do not abort executionGerhard Sittig
Improve robustness of the DCF77 decoder. Cope with "neiter 0 nor 1" bit values (glitches can break the detection of pulse widths), as well as unexpected bit numbers (more than 59 pulses per minute, can be a follow-up error after e.g. glitches break one long pulse into two short pulses). Do not process this invalid data, do emit error annotations.
2018-04-24dcf77: annotate invalid dow and month fields, do not abort executionGerhard Sittig
Emit error annotations for invalid day of the week or month numbers, instead of aborting decoder execution with an exception. Implementation detail: Neither the Python 'in' keyword nor a .get() method are available. That's why we have to catch the IndexError exception. This fixes bug #1173.
2018-04-23dcf77, lpc: rephrase bit string formattingGerhard Sittig
Create the text representation of a bit string by means of the builtin .format() method and an appropriate specifier. Drop the non-obvious sequence of bin() and slice and zfill() calls.
2017-12-22all decoders: introduce a reset() methodGerhard Sittig
Move initialization code of protocol decoders from the constructor to a new reset() helper method. The libsigrokdecode backend could run this method several times to clear the decoder's internal state, before new data from another acquisition gets fed to decode() calls.
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-01-07license: remove FSF postal address from boiler plate license textGerhard Sittig
Remove the FSF postal address as it might change (it did in the past). Reference the gnu.org website instead which is more stable.
2016-12-07dcf77: Convert to PD API version 3.Uwe Hermann
2016-05-25Move common/ directory into decoders/.Uwe Hermann
This simplifies cross-platform handling of the Python/decoder paths and module installation/dist a bit and also fixes bug #804.
2016-05-15Use consistent __init__() format across all PDs.Uwe Hermann
The previous **kwargs some PDs had is not actually ever used, so drop it.
2016-05-05Factor out bcd2int() into common/srdhelper.Uwe Hermann
2014-07-15All PDs: Minor whitespace and consistency fixes.Uwe Hermann
- 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.
2014-07-09Various PDs: Throw SamplerateError instead of Exception.Uwe Hermann
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.
2014-07-09All PDs: Drop unneeded exceptions.Uwe Hermann
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.
2014-04-15All PDs: Bump api_version to 2.Uwe Hermann
Older libsigrokdecode versions are no longer able to use the current versions of the PDs (various changes in syntax etc).
2014-04-15All PDs: Drop some unneeded comments.Uwe Hermann
2014-04-13Rename 'probe' to 'channel' everywhere.Uwe Hermann
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'.
2014-03-10Probes, optional probes and annotations now take a tuple.Bert Vermeulen
Annotation entries also consist of a tuple, not a list.
2014-03-10Remove unused probes and optionsBert Vermeulen
2014-02-01dcf77: Fix incorrect startsample for "month" field.Uwe Hermann
2014-01-31dcf77: Define annotation rows.Uwe Hermann
2014-01-30s/out_proto/out_python/.Uwe Hermann
The output type is now called OUTPUT_PYTHON, adapt all PDs to that.
2014-01-28All PDs: Consistent naming/case for annotation shortnames/IDs.Uwe Hermann
2014-01-28All PDs: Drop unneeded comments.Uwe Hermann
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.
2013-11-15Drop obsolete report() method.Bert Vermeulen
2013-11-15Use the new Decoder.register() APIBert Vermeulen
2013-11-07Rename inter-PD output type to SRD_OUTPUT_PYTHONBert Vermeulen
This better reflects what it is: a python object generated and processed by python code.
2013-10-30Receive samplerate via metadata(), not start()Bert Vermeulen
2013-09-15dcf77: Fix date parity check.Uwe Hermann
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.
2013-09-15dcf77: Provide short and long annotations.Uwe Hermann
2013-09-15dcf77: Fix multi-bit DCF77 field annotations.Uwe Hermann
2013-09-15dcf77: Consistency renames.Uwe Hermann
2013-09-15dcf77: Drop PON pin handling.Uwe Hermann
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.
2013-09-15dcf77: Use proper annotations for DCF77 components.Uwe Hermann
2013-09-15dcf77: Fix bug in handling of DCF77 bit 0.Uwe Hermann
2013-09-15dcf77: Fix start-/end-sample numbers.Uwe Hermann
This fixes bug #154.
2013-04-23GPL headers: Use correct project name.Uwe Hermann
2012-11-24Fix bugs in "Invalid state" printing/exceptions.Uwe Hermann
2012-11-24All PDs: Name the files pd.py consistently.Uwe Hermann
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.