libsigrokdecode.git
10 years agosrd: don't load all protocol decoders unless we really need to.
Bert Vermeulen [Tue, 14 Feb 2012 02:28:53 +0000 (03:28 +0100)]
srd: don't load all protocol decoders unless we really need to.

10 years agosrd: last public/private fix, and docs for all publis functions.
Bert Vermeulen [Sun, 12 Feb 2012 13:55:20 +0000 (14:55 +0100)]
srd: last public/private fix, and docs for all publis functions.

10 years agosrd: finish up public/private API
Bert Vermeulen [Sun, 12 Feb 2012 13:18:32 +0000 (14:18 +0100)]
srd: finish up public/private API

10 years agosrd: no public API functions use python-specific arguments now
Bert Vermeulen [Sun, 12 Feb 2012 12:47:07 +0000 (13:47 +0100)]
srd: no public API functions use python-specific arguments now

10 years agosrd: extra module path can now optionally be passed to srd_init()
Bert Vermeulen [Sun, 12 Feb 2012 03:07:22 +0000 (04:07 +0100)]
srd: extra module path can now optionally be passed to srd_init()

Also environment variable SIGROKDECODE_DIR, if present, is prepended
to the module path.

10 years agoRename 'void *' callback parameters to 'user_data'.
Uwe Hermann [Sat, 11 Feb 2012 21:09:18 +0000 (22:09 +0100)]
Rename 'void *' callback parameters to 'user_data'.

This is better, both for consistency reasons, and also because 'data' is
a bit too generic and might be confusing, especially since we have other
'data' fields in the code in various places.

10 years agosrd: Every callback should have a 'void *' parameter.
Uwe Hermann [Sat, 11 Feb 2012 21:38:17 +0000 (22:38 +0100)]
srd: Every callback should have a 'void *' parameter.

This is required in various situations and for various lib users,
especially so GUIs which might want to pass specific info via this
mechanism.

10 years agoUse g_try_malloc/g_free/g_strdup consistently.
Uwe Hermann [Sat, 11 Feb 2012 19:06:46 +0000 (20:06 +0100)]
Use g_try_malloc/g_free/g_strdup consistently.

Avoid plain malloc()/free() in sr/srd, especially in the API calls.
Also avoid g_malloc*() in favor of g_try_malloc*().

Use g_strdup() instead of strdup() so that we can use g_free()
consistently everywhere.

Exceptions: Stuff that is allocated via other libs (not using glib),
should also be properly free'd using the respective free-ing function
(instead of g_free()). Examples: Stuff allocated by libusb, libftdi, etc.

Also, use sr_err() instead of sr_warn() for actual errors. sr_warn() is
meant for non-fatal/uncritical warnings.

10 years agosrd: rename all instance to inst
Bert Vermeulen [Sat, 11 Feb 2012 17:06:56 +0000 (18:06 +0100)]
srd: rename all instance to inst

10 years agosrd: Update README.
Uwe Hermann [Fri, 10 Feb 2012 23:43:26 +0000 (00:43 +0100)]
srd: Update README.

10 years agosrd: s/python/Python/.
Uwe Hermann [Fri, 10 Feb 2012 08:29:38 +0000 (09:29 +0100)]
srd: s/python/Python/.

10 years agosrd: Add/improve g_malloc() error messages.
Uwe Hermann [Thu, 9 Feb 2012 23:06:58 +0000 (00:06 +0100)]
srd: Add/improve g_malloc() error messages.

10 years agosrd: Move private symbols to sigrokdecode-internal.h.
Uwe Hermann [Thu, 9 Feb 2012 18:17:54 +0000 (19:17 +0100)]
srd: Move private symbols to sigrokdecode-internal.h.

10 years agosrd: Add/use SRD_API/SRD_PRIV macros.
Uwe Hermann [Thu, 9 Feb 2012 18:11:53 +0000 (19:11 +0100)]
srd: Add/use SRD_API/SRD_PRIV macros.

This is not yet finished, more things should be made private.

10 years agosrd: Cosmetics, whitespace, coding-style fixes.
Uwe Hermann [Wed, 8 Feb 2012 21:39:30 +0000 (22:39 +0100)]
srd: Cosmetics, whitespace, coding-style fixes.

