summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-12-07tlc5620: Convert to PD API version 3.Uwe Hermann
2016-12-07timing: Convert to PD API version 3.Uwe Hermann
2016-12-07swd: Convert to PD API version 3.Uwe Hermann
2016-12-07stepper_motor: Convert to PD API version 3.Uwe Hermann
2016-12-07spdif: Convert to PD API version 3.Uwe Hermann
2016-12-07parallel: Convert to PD API version 3.Uwe Hermann
2016-12-07onewire_link: Convert to PD API version 3.Uwe Hermann
2016-12-07jtag: Convert to PD API version 3.Uwe Hermann
2016-12-07jitter: Convert to PD API version 3.Uwe Hermann
2016-12-07ir_nec: Convert to PD API version 3.Uwe Hermann
2016-12-07i2s: Convert to PD API version 3.Uwe Hermann
2016-12-07i2c: Convert to PD API version 3.Uwe Hermann
2016-12-07guess_bitrate: Convert to PD API version 3.Uwe Hermann
2016-12-07dcf77: Convert to PD API version 3.Uwe Hermann
2016-12-07aud: Convert to PD API version 3.Uwe Hermann
2016-12-07am230x: Convert to PD API version 3.Uwe Hermann
2016-12-07Add support for the new query-based PD v3 decoder API.Uwe Hermann
For the time being, both APIs (2 and 3) will remain supported until all decoders have been converted to API version 3. Then, support for API version 2 will be dropped. Decoders using PD v3 API can benefit from both readability improvements as well as performance improvements. Up to 10x speedup has been measured in some situations (depends a lot on the decoder, the amount of data, the amount of edges in the signals, the amount of oversampling etc. etc.). This is only the first set of (basic) performance improvements for libsigrokdecode, there are various additional opportunities for further changes to improve performance. This changeset has been tested to survive a run of all the test-cases in the sigrok-test repo without issues (for the converted PDs), however it is not very well-tested yet, so there might be regressions that need to be addressed.
2016-12-06repo mgmt: git ignore compiled Python bytecode filesGerhard Sittig
2016-12-06build support: sort list of installed items, factor out pretty printerGerhard Sittig
Alpha-sort the list of installed items, to support developers which scan the list for newly added items. Factor out the logic which pretty prints installed items while maintaining a maximum screen output line length.
2016-12-06valgrind: free channelsKarl Palsson
Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-12-06valgrind: safely iterate listsKarl Palsson
Old versions triggered valgrind errors as the API method to remove an entry modifies the list that was being iterated. Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-11-07spiflash: Major refactoring and annotation improvements.Uwe Hermann
2016-11-07spiflash: Use OrderedDict for cmds, more readable annotation indices.Uwe Hermann
2016-11-07spiflash: Initial RDSR2 implementation (incomplete).Uwe Hermann
This is not entirely correct yet, will be fixed later.
2016-11-07spiflash: Implement WRSR command.Uwe Hermann
2016-11-07spiflash: Add FIDELIX FM25Q32 metadata.Uwe Hermann
2016-11-06spiflash: Remove hardcoded Macronix references.Uwe Hermann
2016-11-06spiflash: Implement Release Power-down / Device ID (0xAB) command.Uwe Hermann
This fixes bug #845.
2016-11-04ps2: Add more detailed per-bit annotations.Uwe Hermann
2016-11-04ps2: Neither the clock nor the data pin is optional.Uwe Hermann
2016-11-04Add initial version of PS/2 decoderDaniel Schulte
2016-11-02Print error messages when decoders fail load time checksGerhard Sittig
Several checks get applied when loading externally provided protocol decoders. Print error messages when checks fail, so that developers can better resolve issues. The sequence of tests terminates upon the first failed check, while decoders may suffer from several issues at the same time. This is considered acceptable, as it reduces the commit's size and the code's complexity. This commit only adds error messages, and does not change logic/behaviour. Failed API version checks result in two messages: One specific message which reflects the decoder's version and what's supported by the loader, and a generic message that the API version check has failed. This is done to simplify the logic of a rarely used error code path. This commit addresses libsigrokdecode Bug 704, and allows to identify decoders from parallel installations of differing version. This fixes bug #704. Signed-off-by: Gerhard Sittig <gerhard.sittig@gmx.net>
2016-11-02.gitattributes: introduce git attributes for improved Python diffsGerhard Sittig
In the absence of respective instructions, git will use a rather generic approach to generate diffs and patches. Introduce a git attributes file which results in improved output for Python sources (i.e. all protocol decoders). Signed-off-by: Gerhard Sittig <gerhard.sittig@gmx.net>
2016-10-23spi: Fix binary output for wordsizes > 8.Uwe Hermann
For wordsizes > 8, multiple bytes are used (big-endian). This fixes bug #686.
2016-10-23uart: Default to hex format datavalue annotations.Uwe Hermann
This is in almost all cases what the user will want, only rarely ASCII (the old default) will be the more natural fit.
2016-10-23uart: Emit 2 bytes for 9-bit UART binary output.Uwe Hermann
For 5..8 data bits the binary output will be 1 byte, for 9 data bits it will be 2 bytes (big-endian). This fixes bug #708.
2016-10-19uart: skip frames with invalid start bitsGerhard Sittig
When the start bit is not low at its sample point, then stop trying to interpret the remaining frame -- it's already known to be invalid, anyway. Wait for the next start bit instead, assuming that either the falling edge which started the inspection of the UART frame and its start bit was a spurious glitch or that the captured signal does not communicate at the decoder's configured bitrate. Signed-off-by: Gerhard Sittig <gerhard.sittig@gmx.net>
2016-10-19uart: rework text formatting of communicated data values, plus nitsGerhard Sittig
Factor out the code which generates a textual representation for the numeric values that were communicated via UART bit patterns. Make the width of the output text depend on the number of bits in the UART frame (five to nine) instead of assuming bytes of exactly eight bits. Fix other minor issues while we are here: Nine bits result in a number range of 0 to 511 (not 512). ASCII codes 30 and 31 are non-printables. The previous implementation skipped a significant leading digit in the octal representation. Signed-off-by: Gerhard Sittig <gerhard.sittig@gmx.net>
2016-10-19uart: minor nit, rename the "databyte" variableGerhard Sittig
Given the generic nature of UART communication and the supported range for the data width, "byte" may be a misleading name for the numeric value that gets communicated in five to nine data bits. Rename the "databyte" variable to "datavalue". Signed-off-by: Gerhard Sittig <gerhard.sittig@gmx.net>
2016-10-12Add an initial GPIB decoder.Rudolf Reuter
2016-09-24midi: Add missing copyright lines.Uwe Hermann
2016-09-24midi: Random cosmetic cleanups.Uwe Hermann
2016-09-24midi: Simplify some boolean tests.Uwe Hermann
2016-09-24midi: Use "is" or "is not" with None.Uwe Hermann
2016-09-24usb_request: Use "is" or "is not" with None.Uwe Hermann
2016-09-24midi: Add support for complex MIDI message formats (inter-related).Chris
- Handle "Running Status" where status byte can be omitted - SysEx message can be terminated by status byte, not just EOX - Handle SysReal messages that interrupt in-progress message transmission - Identify and print garbage / truncated data - Add 2 new annotations: text-sysreal-verbose and text-error
2016-09-24midi: chromatic_notes in list.py was off by 1 octaveChris
(ex: note 60 is middle C which is C4, not C3)
2016-09-24uart: Fix a bug in the output for stacked PDs.Uwe Hermann
The UART bit information was not transmitted correctly to stacked PDs if there was an overlap between RX and TX bytes in the data.
2016-09-04midi: Some annotation consistency changes.Uwe Hermann
2016-09-04Updates each annotation with multiple strings ranging from long, medium, and ↵Chris
short lengths