libsigrokdecode.git
6 years agoVarious PDs: Drop currently unsupported probes in stacked PDs.
Uwe Hermann [Tue, 11 Mar 2014 23:22:31 +0000 (00:22 +0100)]
Various PDs: Drop currently unsupported probes in stacked PDs.

At the moment we don't yet support PDs which take both input from
another PD (which they're stacked on top of) and from one or more
logic inputs/pins.

This will be supported later on, and at that time we'll bring back
these changes.

6 years agocan: Make sample_point a float option.
Uwe Hermann [Tue, 11 Mar 2014 23:17:46 +0000 (00:17 +0100)]
can: Make sample_point a float option.

This allows users to set values like 70.5% or such.

6 years agoFix enumeration of option values.
Bert Vermeulen [Tue, 11 Mar 2014 22:27:31 +0000 (23:27 +0100)]
Fix enumeration of option values.

6 years agoFixed g_variant_get_double copy-paste error
Joel Holdsworth [Tue, 11 Mar 2014 21:58:24 +0000 (22:58 +0100)]
Fixed g_variant_get_double copy-paste error

6 years agoir_nec: Update to recent PD API changes.
Uwe Hermann [Mon, 10 Mar 2014 14:44:24 +0000 (15:44 +0100)]
ir_nec: Update to recent PD API changes.

6 years agoir_nec: Add support for higher-level remote control annotations.
Uwe Hermann [Fri, 7 Mar 2014 20:49:12 +0000 (21:49 +0100)]
ir_nec: Add support for higher-level remote control annotations.

6 years agoir_nec: Addresses and commands are transmitted LSB-first.
Uwe Hermann [Fri, 7 Mar 2014 19:17:00 +0000 (20:17 +0100)]
ir_nec: Addresses and commands are transmitted LSB-first.

6 years agoir_nec: Add support for more fields.
Uwe Hermann [Fri, 7 Mar 2014 18:30:09 +0000 (19:30 +0100)]
ir_nec: Add support for more fields.

Also show the AGC field(s) and pauses, the stop bit, and the individual
address / address# and command / command# fields.

6 years agoir_nec: Drop some unneeded options.
Uwe Hermann [Fri, 7 Mar 2014 16:24:21 +0000 (17:24 +0100)]
ir_nec: Drop some unneeded options.

The timing of the protocol is not really configurable, valid data in
this protocol must always adhere to the same timing parameters, making them
configurable should not be needed.

Also: Only check for the "interesting" edges and simplify the code a bit.

6 years agoRename 'ir_nec6122' PD to 'ir_nec', minor fixes and simplifications.
Uwe Hermann [Fri, 7 Mar 2014 13:55:54 +0000 (14:55 +0100)]
Rename 'ir_nec6122' PD to 'ir_nec', minor fixes and simplifications.

This IR protocol is commonly referred to as "the NEC protocol", and can be
generated by various means (not only via the NEC µPD6121/µPD6122 ICs).

Drop some unneeded variables and fix/simplify the code a bit.

6 years agoAdd NEC IR protocol decoder.
Gump Yang [Fri, 7 Mar 2014 13:53:50 +0000 (14:53 +0100)]
Add NEC IR protocol decoder.

6 years agoProbes, optional probes and annotations now take a tuple.
Bert Vermeulen [Mon, 10 Mar 2014 11:23:38 +0000 (12:23 +0100)]
Probes, optional probes and annotations now take a tuple.

Annotation entries also consist of a tuple, not a list.

6 years agoir_rc5: Change PD options to be a tuple of dictionaries.
Bert Vermeulen [Mon, 10 Mar 2014 09:35:41 +0000 (10:35 +0100)]
ir_rc5: Change PD options to be a tuple of dictionaries.

6 years agoRemove unused probes and options
Bert Vermeulen [Sun, 9 Mar 2014 23:43:27 +0000 (00:43 +0100)]
Remove unused probes and options

6 years agoChange PD options to be a tuple of dictionaries.
Bert Vermeulen [Sun, 9 Mar 2014 22:48:27 +0000 (23:48 +0100)]
Change PD options to be a tuple of dictionaries.

Each option consists of a dictionary with the following keys:

  id      The option id, which is passed in when setting a value.
  desc    A description of the option, suitable for display.
  def     The default value for this option.
  values  (optional) If present, a tuple containing values the option
          may take. They must be of the same type as the default.

Valid types for the options are UTF-8-encoded strings, integers, and
floating point values.

6 years agoonewire_link: Replaced us with µs
Joel Holdsworth [Tue, 4 Mar 2014 18:40:24 +0000 (18:40 +0000)]
onewire_link: Replaced us with µs

6 years agoir_rc5: Fix incorrect bit length of RC-5 packets.
Uwe Hermann [Wed, 5 Mar 2014 22:44:54 +0000 (23:44 +0100)]
ir_rc5: Fix incorrect bit length of RC-5 packets.

All RC-5 packets are 14 bits long.

6 years agoir_rc5: Don't throw exception upon invalid edge distances.
Uwe Hermann [Wed, 5 Mar 2014 22:44:14 +0000 (23:44 +0100)]
ir_rc5: Don't throw exception upon invalid edge distances.

Instead, reset the state machine and continue with the rest of the data.

6 years agoir_rc5: Only determine edge type once.
Uwe Hermann [Wed, 5 Mar 2014 22:34:50 +0000 (23:34 +0100)]
ir_rc5: Only determine edge type once.

6 years agoAdd initial RC-5 IR protocol decoder.
Uwe Hermann [Thu, 6 Feb 2014 18:49:06 +0000 (19:49 +0100)]
Add initial RC-5 IR protocol decoder.

6 years agoz80: Use methods directly as state values.
Daniel Elstner [Sun, 2 Mar 2014 10:10:40 +0000 (11:10 +0100)]
z80: Use methods directly as state values.

6 years agoz80: Display not-taken conditional calls correctly.
Daniel Elstner [Fri, 28 Feb 2014 20:10:53 +0000 (21:10 +0100)]
z80: Display not-taken conditional calls correctly.

6 years agoz80: Fix display of read/modify/write instructions.
Daniel Elstner [Fri, 28 Feb 2014 20:03:23 +0000 (21:03 +0100)]
z80: Fix display of read/modify/write instructions.

6 years agoz80: Shorten annotation ID 'warning' to 'warn'.
Daniel Elstner [Fri, 28 Feb 2014 18:48:33 +0000 (19:48 +0100)]
z80: Shorten annotation ID 'warning' to 'warn'.

6 years agoz80: Output jump offsets relative to instruction start.
Daniel Elstner [Thu, 27 Feb 2014 21:07:58 +0000 (22:07 +0100)]
z80: Output jump offsets relative to instruction start.

Most assemblers recognize the symbol $ for the address of the
current instruction. Make use of this to output relative jump
instructions using the $[+-]offset syntax, with offset being
the displacement minus the instruction length.

6 years agoz80: Format hex numbers with leading zero if necessary.
Daniel Elstner [Thu, 27 Feb 2014 20:31:10 +0000 (21:31 +0100)]
z80: Format hex numbers with leading zero if necessary.

Assembler syntax requires that all numbers start with a decimal
digit. Introduce a custom 'H' format for prefixing a leading 0
to hexadecimal numbers that would otherwise start with a letter.

6 years agoz80: Use list comprehensions for bus probes.
Daniel Elstner [Sun, 23 Feb 2014 23:03:20 +0000 (00:03 +0100)]
z80: Use list comprehensions for bus probes.

6 years agoz80: New decoder for disassembling Z80 CPU instructions.
Daniel Elstner [Tue, 18 Feb 2014 21:03:45 +0000 (22:03 +0100)]
z80: New decoder for disassembling Z80 CPU instructions.

6 years agoMake the data unit size configurable
Daniel Elstner [Thu, 20 Feb 2014 05:24:23 +0000 (06:24 +0100)]
Make the data unit size configurable

6 years agouart: Emit per-bit annotations and OUTPUT_PYTHON data.
Uwe Hermann [Wed, 12 Feb 2014 21:55:37 +0000 (22:55 +0100)]
uart: Emit per-bit annotations and OUTPUT_PYTHON data.

6 years agoxfp: Drop unused "import os".
Uwe Hermann [Wed, 19 Feb 2014 18:13:51 +0000 (19:13 +0100)]
xfp: Drop unused "import os".

6 years agojtag: Use list comprehensions.
Uwe Hermann [Wed, 19 Feb 2014 18:12:56 +0000 (19:12 +0100)]
jtag: Use list comprehensions.

6 years agosdcard_spi: Use list comprehensions.
Uwe Hermann [Wed, 19 Feb 2014 18:00:36 +0000 (19:00 +0100)]
sdcard_spi: Use list comprehensions.

6 years agortc8564: Use list comprehensions.
Uwe Hermann [Wed, 19 Feb 2014 17:58:09 +0000 (18:58 +0100)]
rtc8564: Use list comprehensions.

6 years agorgb_led_spi: Shorten name/description (drop "mode").
Uwe Hermann [Sun, 23 Feb 2014 17:30:01 +0000 (18:30 +0100)]
rgb_led_spi: Shorten name/description (drop "mode").

In the 'sdcard_spi' PD/case the SD spec specifically differentiates between
a so-called "SPI mode" and "SD mode" (both being well-defined terms from
the spec), thus the "SPI mode" in the name and description of that PD.

For 'rgb_led_spi' however there's no such distinction for "modes"
really, so shorten the name/description to just 'RGB LED (SPI)'.

6 years agospi: Fix some start/end samplenumbers for PYTHON output.
Uwe Hermann [Wed, 19 Feb 2014 14:17:52 +0000 (15:17 +0100)]
spi: Fix some start/end samplenumbers for PYTHON output.

This fixes the data/annotations of stacked PDs.

6 years agospi: Fix a bug when only supplying MOSI (but not MISO).
Uwe Hermann [Wed, 19 Feb 2014 14:11:24 +0000 (15:11 +0100)]
spi: Fix a bug when only supplying MOSI (but not MISO).

6 years agorgb_led: Rename PD to rgb_led_spi.
Uwe Hermann [Wed, 19 Feb 2014 14:09:22 +0000 (15:09 +0100)]
rgb_led: Rename PD to rgb_led_spi.

There are a number of other RGB LED protocols (simple or more advanced
ones, and various ones not based on SPI), so use a more distinguishable
name for this PD.

6 years agorgb_led: Fix annotation end sample numbers.
Uwe Hermann [Wed, 19 Feb 2014 14:08:34 +0000 (15:08 +0100)]
rgb_led: Fix annotation end sample numbers.

6 years agorgb_led: Minor cosmetics, whitespace.
Uwe Hermann [Wed, 19 Feb 2014 14:07:39 +0000 (15:07 +0100)]
rgb_led: Minor cosmetics, whitespace.

6 years agoInitial RGB LED decoder
Matt Ranostay [Tue, 18 Feb 2014 06:08:41 +0000 (22:08 -0800)]
Initial RGB LED decoder

Signed-off-by: Matt Ranostay <mranostay@gmail.com>
6 years agousb_packet: s/NACK/NAK/.
Uwe Hermann [Sun, 9 Feb 2014 18:26:59 +0000 (19:26 +0100)]
usb_packet: s/NACK/NAK/.

The USB spec spells this as "NAK".

6 years agousb_packet: Use annotation classes and annotation rows.
Uwe Hermann [Wed, 5 Feb 2014 16:31:36 +0000 (17:31 +0100)]
usb_packet: Use annotation classes and annotation rows.

6 years agosdcard_spi: Adapt for MSB-first bits from spi PD.
Uwe Hermann [Tue, 4 Feb 2014 23:44:52 +0000 (00:44 +0100)]
sdcard_spi: Adapt for MSB-first bits from spi PD.

6 years agospi: Use/store bits in MSB-first order.
Uwe Hermann [Tue, 4 Feb 2014 23:44:27 +0000 (00:44 +0100)]
spi: Use/store bits in MSB-first order.

This makes things a bit easier/clearer for most stacked PDs.

6 years agospi: Fix warnings about CS# being de-asserted.
Uwe Hermann [Tue, 4 Feb 2014 21:47:43 +0000 (22:47 +0100)]
spi: Fix warnings about CS# being de-asserted.

6 years agortc8564: Improve short annotations.
Uwe Hermann [Tue, 4 Feb 2014 16:07:08 +0000 (17:07 +0100)]
rtc8564: Improve short annotations.

6 years agortc8564: Provide per-bit annotations.
Uwe Hermann [Mon, 3 Feb 2014 21:33:37 +0000 (22:33 +0100)]
rtc8564: Provide per-bit annotations.

6 years agoi2c: Emit per-bit annotations/packets and define annotation rows.
Uwe Hermann [Mon, 3 Feb 2014 20:53:46 +0000 (21:53 +0100)]
i2c: Emit per-bit annotations/packets and define annotation rows.

6 years agomx25lxx05d: Define annotation rows.
Uwe Hermann [Mon, 3 Feb 2014 21:51:56 +0000 (22:51 +0100)]
mx25lxx05d: Define annotation rows.

6 years agomx25lxx05d: Use proper annotation classes.
Uwe Hermann [Mon, 3 Feb 2014 21:43:01 +0000 (22:43 +0100)]
mx25lxx05d: Use proper annotation classes.

6 years agoavr_isp: Fix 'Device' annotation sample numbers + row.
Uwe Hermann [Mon, 3 Feb 2014 15:31:08 +0000 (16:31 +0100)]
avr_isp: Fix 'Device' annotation sample numbers + row.

6 years agoavr_isp: Define annotation rows.
Uwe Hermann [Mon, 3 Feb 2014 15:17:22 +0000 (16:17 +0100)]
avr_isp: Define annotation rows.

6 years agoavr_isp: Use proper annotation classes.
Uwe Hermann [Mon, 3 Feb 2014 15:12:12 +0000 (16:12 +0100)]
avr_isp: Use proper annotation classes.

6 years agosdcard_spi: Merge command ID/name and description into same annotation.
Uwe Hermann [Mon, 3 Feb 2014 11:17:23 +0000 (12:17 +0100)]
sdcard_spi: Merge command ID/name and description into same annotation.

6 years agosdcard_spi: Improved command handling / display.
Uwe Hermann [Mon, 3 Feb 2014 08:35:30 +0000 (09:35 +0100)]
sdcard_spi: Improved command handling / display.

6 years agosdcard_spi: Fix handling of some warning annotations.
Uwe Hermann [Mon, 3 Feb 2014 01:01:05 +0000 (02:01 +0100)]
sdcard_spi: Fix handling of some warning annotations.

6 years agosdcard_spi: Fix incorrect R1 reply annotation endsample.
Uwe Hermann [Mon, 3 Feb 2014 00:39:40 +0000 (01:39 +0100)]
sdcard_spi: Fix incorrect R1 reply annotation endsample.

6 years agosdcard_spi: Fix incorrect 'Command index' value access.
Uwe Hermann [Mon, 3 Feb 2014 00:25:16 +0000 (01:25 +0100)]
sdcard_spi: Fix incorrect 'Command index' value access.

6 years agosdcard_spi: Use bit-exact annotations in handle_response_r1().
Uwe Hermann [Mon, 3 Feb 2014 00:24:47 +0000 (01:24 +0100)]
sdcard_spi: Use bit-exact annotations in handle_response_r1().

6 years agosdcard_spi: Use bit-exact annotations in handle_command_token().
Uwe Hermann [Sun, 2 Feb 2014 19:05:30 +0000 (20:05 +0100)]
sdcard_spi: Use bit-exact annotations in handle_command_token().

6 years agospi: Throw an error if neither MISO nor MOSI was supplied.
Uwe Hermann [Sun, 2 Feb 2014 20:10:23 +0000 (21:10 +0100)]
spi: Throw an error if neither MISO nor MOSI was supplied.

6 years agospi: Fix incorrect dataword endsample numbers.
Uwe Hermann [Sun, 2 Feb 2014 20:03:47 +0000 (21:03 +0100)]
spi: Fix incorrect dataword endsample numbers.

6 years agospi: Refactoring and cleanups.
Uwe Hermann [Sun, 2 Feb 2014 15:40:30 +0000 (16:40 +0100)]
spi: Refactoring and cleanups.

6 years agospi: Factor out reset_decoder_state().
Uwe Hermann [Sun, 2 Feb 2014 14:54:15 +0000 (15:54 +0100)]
spi: Factor out reset_decoder_state().

6 years agospi: Output per-bit annotations and OUTPUT_PYTHON data.
Uwe Hermann [Sun, 2 Feb 2014 14:27:10 +0000 (15:27 +0100)]
spi: Output per-bit annotations and OUTPUT_PYTHON data.

This can be used by higher-level PDs to decode per-bit items (not just
based on whole datawords).

6 years agosdcard_spi: Define annotation rows.
Uwe Hermann [Sun, 2 Feb 2014 13:24:29 +0000 (14:24 +0100)]
sdcard_spi: Define annotation rows.

This fixes parts of bug #309.

6 years agosdcard_spi: Use proper annotation classes.
Uwe Hermann [Sun, 2 Feb 2014 01:35:59 +0000 (02:35 +0100)]
sdcard_spi: Use proper annotation classes.

This fixes parts of bug #309.

6 years agosdcard_spi: Initial fixing round for correct samplenumbers.
Uwe Hermann [Sun, 2 Feb 2014 01:14:37 +0000 (02:14 +0100)]
sdcard_spi: Initial fixing round for correct samplenumbers.

This fixes parts of bug #309.

6 years agortc8564: Handle century bit.
Uwe Hermann [Sun, 2 Feb 2014 00:07:20 +0000 (01:07 +0100)]
rtc8564: Handle century bit.

6 years agortc8564: Provide short/long annotations.
Uwe Hermann [Sat, 1 Feb 2014 23:55:48 +0000 (00:55 +0100)]
rtc8564: Provide short/long annotations.

6 years agortc8564: Handle register 0x06 (weekday).
Uwe Hermann [Sat, 1 Feb 2014 23:40:23 +0000 (00:40 +0100)]
rtc8564: Handle register 0x06 (weekday).

6 years agortc8564: Define annotation rows.
Uwe Hermann [Sat, 1 Feb 2014 23:20:57 +0000 (00:20 +0100)]
rtc8564: Define annotation rows.

6 years agortc8564: Use proper annotation classes.
Uwe Hermann [Sat, 1 Feb 2014 22:47:03 +0000 (23:47 +0100)]
rtc8564: Use proper annotation classes.

6 years agolpc: Define annotation rows.
Uwe Hermann [Sat, 1 Feb 2014 22:38:25 +0000 (23:38 +0100)]
lpc: Define annotation rows.

6 years agoAdd a few missing probe-names.
Uwe Hermann [Sat, 1 Feb 2014 22:14:46 +0000 (23:14 +0100)]
Add a few missing probe-names.

6 years agouart: Better annotation row handling of parity errors.
Uwe Hermann [Sat, 1 Feb 2014 17:20:45 +0000 (18:20 +0100)]
uart: Better annotation row handling of parity errors.

6 years agoguess_bitrate: start() doesn't take a metadata argument anymore.
Uwe Hermann [Sat, 1 Feb 2014 17:11:40 +0000 (18:11 +0100)]
guess_bitrate: start() doesn't take a metadata argument anymore.

6 years agoFix more warnings exposed by -Wmissing-prototypes.
Uwe Hermann [Sat, 1 Feb 2014 15:03:22 +0000 (16:03 +0100)]
Fix more warnings exposed by -Wmissing-prototypes.

6 years agousb_signalling: Define annotation rows.
Uwe Hermann [Sat, 1 Feb 2014 14:41:36 +0000 (15:41 +0100)]
usb_signalling: Define annotation rows.

6 years agospi: Improve probe names/descriptions a bit.
Uwe Hermann [Sat, 1 Feb 2014 14:40:27 +0000 (15:40 +0100)]
spi: Improve probe names/descriptions a bit.

6 years agoonewire_link: Define annotation rows.
Uwe Hermann [Sat, 1 Feb 2014 14:25:53 +0000 (15:25 +0100)]
onewire_link: Define annotation rows.

6 years agodcf77: Fix incorrect startsample for "month" field.
Uwe Hermann [Sat, 1 Feb 2014 13:58:23 +0000 (14:58 +0100)]
dcf77: Fix incorrect startsample for "month" field.

6 years agoavr_isp: Fix a bug resulting in incorrect start samples.
Uwe Hermann [Sat, 1 Feb 2014 13:46:52 +0000 (14:46 +0100)]
avr_isp: Fix a bug resulting in incorrect start samples.

6 years agodcf77: Define annotation rows.
Uwe Hermann [Fri, 31 Jan 2014 13:56:17 +0000 (14:56 +0100)]
dcf77: Define annotation rows.

6 years agospi: Define annotation rows.
Uwe Hermann [Fri, 31 Jan 2014 13:56:14 +0000 (14:56 +0100)]
spi: Define annotation rows.

6 years agouart: Define annotation rows.
Uwe Hermann [Thu, 30 Jan 2014 21:26:39 +0000 (22:26 +0100)]
uart: Define annotation rows.

Also, provide all the required annotation classes for this to work
properly.

6 years agoAdd support for annotation rows.
Uwe Hermann [Fri, 31 Jan 2014 15:59:22 +0000 (16:59 +0100)]
Add support for annotation rows.

An annotation row is a list of annotation classes that should all be
displayed in the same "row" in GUIs.

For example, the UART decoder would have at least two rows (for decoded
RX and TX data/startbits/stopbits/paritybits), the SPI decoder would have
at least two rows (for decoded MISO and MOSI data), and so on.

Each annotation row has a short ID string (mostly for use in
command-line frontends), a description string (mostly for use by GUIs),
and a tuple/list of annotation class IDs belonging to this row.

If no annotation rows are provided by the decoder, frontends can
consider this as the "trivial" case of all annotation classes being
displayed on the same (only) row.

6 years agouart: Allow either RX or TX to be optional.
Uwe Hermann [Thu, 30 Jan 2014 23:45:56 +0000 (00:45 +0100)]
uart: Allow either RX or TX to be optional.

6 years agosrd_inst_probe_set_all: Error out upon missing required probes.
Uwe Hermann [Thu, 30 Jan 2014 23:13:32 +0000 (00:13 +0100)]
srd_inst_probe_set_all: Error out upon missing required probes.

6 years agos/out_proto/out_python/.
Uwe Hermann [Thu, 30 Jan 2014 21:37:29 +0000 (22:37 +0100)]
s/out_proto/out_python/.

The output type is now called OUTPUT_PYTHON, adapt all PDs to that.

6 years agoFix warnings exposed by -Wmissing-prototypes.
Uwe Hermann [Thu, 30 Jan 2014 18:33:13 +0000 (19:33 +0100)]
Fix warnings exposed by -Wmissing-prototypes.

6 years agoconfigure.ac: Add -Wmissing-prototypes.
Uwe Hermann [Thu, 30 Jan 2014 18:28:49 +0000 (19:28 +0100)]
configure.ac: Add -Wmissing-prototypes.

6 years agoconfigure.ac: Only check for things we actually use.
Uwe Hermann [Thu, 30 Jan 2014 18:19:23 +0000 (19:19 +0100)]
configure.ac: Only check for things we actually use.

Drop checks where we don't use the result (yet). We might bring back
some of those once we start actually using the result in the code.

6 years agomx25lxx05d: Add probe test case.
Uwe Hermann [Thu, 30 Jan 2014 18:17:40 +0000 (19:17 +0100)]
mx25lxx05d: Add probe test case.

6 years agouart: Add trekstor_ebr30_a test case.
Uwe Hermann [Thu, 30 Jan 2014 16:54:16 +0000 (17:54 +0100)]
uart: Add trekstor_ebr30_a test case.

6 years agouart: Better fix for ASCII output.
Uwe Hermann [Thu, 30 Jan 2014 14:26:06 +0000 (15:26 +0100)]
uart: Better fix for ASCII output.

This is a temporary thing, later there'll be some facility to let
frontends handle any annotations marked as "this is a number" (as opposed
to "this is a string") in a generic manner and display them in any
supported (by that frontend) format, e.g. ascii, hex, oct, decimal,
binary, big-endian vs. little-endian, and so on.

This is a fix related to #201.

6 years agospi: Add mx25l1605d_probe test case.
Uwe Hermann [Wed, 29 Jan 2014 17:34:10 +0000 (18:34 +0100)]
spi: Add mx25l1605d_probe test case.

6 years agospi: Add atmega32_00 test case.
Uwe Hermann [Wed, 29 Jan 2014 17:25:08 +0000 (18:25 +0100)]
spi: Add atmega32_00 test case.

6 years agospi: Rename 'sck' to the more common 'clk'.
Uwe Hermann [Tue, 28 Jan 2014 23:31:14 +0000 (00:31 +0100)]
spi: Rename 'sck' to the more common 'clk'.