10 years agosrd: More consistent log related function names.
Uwe Hermann [Wed, 8 Feb 2012 18:52:43 +0000 (19:52 +0100)]
srd: More consistent log related function names.

Also, fix typos, constify some parameters, add more Doxygen comments.

10 years agoProject-wide consistent naming for #include guards.
Uwe Hermann [Sat, 4 Feb 2012 09:41:30 +0000 (10:41 +0100)]
Project-wide consistent naming for #include guards.

Document the naming scheme in HACKING.

10 years agoautogen.sh: aclocal support for Windows XP/Vista/7.
Uwe Hermann [Sun, 5 Feb 2012 11:54:44 +0000 (12:54 +0100)]
autogen.sh: aclocal support for Windows XP/Vista/7.

10 years agosrd: Add explicit srd_pd_output_callback_t typedef.
Uwe Hermann [Thu, 2 Feb 2012 08:28:56 +0000 (09:28 +0100)]
srd: Add explicit srd_pd_output_callback_t typedef.

10 years agosrd: Properly use append() for appending to lists.
Uwe Hermann [Wed, 1 Feb 2012 22:14:29 +0000 (23:14 +0100)]
srd: Properly use append() for appending to lists.

This is not only the canonical way to do it, it's also quite a bit faster
and less memory-intensive than using '+='.

10 years agosrd: Move all protocol docs to __init__.py files.
Uwe Hermann [Wed, 1 Feb 2012 21:23:03 +0000 (22:23 +0100)]
srd: Move all protocol docs to __init__.py files.

10 years agosrd: spi: Use strings for most options.
Uwe Hermann [Wed, 1 Feb 2012 20:57:43 +0000 (21:57 +0100)]
srd: spi: Use strings for most options.

10 years agosrd: uart: Use strings for most PD options.
Uwe Hermann [Wed, 1 Feb 2012 18:47:50 +0000 (19:47 +0100)]
srd: uart: Use strings for most PD options.

10 years agosrd: uart: Move protocol docs to __init__.py.
Uwe Hermann [Wed, 1 Feb 2012 18:24:21 +0000 (19:24 +0100)]
srd: uart: Move protocol docs to __init__.py.

10 years agosrd: uart: Add missing initialization.
Uwe Hermann [Wed, 1 Feb 2012 18:07:11 +0000 (19:07 +0100)]
srd: uart: Add missing initialization.

10 years agosrd: uart: Use strings for packet types.
Uwe Hermann [Wed, 1 Feb 2012 17:59:18 +0000 (18:59 +0100)]
srd: uart: Use strings for packet types.

While this has a (small) performance penalty compared to using integers,
it has the advantage of not requiring the use of magic numbers which
need to be declared in both the UART decoder and all decoders which
stack on top of UART.

10 years agosrd: rename extra_probes to optional_probes in all PDs
Bert Vermeulen [Tue, 31 Jan 2012 23:13:42 +0000 (00:13 +0100)]
srd: rename extra_probes to optional_probes in all PDs

10 years agosrd: rename extra_probes to optional_probes
Bert Vermeulen [Tue, 31 Jan 2012 23:07:55 +0000 (00:07 +0100)]
srd: rename extra_probes to optional_probes

10 years agosrd: free all decoder instances when unloading decoders
Bert Vermeulen [Tue, 31 Jan 2012 22:48:10 +0000 (23:48 +0100)]
srd: free all decoder instances when unloading decoders

10 years agosrd: avoid POSIX_SOURCE warning
Bert Vermeulen [Tue, 31 Jan 2012 21:35:22 +0000 (22:35 +0100)]
srd: avoid POSIX_SOURCE warning

10 years agosrd: remove obsolete DDC-only I2C filter
Bert Vermeulen [Tue, 31 Jan 2012 17:07:59 +0000 (18:07 +0100)]
srd: remove obsolete DDC-only I2C filter

10 years agosrd: add generic I2C filter PD
Bert Vermeulen [Tue, 31 Jan 2012 17:05:11 +0000 (18:05 +0100)]
srd: add generic I2C filter PD

