summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-01-29configure.ac: Also check for Python 3.5.Martijn van Buul
This fixes bug #739.
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-23Drop obsolete support for annotation tuples (only support lists).Uwe Hermann
None of the PDs use this.
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-07init: Don't let Python override signal handlersMarcus Comstedt
This fixes bug #461.
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-11-04srd_decoder_unload(): Remove PD from the internal list.Uwe Hermann
This issue was discovered via the newly added unit tests.
2015-11-03tests/decoder.c: Add some srd_decoder_unload*() tests.Uwe Hermann
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-06exception: Decorate catch function with format attributeDaniel Elstner
2015-10-06build: Require GLib 2.28.0Daniel Elstner
This is needed for e.g. g_slist_free_full(), which incidentally has been in use for a while already.
2015-10-06util: Factor out Python module loadDaniel Elstner
Create a utility function for loading a Python module by its name in UTF-8.
2015-10-06decoder: Refactor loading code and plug leaksDaniel Elstner
2015-10-06Python: Restrict code to stable ABI subsetDaniel Elstner
Limit usage of the Python C API to the stable ABI subset as defined by PEP 384. This removes some type definitions and functions which libsigrokdecode made use of. Convert all affected code to suitable API alternatives. Also fix a few leaks that became apparent while working on the code. The most visible change is that PyTypeObject is now an opaque type. Thus, the custom Decoder and srd_logic types are now created on the heap via an alternative API. Unfortunately, since tp_name is now inaccessible, type names had to be removed from the log output. Stack traces after Python exceptions are now formatted by calling into Python, since the trace object C API is no longer available.
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.