summaryrefslogtreecommitdiff
path: root/decoders/usb_request/pd.py
AgeCommit message (Collapse)Author
2019-06-20usb_request: Allow configuration of BULK IN transfer displayStefan Brüns
From a protocol level, a BULK IN transfer starts when the host starts polling the respective endpoint. For analysis, it is sometimes useful to show when the devices starts to answer the requests. As both are useful for different use cases (the old, default one emphasizes the host behavior, the new one shows the endpoint/device behavior), make the display configurable.
2019-06-20usb_request: Use separate annotation rows for IN, OUT and CONTROLStefan Brüns
E.g. CONTROL and BULK IN transfers may overlap each other, and as a result only one of the two can be seen in pulseview. Partly solves bug #1046. In case a device has multiple IN/OUT endpoints, transfers would still overlap, but many simple devices have just one each.
2019-06-17usb_request: Fix some decoding errorsStefan Brüns
Append OUT data only if it has been ACKed. OUT transfers (BULK OUT or CONTROL transfer DATA stage) are typically NACKed to create backpressure. Always keep IN and OUT transfers separate. On the physical layer, the endpoint number only uses 4 bits, and IN and OUT use separate tokens. In case the transfer is an IN transfer, set the high bit as used in the endpoint descriptors (i.e. 0x81 is IN enpoint 1, 0x01 is OUT endpoint 1).
2019-03-16decoders: Various cosmetic/consistency/typo fixes.Uwe Hermann
2019-03-15decoders: Add/update tags for each PD.Uwe Hermann
2018-01-28graycode, morse, pwm, usb_request, wiegand: cope with absent sample rateGerhard Sittig
Improve robustness of some more protocol decoders. Few of them never checked for the availability of a sample rate in the first place, others checked for the presence of a spec but would not cope with a value of 0. Some checked the value only after processing it, which could result in runtime errors. This change is motivated by bug #1118.
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-22usb_request: Remove code duplication, save end sample in central locationStefan Brüns
2017-07-22usb_request: Handle CONTROL transfer protocol stallsStefan Brüns
According to the USB 2.0 spec, 8.5.3.4, a protocol stall condition lasts until the next SETUP transfer. On reception of the SETUP, adjust the end sample accordingly, and flush the previous CONTROL transfer.
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.
2016-09-24usb_request: Use "is" or "is not" with None.Uwe Hermann
2016-05-26Consistency renames of {ss,es}_ variables.Uwe Hermann
2016-05-11usb_request: Drop hardcoded samplerate.Uwe Hermann
The libsigrokdecode backend now passes metadata (e.g. samplerate) to all PDs, stacked and non-stacked (see bug #664), so this interim solution is no longer needed.
2015-12-24Use self.out_binary naming consistently across all PDs.Uwe Hermann
2015-12-24Use a Python list (not tuple) for OUT_BINARY.Uwe Hermann
This is more consistent with annotation syntax and looks slightly better in most cases.
2015-12-04usb*: Minor cosmetics.Uwe Hermann
2015-12-01usb_{packet,request}: handle PREamble transmissionsStefan Brüns
2015-11-30usb_request: Handle transmission timeoutsStefan Brüns
If a device or host did not receive a handshake 18 bit times after the EOP, there was a transmission error and the host may repeat the transmission
2015-10-06usb_request: USB transaction decoder and PCAP generatorStefan Brüns
The new decoder stacks on top of the usb_packet PD. It adds one new annotation row, and is able to save the decoded data as PCAP trace. It has been successfully tested against all traces in sigrok-dumps and some more traces.