10 years agosrd: Add missing <inttypes.h> #include (for PRIu64).
Uwe Hermann [Mon, 30 Jan 2012 19:17:15 +0000 (20:17 +0100)]
srd: Add missing <inttypes.h> #include (for PRIu64).

10 years agoedid: properly deal with leading I2C crud + small fixes
Bert Vermeulen [Mon, 30 Jan 2012 23:48:07 +0000 (00:48 +0100)]
edid: properly deal with leading I2C crud + small fixes

10 years agosrd: removed stray malloc()
Bert Vermeulen [Mon, 30 Jan 2012 00:23:35 +0000 (01:23 +0100)]
srd: removed stray malloc()

10 years agosrd: clear objects after final decref, so it doesn't happen twice
Bert Vermeulen [Mon, 30 Jan 2012 00:22:27 +0000 (01:22 +0100)]
srd: clear objects after final decref, so it doesn't happen twice

10 years agoedid: move PD docstring to __init__.py
Bert Vermeulen [Sun, 29 Jan 2012 19:13:43 +0000 (20:13 +0100)]
edid: move PD docstring to __init__.py

also minor code cleanups

10 years agosrd: add EDID 1.3 decoder
Bert Vermeulen [Sun, 29 Jan 2012 17:43:45 +0000 (18:43 +0100)]
srd: add EDID 1.3 decoder

10 years agoddc: add protocol output
Bert Vermeulen [Sun, 29 Jan 2012 17:42:10 +0000 (18:42 +0100)]
ddc: add protocol output

10 years agoUpdate/enforce/document our build requirements.
Uwe Hermann [Sat, 28 Jan 2012 20:26:56 +0000 (21:26 +0100)]
Update/enforce/document our build requirements.

10 years agosrd: Drop unneeded check, g_free() handles NULL fine.
Uwe Hermann [Sat, 28 Jan 2012 20:26:26 +0000 (21:26 +0100)]
srd: Drop unneeded check, g_free() handles NULL fine.

10 years agosrd: PDs: Cleanups, simplifications, small fixes.
Uwe Hermann [Sat, 28 Jan 2012 18:08:13 +0000 (19:08 +0100)]
srd: PDs: Cleanups, simplifications, small fixes.

10 years agosrd: mlx90614: Show more exact temperature.
Uwe Hermann [Fri, 27 Jan 2012 17:47:27 +0000 (18:47 +0100)]
srd: mlx90614: Show more exact temperature.

10 years agosrd: Use PRIu64 for uint64_t values.
Uwe Hermann [Fri, 27 Jan 2012 17:38:16 +0000 (18:38 +0100)]
srd: Use PRIu64 for uint64_t values.

Using %d seems to silently work on Linux, but leads to a segfault on
Windows/MinGW.

10 years agosrd: add more debugging around probe mapping
Bert Vermeulen [Fri, 27 Jan 2012 07:21:58 +0000 (08:21 +0100)]
srd: add more debugging around probe mapping

10 years agosrd: use format string where one is expected
Bert Vermeulen [Fri, 27 Jan 2012 00:14:01 +0000 (01:14 +0100)]
srd: use format string where one is expected

10 years agosrd: Melexis MLX90614 Infrared Thermometer decoder.
Uwe Hermann [Thu, 26 Jan 2012 22:48:11 +0000 (23:48 +0100)]
srd: Melexis MLX90614 Infrared Thermometer decoder.

10 years agosrd: Remove manual log domain ("srd: ") prefixes.
Uwe Hermann [Thu, 26 Jan 2012 00:15:10 +0000 (01:15 +0100)]
srd: Remove manual log domain ("srd: ") prefixes.

10 years agosrd: log: Support for setting a log domain (prefix).
Uwe Hermann [Wed, 25 Jan 2012 10:00:04 +0000 (11:00 +0100)]
srd: log: Support for setting a log domain (prefix).

10 years agosrd: UART: s/parity/parity_type/.
Uwe Hermann [Wed, 25 Jan 2012 21:25:25 +0000 (22:25 +0100)]
srd: UART: s/parity/parity_type/.

