summaryrefslogtreecommitdiff
path: root/decoders/dcf77
AgeCommit message (Collapse)Author
2019-04-02decoders: Fix incorrect 'outputs' fields.Uwe Hermann
Only add items to 'outputs' if the respective PD actually has OUTPUT_PYTHON support implemented as of right now. Various decoders might get OUTPUT_PYTHON support later, but the 'outputs' field should reflect the current status.
2019-03-15decoders: Add/update tags for each PD.Uwe Hermann
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-10-13All PDs: Only import the 'Decoder' object.Uwe Hermann
Anything else in the pd.py files doesn't have to be imported/exposed.
2014-09-01PD tests moved into the sigrok-test repo.Uwe Hermann
Drop them from the libsigrokdecode repository.
2014-08-14pdtests: Check for SamplerateError in all PDs that emit it.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.
2014-01-28All PDs: Improve/fix descriptions.Uwe Hermann
2013-11-27Automate protocol decoder installation.Bert Vermeulen
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
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.
2012-07-11srd: Performance improvements for various PDs.Uwe Hermann
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.
2012-06-08srd: dcf77: Initial PON handling.Uwe Hermann
2012-06-08srd: dcf77: Bugfix, PD was broken.Uwe Hermann
2012-05-09srd: Add usable one-liner descriptions for all PDs.Uwe Hermann
2012-05-08srd: Remove TODOs from annotation format names.Uwe Hermann
Also, fix minor consistency issues, cosmetics, typos.