summaryrefslogtreecommitdiff
path: root/decoders/usb_packet/pd.py
AgeCommit message (Collapse)Author
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-16Mark all stacked decoders as being PD API version 3.Uwe Hermann
This is not really relevant for stacked PDs currently (they can be used unmodified with either PDv2 or PDv3 low-level decoders), but it'll allow us to drop PDv2 support completely.
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.
2015-12-04usb*: Minor cosmetics.Uwe Hermann
2015-12-01usb_{packet,request}: handle PREamble transmissionsStefan Brüns
2015-11-30usb_packet: handle errors from usb_signallingStefan Brüns
If a packet had any errors, the usb_signalling PD will not send an EOP but an ERR message. Wait for the next SOP in both cases.
2015-10-06usb_packet: Document CRC5 ERROR and CRC16 ERROR packets.Uwe Hermann
2015-10-06usb_{signalling,packet}: Minor cosmetics.Uwe Hermann
2015-10-06usb_packet: calculate and check CRC5/CRC16Stefan Brüns
In case CRC validation fails, an crc5-err/crc16-err annotation is issued, instead of crc5-ok/crc16-ok, and the error is noted in the annotation text.
2015-08-14usb_packet: Handle invalid packets more gracefully.Uwe Hermann
Previously the PD was blindly trying to decode any packet, no matter whether it was too short (and/or bogus) or not, causing issues like this: srd: Calling usb_packet decode(): IndexError: list index out of range Such cases of invalid input are now handled better by emitting "UNKNOWN" and "Invalid packet" annotations. This fixes bug #186.
2015-08-14usb_packet: Fix incorrect DATA*/MDATA handling.Uwe Hermann
Thanks to Pavel Sukortsev for the bug report and fix. This fixes bug #623.
2014-09-15sdcard_spi/usb_packet: Drop unused variables.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-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-03-18usb_packet: Fix an incorrect index.Uwe Hermann
2014-03-18usb_packet: Provide better short/long annotations.Uwe Hermann
2014-03-12Various PDs: Minor option related fixes.Uwe Hermann
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-02-09usb_packet: s/NACK/NAK/.Uwe Hermann
The USB spec spells this as "NAK".
2014-02-09usb_packet: Use annotation classes and 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-30The start() method no longer takes a metadata parameterBert Vermeulen
2013-10-11usb_packet: Major rewrite, e.g. to prepare for GUI usage.Uwe Hermann
Restructure the PD into a state machine, output individual packet components as separate annotations, define a protocol output format and implement it (so that other PDs can stack on top of this one), and fix various other isses in the PD.
2013-10-11Rename usb_protocol to usb_packet.Uwe Hermann
There will be further PDs that are stacked on top of usb_packet.