summaryrefslogtreecommitdiff
path: root/decoders
AgeCommit message (Collapse)Author
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
2015-09-03jtag: Submit bit samplenumbers together with the bits.Uwe Hermann
2015-09-03jtag_stm32: Fix incorrect handling of registers.Uwe Hermann
The STM32F10xxx has two serially connected JTAG TAPs, the boundary scan tap (5 bits) and the Cortex-M3 TAP (4 bits). See UM 31.5 "STM32F10xxx JTAG TAP connection" for details. Due to this, we need to ignore the last bit of each data shift (and we currently ignore the 5 bits of the boundary scan tap).
2015-09-03jtag: Add more annotations, fix a SHIFT-IR/-DR issue.Uwe Hermann
The code was previously not decoding a bit for the first state change to SHIFT-IR/-DR, which was incorrect.
2015-09-03jtag: Fix/enable OUT_PYTHON output.Uwe Hermann
2015-08-21nunchuk: Fix inverted button press logic.Uwe Hermann
The buttons are pressed if the respective bit is 0.
2015-08-18mrf24j40: Fix a register address typo.Uwe Hermann
2015-08-17tlc5620: Add options for per-DAC Vref, show voltages.Uwe Hermann
Instead of showing raw values in the annotations, calculate the actual voltage (based on raw value, gain, and Vref) and use that.
2015-08-17tlc5620: Handle the case of less than 11 bits in a command.Uwe Hermann
2015-08-17tlc5620: Properly handle LOAD and LDAC based operations.Uwe Hermann
- If LOAD goes low *and* LDAC is already low, the voltage is set immediately. - If LOAD goes low but LDAC is high, the value is only written into an internal register, but the voltage is not changed (yet). - If LDAC goes low, all four DAC voltages (DAC A/B/C/D) are set according to the respective register values at the same time.
2015-08-17tlc5620: Only decode the last 11 bits, ignore the rest.Uwe Hermann
2015-08-17tlc5620: Fix incorrect DAC selection decode, add more annotations.Uwe Hermann
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.
2015-08-06Add initial SD card (SD mode) decoder.Uwe Hermann
In the current state the decoder can decode the following commands: CMD0, CMD2, CMD3, CMD6, CMD7, CMD8, CMD9, CMD10, CMD13, CMD16, CMD55, ACMD6, ACMD13, ACMD41, ACMD51. Other commands (and more details for existing commands) will be added later.
2015-07-18Add protocol decoder for Modbus RTU.Bart de Waal