From sigrok
Revision as of 17:43, 5 May 2018 by PeterMortensen (talk | contribs) (Some bug reports: Added some meat.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Recent activity


Submitting comprehensive sample data for CAN bus, both 11-bit and 29-bit messages, and corresponding test cases (mostly for regression test - especially regression for the 2018-04-12 fix to the decoding at the end of the CRC part).

Notes to self:

  1. Original acquired analog data: C:\temp2\2017-12-23\CAN decoder, new stuff bit handling at the end of the CRC segment\Data67\In\ACQ000009_Tektronix.txt


Recording 22483 traces for the purpose of evaluating a proposed fix to the CAN protocol decoder (actually only changing a single number from 16 to 17), stuff bit at the very end of the CRC segment, with a modified trigger scheme:

  • Change the position of the trigger point to the end (right) so there is always a CAN message in the trace (for the previous), but still 26 µs recessive.

The time division was 100 µs / division (about 225 bit times max) to always record whole CAN messages - at 10 samples per bit time.


Using the sigrok command-line ("sigrok-cli") to bulk process data derived from Tektronix oscilloscope data of 250 kbit/s CAN traffic on a real-world system (mobile cranes). The first sample data set is 5335 oscilloscope traces obtained with the trigger set to a negative pulse on CAN-H (to start off at the end of a CAN message) - corresponding to 6.5 recessive bits, 26 µsec (detecting the space in-between CAN messages). Sometimes there is a CAN message right after this, sometimes it is a bit delayed, and sometimes it is completely empty.

A sample command line (on Windows) is:

sigrok-cli -P can:bitrate=250000:can_rx="CAN RX" -P timing:data="CAN RX" -I csv:header=true:samplerate=5000000 -i "T:\stdHMF\UserData\scripts\Tektronix2PulseView\_PulseView_AllChannels_ACQ000001_Tektronix_f5000000.txt"


Using PulseView to decode data from a Tektronix oscilloscope of SPI communication to a CAN controller, MCP2515.

Task list

Currently not in priority order.

  • Allow import of analog data through CSV files. (Related: fixed bug 1064 - locale issue, decimal point, "," vs. ".".).
  • Add detection of error frames to the CAN protocol decoder
  • Add support for the gigga watt EEVBlog multimeter (Bluetooth, etc.)
  • Add a snap feature to the "cursor" (blue) in PulveView
  • Change number of significant digits for the time display in the "cursor" (blue) in PulveView
  • Submit selected sample traces for CAN decoder change (for CRC segment) validation. With and without stuff bits in various places. With and without timing deviations. (Related: bug 1085, celeron55's fix, if len(self.bits) > self.last_databit + 16if len(self.bits) > self.last_databit + 17 (16 → 17)).
  • Add support for the TDS2000 series in libsigrok, and thus, by extension, use by the new shiny stuff in PulveView.

On wiki

  • Change recommended procedure for submitting sample Sigrok files (traces), on Example dumps.


  • BBB BeagleBone Black
  • GH GitHub
  • ISTR ????
  • LA Logic analyser
  • ML Mailing list
  • OLS ????
  • PR Pull request (a Git term). Not "problem report".
  • SR Sigrok
  • srd ????
  • WIP Work in progress. Mostly related to particular Git commits.
  • PD protocol decoder. Non-standard spellings are Pd and pd.
  • PV PulseView. Non-standard spellings are Pv and pv.

Some bug reports


I am mostly interested in:

Protocol decoders

Non-empty wiki pages

Currently (2017-07-08), 28 of 77 protocol decoders (36%) have non-empty pages here on the wiki:


Profile: see my Wikipedia user page.

Credentials: more than 5000 edits on the English Wikipedia.


Protocol decoders

Building sigrok