10 years agosrd: All PDs: Various fixes, cosmetics.
Uwe Hermann [Wed, 25 Jan 2012 21:11:38 +0000 (22:11 +0100)]
srd: All PDs: Various fixes, cosmetics.

 - List all API methods and metadata variables in all PDs to make things
   easier and more consistent for new PD writers.

 - Fix probe assignment in a few PDs.

 - Raise exceptions upon invalid states of the PD state machines (bug).

10 years agosrd: mx25lxx05d: Cleanups, add optional probes.
Uwe Hermann [Wed, 25 Jan 2012 18:02:11 +0000 (19:02 +0100)]
srd: mx25lxx05d: Cleanups, add optional probes.

10 years agosrd: Support for registering a custom log handler.
Uwe Hermann [Wed, 25 Jan 2012 01:52:27 +0000 (02:52 +0100)]
srd: Support for registering a custom log handler.

10 years agosrd: Add Epson RTC-8564 JE/NB protocol decoder.
Uwe Hermann [Wed, 25 Jan 2012 00:49:32 +0000 (01:49 +0100)]
srd: Add Epson RTC-8564 JE/NB protocol decoder.

10 years agosrd: properly recurse into PD instances when looking for one.
Bert Vermeulen [Wed, 25 Jan 2012 00:49:35 +0000 (01:49 +0100)]
srd: properly recurse into PD instances when looking for one.

This fixes the confusion between parallel and linear stacks.

10 years agosr: better error reporting
Bert Vermeulen [Tue, 24 Jan 2012 02:51:02 +0000 (03:51 +0100)]
sr: better error reporting

10 years agosrd: change struct srd_pd_output to have a path to the DI, not the decoder.
Bert Vermeulen [Tue, 24 Jan 2012 01:02:03 +0000 (02:02 +0100)]
srd: change struct srd_pd_output to have a path to the DI, not the decoder.

10 years agosrd: Prepend (not append) PD dirs to sys.path.
Uwe Hermann [Mon, 23 Jan 2012 18:58:06 +0000 (19:58 +0100)]
srd: Prepend (not append) PD dirs to sys.path.

10 years agosrd: deal with invalid probe specifications better
Bert Vermeulen [Mon, 23 Jan 2012 18:34:23 +0000 (19:34 +0100)]
srd: deal with invalid probe specifications better

10 years agosrd: i2cdemux: add missing Makefile.am
Bert Vermeulen [Mon, 23 Jan 2012 04:03:25 +0000 (05:03 +0100)]
srd: i2cdemux: add missing Makefile.am

10 years agosrd: use new exception system everywhere
Bert Vermeulen [Mon, 23 Jan 2012 03:51:33 +0000 (04:51 +0100)]
srd: use new exception system everywhere

10 years agosrd: add python exception catcher, which routes to srd_err() and srd_dbg()
Bert Vermeulen [Mon, 23 Jan 2012 01:20:51 +0000 (02:20 +0100)]
srd: add python exception catcher, which routes to srd_err() and srd_dbg()

10 years agosrd: minor code cleanup
Bert Vermeulen [Sun, 22 Jan 2012 02:29:22 +0000 (03:29 +0100)]
srd: minor code cleanup

10 years agosrd: Add generic i2cdemux protocol decoder.
Uwe Hermann [Sun, 22 Jan 2012 13:28:48 +0000 (14:28 +0100)]
srd: Add generic i2cdemux protocol decoder.

10 years agosrd: make all debugging and error reporting uniform
Bert Vermeulen [Sun, 22 Jan 2012 01:51:49 +0000 (02:51 +0100)]
srd: make all debugging and error reporting uniform

10 years agosrd: use more appropriate calls for integer constants
Bert Vermeulen [Sat, 21 Jan 2012 23:53:24 +0000 (00:53 +0100)]
srd: use more appropriate calls for integer constants

10 years agosrd: better check for PDs with no defined probes
Bert Vermeulen [Sat, 21 Jan 2012 18:45:04 +0000 (19:45 +0100)]
srd: better check for PDs with no defined probes

