summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2015-10-06rfm12: fix small typoRoland Hieber
There is a small typo in the rfm12 protocol decoder that I just noticed:
2015-10-03tests: Do not reference parent directory in includesDaniel Elstner
Rely on the compiler include path instead.
2015-10-03tests: Rename DECODERS_DIR to DECODERS_TESTDIRDaniel Elstner
Avoid confusion resulting from using the same macro name for different purposes.
2015-10-03build: Do not hard-code decoders location on WindowsDaniel Elstner
2015-10-03init: Also look for decoders in XDG data directoriesDaniel Elstner
2015-10-03init: Simplify srd_decoder_searchpath_add()Daniel Elstner
Don't mess with colon-separated search path strings -- instead, simply prepend items to the sys.path list object. Also keep the internal decoder path list in the same order as the items added to sys.path.
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-14Makefile.am: Shorten ChangeLog target a bit.Uwe Hermann
2015-09-13log: Use GLib printf for consistencyDaniel Elstner
Just as in libsigrok, use g_vfprintf() in the log callback to make sure we are linking to a standard-conforming printf implementation.
2015-09-13Build: Move _POSIX_C_SOURCE definition to config.hDaniel Elstner
Do not redefine it though when already set, so that it can be overridden by the user, or indirectly by the compiler settings.
2015-09-13Build: Include <config.h> first in all source filesDaniel Elstner
Since Autoconf places some important feature flags only into the configuration header, it is necessary to include it globally to guarantee a consistent build.
2015-09-13Fix srd_log() format warningsDaniel Elstner
2015-09-13log: Enable varargs format warningsDaniel Elstner
Decorate srd_log() with the GCC format printf attribute so that the compiler can check the format string and arguments for consistency. Also remove the srd_err(), sr_warn(), etc. functions and replace them with macro wrappers around srd_log().
2015-09-13log: Remove srd_log_logdomain_{get,set} from the APIDaniel Elstner
The confusingly named srd_log_logdomain_set() simply set a global string prefixed to the log message by the default log callback. This is pretty much useless, misleadingly named, and not used by either sigrok-cli or PulseView.
2015-09-10instance.c: Don't use 'di' before NULL-checking it.Uwe Hermann
2015-09-10Build: Put --no-print-directory into GNUMAKEFLAGSDaniel Elstner
Also output the compiler version in the configuration summary.
2015-09-10sigrok.m4: Update with latest version from libsigrokDaniel Elstner
2015-09-06libsigrokdecode.pc: Publish decodersdir variableDaniel Elstner
This is so that downstream modules can find the install location of the decoders.
2015-09-06Build: Show CC and CFLAGS in configuration summaryDaniel Elstner
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-28Replace another -D_DEFAULT_SOURCE with -D_POSIX_C_SOURCE=200112L.Uwe Hermann
2015-08-28Build: Go back to _POSIX_C_SOURCE=200112LUwe Hermann
2015-08-26configure: Enable largefile support on 32-bit systemsDaniel Elstner
2015-08-26Build: Define feature test macro _DEFAULT_SOURCEDaniel Elstner
This basically makes glibc expose the same set of features as if gcc was invoked without any restricting -std=c* option. Unlike _GNU_SOURCE however, it does not enable GNU-specific extensions. So, with this macro defined the behavior of Linux with glibc should match that of other platforms.
2015-08-26Build: Use TESTS prefix instead of CHECK for flag variablesDaniel Elstner
In order to avoid confusion of the flags-gathering pkg-config result with the actual test for the availability of "check", change the pkg-config output variable prefix from CHECK to TESTS.
2015-08-26Clean up .gitignoreDaniel Elstner
2015-08-26Build: Adopt new Autotools magicDaniel Elstner
2015-08-25Build: Reduce autogen.sh to trivial stubDaniel Elstner
Use autoreconf instead of invoking the various Auto tools separately. Get rid of the Darwin-specific guesswork -- it does not make sense to handle this at the level of libsigrokdecode. People should set up their ACLOCAL_PATH themselves as appropriate for their own system; just as they already need to set up various other paths.
2015-08-25Build: Add copy of libsigrok Autoconf macro fileDaniel Elstner
2015-08-21nunchuk: Fix inverted button press logic.Uwe Hermann
The buttons are pressed if the respective bit is 0.
2015-08-20Pass unitsize per sample chunk.Uwe Hermann
Don't pass unitsize to srd_inst_channel_set_all(), have that only set the channel map. Instead, srd_session_send() now has a parameter for the unitsize which is passed with every new chunk to be decoded. This is in preparation to fix issues with devices or files which have a unitsize != 1 and where the "guessed" unitsize based on the number of channels is not correct. This also allows for (potential) future changes where every chunk can indeed have a different unitsize. This fixes (parts of) bug #352.
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.