summaryrefslogtreecommitdiff
path: root/decoders
AgeCommit message (Collapse)Author
2016-03-04Add an rgb_led_ws281x decoder.Uwe Hermann
This decoder handles the WS2812B protocol (and possibly WS2811). Example dump already exists: led/ws281x/ws281x_4ch_5mhz.sr. Signed-off-by: Vladimir Ermakov <vooon341@gmail.com>
2016-03-03Add decoder for the t55xx RFID protocolBenjamin Larsson
2016-01-29uart: Optimize handling of samples when tx and rx are both idleDaniel Thompson
Re-enable the fast path for identical samples but only when both pins are waiting for the start bit. For sparse data sets (I tested UT61E capture log) the optimization results in a >4x decode improvement.
2016-01-29arm_itm: Use objdump instead of addr2line.Petteri Aimonen
This improves speed and fixes bug 564. Code is somewhat of a copypaste from the arm_etm counterpart, but there are enough differences that it is easier to keep separate copy of the objdump parsing in each.
2015-12-25usb_power_delivery: Raise SamplerateError instead of Exception.Uwe Hermann
(for consistency with the other PDs)
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-18em4100: Simplify the code a bit.Uwe Hermann
2015-12-18em4100: Use ss/es naming for consistency across PDs.Uwe Hermann
2015-12-18em4100: Eliminate some unnecessary int()s.Uwe Hermann
2015-12-18em4100: Change annotation setup a bit, decode more protocol details.Uwe Hermann
2015-12-18Add RFID EM4100 protocol decodingBenjamin Larsson
2015-12-16usb_power_delivery: Use "if not self.samplerate" form.Uwe Hermann
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. This is also consistent with all the other PDs.
2015-12-16usb_power_delivery: convert double quotes to single quotesVincent Palatin
For consistency with other decoders, convert all the double quotes around strings to single quotes. Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
2015-12-04usb*: Minor cosmetics.Uwe Hermann
2015-12-01usb_signalling: detect PREamble PIDStefan Brüns
PID decoding is normally done in the packet layer, but the signalling layer has to switch behaviour on detection of an PREamble PID.
2015-12-01usb_signalling: add signaling states needed after LS PREamble PIDStefan Brüns
2015-12-01usb_{packet,request}: handle PREamble transmissionsStefan Brüns
2015-11-30usb_signalling: fix SOP detection after an error conditionStefan Brüns
If the oldsym is not set to 'J' before entering IDLE state, the SOP detection will never trigger
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-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-11-30usb_signalling: add option to automatically set signalling speedStefan Brüns
In automatic mode, the bus is assumed to be in IDLE state. After a RESET, the bus state is checked again.
2015-11-30usb_signalling: decode RESET and Keep-Alive signalling conditionsStefan Brüns
Resets are at least 10ms at the root hub downstream facing port and 2.5us at the device (root hub reset may be shortened by itermediate hubs). Keep-alive is a low-speed only signalling condition, as low-speed has no SOFs to inhibit devices to enter suspend
2015-11-30usb_signalling: use explicit positions for packet start/endStefan Brüns
Instead of centering the block around the sampleposition, which shows some visual glitches due to rounding, use the edge positions already known. Remove unused halfbit symbol.
2015-11-30usb_signalling: handle symbol errors in EOP stateStefan Brüns
Only SE0 and J are valid symbols during EOP
2015-11-30usb_signalling: remove unneeded syms arrayStefan Brüns
Do not call get_eop() from get_bit(), but directly issue the symbol. As get_eop() is only called during the GET EOP state, the SE0 is implicit and there is no need to save it into the syms array.
2015-11-30usb_signalling: remove unused ss_sop memberStefan Brüns
2015-11-30usb_signalling: detect bit stuffing errorsStefan Brüns
More than six consecutive 1's are an error
2015-11-30usb_signalling: consolidate symbol outputStefan Brüns
No need to replicate the symbol formatting in several places
2015-11-22spi: Add a 'TRANSFER' output type.Paul "LeoNerd" Evans
2015-11-22Fix documentation comment in SPI decoderPaul "LeoNerd" Evans
2015-11-21usb_power_delivery: Minor typo and whitespace fixes.Uwe Hermann
2015-11-21usb_power_delivery: Use the same license header format as other PDs.Uwe Hermann
2015-11-21USB Power Delivery protocol decoderVincent Palatin
Decode and packetize the Biphase Mark Coding (aka differential Manchester) as used in the Universal Serial Bus Power Delivery Specification Revision 2.0 v1.1, then decode the packet content. Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
2015-11-21spiflash: Fix incorrect 'inputs' field.Uwe Hermann
(this PD is indeed stacked on top of SPI)
2015-11-12Initial attempt at MAX7219/MAX7221 decoderPaul "LeoNerd" Evans
2015-10-22UART: Handle framing errors betterElrond
1. Show Frame Error on the Start bit 2. Don't overwrite framing errors with (valid) start/stop bit info
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.
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_signalling: Track USB symbol width to compensate frequency errorsStefan Brüns
USB low/full speed allows for frequency tolerance of 1.5%/0.25%. At maximum packet size (sync + PID + data + CRC16) of 12 bytes/1027 bytes this amounts to 1.4 bits/20 bits, so the decoder has to lock to the actual symbol frequency to avoid any symbol misdetections. The signal is sampled twice, once at the symbol center and once at the expected edge position. Comparing the symbol at both positions gives an indication if the current bit width is too low or too high. Adjust accordingly.
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-10-06rfm12: fix small typoRoland Hieber
There is a small typo in the rfm12 protocol decoder that I just noticed:
2015-09-15jitter, pwm: Avoid Unicode string literalsDaniel Elstner
It seems the Python we ship along our Windows binaries does not support u"..." strings, even though it's been a language feature since Python 2. Remove the "u" prefix to avoid a syntax error. Also, consistently use format "%.1f" at all scales. This fixes bug #569.
2015-09-14can: Improve stuff bit annotation placement.Uwe Hermann
2015-09-14can: Emit bit value annotations.Uwe Hermann
2015-09-03jtag_stm32: Decode IDCODE contents as strings (not just hex vals).Uwe Hermann
2015-09-03jtag_stm32: Decode more fields, improve IDCODE handling.Uwe Hermann
2015-09-03jtag_stm32: Cleanups, shorter code.Uwe Hermann
2015-09-03jtag_stm32: Update to reflect change in jtag OUT_PYTHON.Uwe Hermann