10 years agosrd: fix probe mapping
Bert Vermeulen [Sat, 21 Jan 2012 14:04:47 +0000 (15:04 +0100)]
srd: fix probe mapping

10 years agosrd: support for mapping probes
Bert Vermeulen [Fri, 20 Jan 2012 21:25:42 +0000 (22:25 +0100)]
srd: support for mapping probes

10 years agosrd: decoder class structure check belongs in module loader
Bert Vermeulen [Fri, 20 Jan 2012 21:23:27 +0000 (22:23 +0100)]
srd: decoder class structure check belongs in module loader

10 years agoadd py_dictitem_as_str(), more checking in py_attr_as_str()
Bert Vermeulen [Fri, 20 Jan 2012 21:08:22 +0000 (22:08 +0100)]
add py_dictitem_as_str(), more checking in py_attr_as_str()

10 years agosrd: UART: Update to new options API.
Uwe Hermann [Fri, 20 Jan 2012 00:16:47 +0000 (01:16 +0100)]
srd: UART: Update to new options API.

10 years agosrd: SPI: Convert to new options API.
Uwe Hermann [Thu, 19 Jan 2012 23:40:47 +0000 (00:40 +0100)]
srd: SPI: Convert to new options API.

10 years agosrd: fix decoder loading, and back to using glib dirent wrappers
Bert Vermeulen [Thu, 19 Jan 2012 16:12:02 +0000 (17:12 +0100)]
srd: fix decoder loading, and back to using glib dirent wrappers

10 years agosrd: don't check directory structure a PD is in, but what it implements.
Bert Vermeulen [Thu, 19 Jan 2012 14:05:38 +0000 (15:05 +0100)]
srd: don't check directory structure a PD is in, but what it implements.

Also added extra check to require start() and decode() methods in the
PD's Decoder class.

10 years agosrd: simplified error checking, in preparation for more of it
Bert Vermeulen [Thu, 19 Jan 2012 08:59:00 +0000 (09:59 +0100)]
srd: simplified error checking, in preparation for more of it

10 years agoaccept only supported types in decoder class default option values
Bert Vermeulen [Wed, 18 Jan 2012 23:00:02 +0000 (00:00 +0100)]
accept only supported types in decoder class default option values

10 years agosrd: Windows/MinGW Python path format fixes.
Uwe Hermann [Wed, 18 Jan 2012 23:21:00 +0000 (00:21 +0100)]
srd: Windows/MinGW Python path format fixes.

On Windows/MinGW, Python's sys.path needs entries of the form
'C:\\foo\\bar' instead of '/foo/bar'.

10 years agosrd: always set default options, regardless of overrides
Bert Vermeulen [Wed, 18 Jan 2012 21:59:14 +0000 (22:59 +0100)]
srd: always set default options, regardless of overrides

10 years agoI2C: no need to copy default option values over from the class
Bert Vermeulen [Tue, 17 Jan 2012 02:39:28 +0000 (03:39 +0100)]
I2C: no need to copy default option values over from the class
definition anymore: it happens automagically.

10 years agoSRD: support setting per-PD options
Bert Vermeulen [Tue, 17 Jan 2012 02:37:34 +0000 (03:37 +0100)]
SRD: support setting per-PD options

All decoder class options are automatically copied to a newly created
instance with their default value, which can be overridden with the
GHashTable passed to srd_instance_new().

Currently, only strings and integers are supported as option value
types. The type is set by the default value in the decoder class, and
enforced when overriding them. Integers can be specified in any
format python allows: 10, 0x0a and so on.

10 years agosrd: don't decref an object we don't own
Bert Vermeulen [Mon, 16 Jan 2012 04:01:05 +0000 (05:01 +0100)]
srd: don't decref an object we don't own

10 years agoI2C: properly use sample numbers in proto/annotation output
Bert Vermeulen [Sun, 15 Jan 2012 22:21:22 +0000 (23:21 +0100)]
I2C: properly use sample numbers in proto/annotation output

10 years agosrd: PDs now get a logic feed with sample numbers, not time/duration
Bert Vermeulen [Sun, 15 Jan 2012 22:20:39 +0000 (23:20 +0100)]
srd: PDs now get a logic feed with sample numbers, not time/duration

