summaryrefslogtreecommitdiff
path: root/decoders/can/pd.py
AgeCommit message (Collapse)Author
2018-04-12can: Fix incorrect stuff bit handling.Uwe Hermann
The decoder assumed a CRC cannot end with a stuffed bit but it actually can, and the CRC delimiter then comes after the stuffed bit. Patch by IRC/github user celeron55, wide testing by PeterMortensen, thanks!
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-07-04can: introduce clock synchronization (simple implementation)Gerhard Sittig
Check for falling edges (i.e. changes to dominant state) between bits of a CAN frame, and adjust subsequent bit slots' sample points accordingly. This is a simple implementation which could get improved later. But it improves the decoder's reliability when the input signal's rate differs from the nominal rate. This fixes bug #990. Reported-By: PeterMortensen via IRC
2017-07-04can: rename 'bitpos' variableGerhard Sittig
Consistently use .sample_point for the member variable that corresponds to the 'sample_point' property. Use 'samplenum' in .get_sample_point() to reflect that the routine returns a sample number. This eliminates the 'bitpos' identifier which was used for two different things.
2017-05-26can: Skip stuff bit inspection where not applicableGerhard Sittig
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.
2017-05-26can: Convert to PD API version 3Gerhard Sittig
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.
2017-05-26can: Add warnings for various invalid bits and fields.Uwe Hermann
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-05-15Use consistent __init__() format across all PDs.Uwe Hermann
The previous **kwargs some PDs had is not actually ever used, so drop it.
2015-09-14can: Improve stuff bit annotation placement.Uwe Hermann
2015-09-14can: Emit bit value annotations.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-12Various PDs: Minor option related fixes.Uwe Hermann
2014-03-12can: Make sample_point a float option.Uwe Hermann
This allows users to set values like 70.5% or such.
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-03-10Change PD options to be a tuple of dictionaries.Bert Vermeulen
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.
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-12can: Use proper annotation types for the CAN fields.Uwe Hermann
This allows GUIs to show different fields in different colors.
2013-09-10can: Use annotation abbreviations.Uwe Hermann
Supply long, middle, and short versions for most annotations, so that GUIs can show nicely readable and useful annotations on various zoom levels.
2013-09-10can: Fix annotation start/end samples.Uwe Hermann
With this change pretty much all CAN annotations that are currently output should have the correct values, including single-bit and multi-bit fields, standard and extended CAN frames, and so on. This fixes #146.
2013-09-10can: Prepare for fixing annotation start/end samples.Uwe Hermann
2013-04-23GPL headers: Use correct project name.Uwe Hermann
2013-01-30can: Temporary quickfix for a bug.Uwe Hermann
2013-01-01Small cosmetic/consistency fixes in the PDs.Uwe Hermann
2012-12-17Add intial CAN protocol decoder.Uwe Hermann