10 years agosrd: Add 'api_version = 1' to all PDs.
Uwe Hermann [Sun, 15 Jan 2012 19:41:46 +0000 (20:41 +0100)]
srd: Add 'api_version = 1' to all PDs.

10 years agosrd: Each PD now has its own subdirectory.
Uwe Hermann [Sun, 15 Jan 2012 14:36:01 +0000 (15:36 +0100)]
srd: Each PD now has its own subdirectory.

10 years agomove sigrokdecode.Decoder type to its own source file
Bert Vermeulen [Sun, 15 Jan 2012 13:44:40 +0000 (14:44 +0100)]
move sigrokdecode.Decoder type to its own source file

10 years agosrd: Decoders: Remove author/email fields.
Uwe Hermann [Sun, 15 Jan 2012 12:16:48 +0000 (13:16 +0100)]
srd: Decoders: Remove author/email fields.

We decided it's too much hassle to deal with this in GUIs (multiple
fields, multiple name and email addresses and copyright years etc. etc)
with too little gain. The authors/emails etc. are already in the .py file's
license header and in git anyway.

10 years agosrd: Bring back small stuff lost in the merge.
Uwe Hermann [Sun, 15 Jan 2012 11:50:07 +0000 (12:50 +0100)]
srd: Bring back small stuff lost in the merge.

Also, use ''' for docstrings to be consistent with the rest.

10 years agosrd: rename srd_usb to what it thinks it's called
Bert Vermeulen [Sun, 15 Jan 2012 03:31:23 +0000 (04:31 +0100)]
srd: rename srd_usb to what it thinks it's called

10 years agosrd: rename srd_usb to what it thinks it's called
Bert Vermeulen [Sun, 15 Jan 2012 03:31:23 +0000 (04:31 +0100)]
srd: rename srd_usb to what it thinks it's called

10 years agosrd: handle missing module docstrings better
Bert Vermeulen [Sun, 15 Jan 2012 03:24:15 +0000 (04:24 +0100)]
srd: handle missing module docstrings better

10 years agoCLI: when invoked with only -a <pd>, the PD's documentation is shown.
Bert Vermeulen [Sun, 15 Jan 2012 03:02:21 +0000 (04:02 +0100)]
CLI: when invoked with only -a <pd>, the PD's documentation is shown.

10 years agosrd: clean up module loading/unloading, and the decoder struct
Bert Vermeulen [Sun, 15 Jan 2012 02:58:27 +0000 (03:58 +0100)]
srd: clean up module loading/unloading, and the decoder struct

PDs are now checked for a proper Decoder object, with at least the
required attributes.

The author, long_desc and func attributes in the decoder object are gone.

10 years agomove srd_Decoder to sigrokdecode.h, and rename it in line with srd_logic
Bert Vermeulen [Sun, 15 Jan 2012 02:43:01 +0000 (03:43 +0100)]
move srd_Decoder to sigrokdecode.h, and rename it in line with srd_logic

10 years agosrd: Add ebr30a_i2c_demux PD (I2C in, 3 x I2C out).
Uwe Hermann [Sun, 15 Jan 2012 01:17:10 +0000 (02:17 +0100)]
srd: Add ebr30a_i2c_demux PD (I2C in, 3 x I2C out).

10 years agosrd: I2C: Small fixup.
Uwe Hermann [Sun, 15 Jan 2012 01:01:37 +0000 (02:01 +0100)]
srd: I2C: Small fixup.

10 years agosrd: pan1321: Support replies from device.
Uwe Hermann [Sun, 15 Jan 2012 00:22:19 +0000 (01:22 +0100)]
srd: pan1321: Support replies from device.

10 years agosrd: pan1321: Update to new UART format.
Uwe Hermann [Sat, 14 Jan 2012 22:17:40 +0000 (23:17 +0100)]
srd: pan1321: Update to new UART format.

10 years agosrd: UART: Handle both RX and TX pins.
Uwe Hermann [Sat, 14 Jan 2012 21:51:07 +0000 (22:51 +0100)]
srd: UART: Handle both RX and TX pins.

Also, experiment with readability improvements a bit.