summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Gareth McMullin [Mon, 28 Nov 2011 08:52:35 +0000 (21:52 +1300)]
srd: Pass samplerate to decoder in metadata.
Uwe Hermann [Sun, 27 Nov 2011 21:27:36 +0000 (22:27 +0100)]
decoders: Drop psyco stuff, seems obsolete.
The psyco module seems to be mostly unmaintained at this point, it does
not support Python 2.7 or higher at all, it only supports x86, it doesn't
support 64 bit systems at all, etc. etc.
We should try to find other ways to optimize our decoders for speed.
Uwe Hermann [Sun, 27 Nov 2011 21:17:54 +0000 (22:17 +0100)]
srd: Python: Consistently use single quotes for strings.
Uwe Hermann [Sun, 27 Nov 2011 21:12:37 +0000 (22:12 +0100)]
srd: i2c.py: Docstrings should use """.
This is the most commonly used and recommended method for docstrings.
Uwe Hermann [Sun, 27 Nov 2011 20:51:39 +0000 (21:51 +0100)]
srd: i2c.py: Mark Repeated Start condition as 'Sr'.
Uwe Hermann [Sun, 27 Nov 2011 19:17:49 +0000 (20:17 +0100)]
srd: i2c.py: Rework I2C decoder.
This should be working OK for most use-cases now, though there certainly
are a few TODOs left. The output format is just a quick hack and will
change.
Gareth McMullin [Sun, 27 Nov 2011 06:17:13 +0000 (19:17 +1300)]
srd: Pass metadata to decoders only on SR_DF_HEADER.
Before this was passed to the decoder's constuctor, but the parameters
may not all be known at construction. Decoders now have a method start()
which is called at the start of the capture, and metadata is passed as
an arg to this function.
Uwe Hermann [Thu, 24 Nov 2011 08:35:26 +0000 (09:35 +0100)]
srd: i2c.py: Convert to new API (unfinished).
This decoder is probably not fully converted yet, and doesn't really
successfully decode I2C, yet. It's work in progress.
Uwe Hermann [Thu, 24 Nov 2011 00:24:46 +0000 (01:24 +0100)]
srd: Comment out debug line for now.
Uwe Hermann [Wed, 23 Nov 2011 22:08:39 +0000 (23:08 +0100)]
transitioncounter.py: Convert to new API.
This is still work-in-progress, but at least it runs and outputs stuff now.
Uwe Hermann [Wed, 23 Nov 2011 22:05:01 +0000 (23:05 +0100)]
nunchuk.py: Fix indentation (syntax error).
Uwe Hermann [Wed, 23 Nov 2011 15:15:55 +0000 (16:15 +0100)]
Decoders: Use 4 spaces for indentation as per PEP-8.
Uwe Hermann [Wed, 23 Nov 2011 08:17:48 +0000 (09:17 +0100)]
srd: decode.c: Improve error handling a bit.
Uwe Hermann [Wed, 23 Nov 2011 08:09:30 +0000 (09:09 +0100)]
srd: decode.c: Add/fix comments and coding-style.
Uwe Hermann [Wed, 23 Nov 2011 07:56:44 +0000 (08:56 +0100)]
srd: Doxygen comments for srd_init() and srd_exit().
Gareth McMullin [Sun, 20 Nov 2011 05:39:50 +0000 (18:39 +1300)]
libsigrokdecode: Allow frontend to configure decoder probes.
Gareth McMullin [Sun, 20 Nov 2011 03:30:38 +0000 (16:30 +1300)]
libsigrokdecode: Allow multiple PD instances.
There is currently no way to configure options or probes, so they'll
always be the same, but it's a start.
Gareth McMullin [Sun, 20 Nov 2011 00:07:44 +0000 (13:07 +1300)]
libsigrokdecode: Move decoder metadata into Decoder object.
Gareth McMullin [Tue, 15 Nov 2011 05:47:15 +0000 (18:47 +1300)]
Simplified code for calling Python decode method.
Kristoffer Sjöberg [Mon, 14 Nov 2011 09:07:29 +0000 (10:07 +0100)]
Add support for OO based PDs.
Kristoffer Sjöberg [Sun, 13 Nov 2011 02:11:40 +0000 (03:11 +0100)]
Pass multiple samples to the protocol decoder and adapt transitioncounter.py to work with this.
Kristoffer Sjöberg [Sat, 12 Nov 2011 23:27:58 +0000 (00:27 +0100)]
Update transitioncounter.py to the streaming PD API.
Kristoffer Sjöberg [Sat, 12 Nov 2011 22:42:52 +0000 (23:42 +0100)]
Partial implementation of the streaming PD API.
Uwe Hermann [Sat, 19 Nov 2011 17:10:32 +0000 (18:10 +0100)]
libsigrokdecode.pc.in: Add missing @CPPFLAGS_PYTHON@.
Uwe Hermann [Thu, 17 Nov 2011 21:42:30 +0000 (22:42 +0100)]
libsigrokdecode.pc: Add glib + Python.
Uwe Hermann [Sun, 3 Apr 2011 21:18:46 +0000 (23:18 +0200)]
Revert temporary changes for 0.2 release.
Uwe Hermann [Sun, 3 Apr 2011 20:38:35 +0000 (22:38 +0200)]
Disable some stuff which should not be in 0.2.
Disable decoders, disable lib building.
Uwe Hermann [Sun, 3 Apr 2011 17:48:09 +0000 (19:48 +0200)]
Decoders: s/dist_pkgdata_SCRIPTS/dist_pkgdata_DATA/.
The .py decoder files are not technically scripts and should not be
executable and can not be invoked on the command line
(via ./foo.py --help or similar).
Uwe Hermann [Tue, 22 Feb 2011 22:12:41 +0000 (23:12 +0100)]
Make some more items 'static'.
Uwe Hermann [Tue, 8 Feb 2011 23:01:02 +0000 (00:01 +0100)]
sigrokdecode.h: More doxygen-friendly comments.
Uwe Hermann [Tue, 8 Feb 2011 22:46:29 +0000 (23:46 +0100)]
Doxygen config files: Initial configuration.
Uwe Hermann [Tue, 8 Feb 2011 22:00:49 +0000 (23:00 +0100)]
Add doxygen config files for both libs.
Uwe Hermann [Sun, 6 Feb 2011 16:36:32 +0000 (17:36 +0100)]
struct srd_decoder: Add more string fields.
Get the following string fields from the .py decoders' register()
function and store them in the respective 'struct srd_decoder':
- longname
- longdesc
- author
- email
- license
Uwe Hermann [Sun, 6 Feb 2011 16:29:44 +0000 (17:29 +0100)]
Python decoders: Add more metadata.
Make the list of metadata info match the spec in the wiki more closely.
Uwe Hermann [Fri, 4 Feb 2011 19:11:17 +0000 (20:11 +0100)]
Revert FIRMWARE_DIR / DECODERS_DIR method for now.
There were several issues with the other method, revert for now.
Uwe Hermann [Wed, 2 Feb 2011 09:25:52 +0000 (10:25 +0100)]
Fix build when no libusb-LA is compiled.
Until now the build would break if the user doesn't enable at least one
of the libusb1.0-based LAs. I.e., you could not compile only OLS, or
only the demo driver.
Uwe Hermann [Sun, 30 Jan 2011 18:22:13 +0000 (19:22 +0100)]
Consistently use _exit prefix for functions.
Uwe Hermann [Sat, 29 Jan 2011 14:41:39 +0000 (15:41 +0100)]
Change SIGROKDECODE_ prefix to SRD_.
Do the same for sigrokdecode_ -> srd_ in struct names and function names.
Uwe Hermann [Thu, 27 Jan 2011 23:56:46 +0000 (00:56 +0100)]
Properly free all memory upon sigrokdecode_shutdown().
Uwe Hermann [Thu, 27 Jan 2011 23:11:00 +0000 (00:11 +0100)]
libsigrokdecode: Always load all decoders upon init.
Let sigrokdecode_init() always load all decoders it can find in the
decoders directory, i.e., the user doesn't need to manually load decoders.
Instead he can just look up the list via sigrokdecode_list_decoders()
after sigrokdecode_init() has run.
This is not a problem, as sigrokdecode_init() is only run once per
sigrok-cli or sigrok-gui invocation, and even with many decoders this
should not take too long.
The list of decoders within libsigrokdecode is no longer a string, but
rather a list of 'struct sigrokdecode_decoder *' pointers.
Add sigrokdecode_get_decoder_by_id() API function which returns the
decoder with the specified ID (file name without ".py" suffix, for now),
or NULL if it cannot be found.
sigrokdecode_load_decoder() is now a private function and not exported
via the lib, i.e. not available to users of libsigrokdecode.
Uwe Hermann [Thu, 27 Jan 2011 22:17:47 +0000 (23:17 +0100)]
Fix some compiler warnings.
Uwe Hermann [Thu, 27 Jan 2011 22:12:34 +0000 (23:12 +0100)]
decode.c: Simplify the import code.
Use PyImport_ImportModule() instead of PyImport_Import(), so we don't
have to temporarily create a py_name object.
Uwe Hermann [Thu, 27 Jan 2011 22:02:39 +0000 (23:02 +0100)]
Some more simplifications in decode.c.
Uwe Hermann [Thu, 27 Jan 2011 21:53:29 +0000 (22:53 +0100)]
Use Py_XINCREF/Py_XDECREF, not Py_INCREF/Py_DECREF.
They're defined like this in Python.h:
/* Macros to use in case the object pointer may be NULL: */
#define Py_XINCREF(op) if ((op) == NULL) ; else Py_INCREF(op)
#define Py_XDECREF(op) if ((op) == NULL) ; else Py_DECREF(op)
I.e., the performance penalty we take by using Py_XINCREF/Py_XDECREF is
pretty much non-existant.
Uwe Hermann [Thu, 27 Jan 2011 21:50:57 +0000 (22:50 +0100)]
decode.c: Simplify sigrokdecode_run_decoder().
Uwe Hermann [Thu, 27 Jan 2011 21:13:08 +0000 (22:13 +0100)]
Bugfix: Add missing Py_INCREF()s.
This should fix an error/segfault when running a decoder on bigger
datasets.
Uwe Hermann [Thu, 27 Jan 2011 20:07:40 +0000 (21:07 +0100)]
decode.c: Better documentation.
Mark all Python/C API functions returning a new reference with "NEWREF",
and those that steal references with "STEAL".
Uwe Hermann [Thu, 27 Jan 2011 19:57:09 +0000 (20:57 +0100)]
decode.c: Fix typos.
Uwe Hermann [Thu, 27 Jan 2011 19:56:39 +0000 (20:56 +0100)]
Bugfix: PyTuple_SetItem() "steals" a reference.
Uwe Hermann [Sun, 23 Jan 2011 23:24:27 +0000 (00:24 +0100)]
configure.ac: Fix firmware/decoders dir variables.
FIRMWARE_DIR and DECODERS_DIR as defined in config.h need some magic applied
to resolve the $prefix/$data variable to an absolute path.
Uwe Hermann [Sun, 23 Jan 2011 18:53:50 +0000 (19:53 +0100)]
Introduce proper libtool versioning for the libs.
Uwe Hermann [Thu, 20 Jan 2011 22:00:59 +0000 (23:00 +0100)]
lib headers: Add 'extern "C"' for C++ usage.
Uwe Hermann [Wed, 19 Jan 2011 23:39:59 +0000 (00:39 +0100)]
Re-enable stuff we temporarily disabled for 0.1.
Uwe Hermann [Wed, 19 Jan 2011 21:32:00 +0000 (22:32 +0100)]
Disable decoders and session CLI options for 0.1.
Uwe Hermann [Wed, 19 Jan 2011 18:20:44 +0000 (19:20 +0100)]
Don't install libs and headers in the 0.1 release.
The library APIs are not yet usable or finalized, so don't expose the
libs for now. Instead, only install sigrok-cli, the manpages, and
the decoders.
Uwe Hermann [Sat, 15 Jan 2011 03:26:07 +0000 (04:26 +0100)]
libsigrokdecode fix to handle unusual dirnames.
Windows paths such as c:\... and/or those with spaces in them were
problematic.
Uwe Hermann [Sat, 15 Jan 2011 02:30:26 +0000 (03:30 +0100)]
Only load decoders from $(datadir)/sigrok/decoders.
Drop convenience locations which were supposed to allow running
./cli/sigrok-cli in the build directory. That will not really work fine
due to some other reasons. We only support running sigrok-cli after an
installation (into /usr/local or /opt or $HOME/sigrokinst or whatever).
Uwe Hermann [Sat, 15 Jan 2011 02:07:00 +0000 (03:07 +0100)]
Don't print .py suffix in protocol decoder names.
Uwe Hermann [Sat, 15 Jan 2011 02:00:15 +0000 (03:00 +0100)]
Bugfix: Use only .py decoders, ignore .pyc files.
Uwe Hermann [Sat, 15 Jan 2011 01:37:51 +0000 (02:37 +0100)]
Don't expose libsigrokdecode's interal GSList.
Instead, add a libsigrokdecode_list_decoders() API call which gives you
the list of known protocol decoders.
Uwe Hermann [Sat, 15 Jan 2011 01:32:03 +0000 (02:32 +0100)]
Install decoders into a decoders/ subdir.
Use $(datadir)/sigrok/decoders as subdirectory for the protocol decoders
(instead of installing them in the top-level $(datadir)/sigrok), just
as we do for $(datadir)/sigrok/firmware.
Uwe Hermann [Sat, 15 Jan 2011 00:44:41 +0000 (01:44 +0100)]
CLI: Support for running protocol decoders.
Add a new -A | --list-protocol-decoders option to show the list of
protocol decoders we could find.
Add -a | --protocol-decoders to specify a list of decoders that shall
be applied to the datastream. Currently only works for one decoder.
Define DECODERS_DIR, which is the directory where the decoders will be
installed upon 'make install', and where libsigrokdecode_init() will
search for them.
Thanks Olivier Fauchon <olivier@aixmarseille.com> for the initial patch,
merged in slightly different form.
Uwe Hermann [Mon, 10 Jan 2011 22:27:15 +0000 (23:27 +0100)]
Rename the scripts/ directory to decoders/.
Uwe Hermann [Sat, 8 Jan 2011 16:00:18 +0000 (17:00 +0100)]
Fix compile for Python >= 3.0.
Python docs tells us more about string functions:
"These functions have been renamed to PyBytes_* in Python 3.x. Unless
otherwise noted, the PyBytes functions available in 3.x are aliased to
their PyString_* equivalents to help porting."
(http://docs.python.org/c-api/string.html)
Use #defines to map the new names and fix the compile for Python >= 3.0.
Thanks Olivier Fauchon <olivier@aixmarseille.com> for the patch.
Uwe Hermann [Fri, 14 May 2010 10:50:01 +0000 (12:50 +0200)]
libsigrokdecode: Use SIGROKDECODE_OK.
Uwe Hermann [Tue, 11 May 2010 19:55:35 +0000 (21:55 +0200)]
pkg-config: Add libsigrokdecode.pc.
Uwe Hermann [Tue, 11 May 2010 15:16:38 +0000 (17:16 +0200)]
Use CLEANFILES instead of extra target.
Uwe Hermann [Sun, 9 May 2010 19:07:03 +0000 (21:07 +0200)]
scripts: Add clean-local target for *.pyc.
Uwe Hermann [Tue, 4 May 2010 21:19:31 +0000 (23:19 +0200)]
I2C: Convert output to more usable format.
Uwe Hermann [Tue, 27 Apr 2010 21:18:05 +0000 (23:18 +0200)]
i2c.py: Fix typo resulting in a nonworking script.
Uwe Hermann [Tue, 27 Apr 2010 21:13:45 +0000 (23:13 +0200)]
Add Python decoder for the Wii Nunchuk.
Untested, unfinished.
Uwe Hermann [Sat, 24 Apr 2010 14:52:55 +0000 (16:52 +0200)]
I2C decoder format draft (unfinished).
Uwe Hermann [Fri, 23 Apr 2010 23:33:52 +0000 (01:33 +0200)]
Various small decoder script fixes.
Uwe Hermann [Fri, 23 Apr 2010 23:12:09 +0000 (01:12 +0200)]
dist_pkgdata_SCRIPTS: Add i2c.py.
Uwe Hermann [Fri, 23 Apr 2010 23:04:20 +0000 (01:04 +0200)]
Various Python decoder infrastructure improvements.
- Introduce 'struct sigrokdecode_decoder'.
- Decoders are now handled via two C functions:
- sigrokdecode_load_decoder(): Fills a 'struct sigrokdecode_decoder'.
- sigrokdecode_run_decoder(): Runs a decoder function.
- There are now two decoder API functions a script needs to implement:
- register(): Returns a Python dict with certain metadata.
- decode(): Runs the actual decoder code.
- libsigrokdecode: Add and use some more #defines for errors:
- SIGROKDECODE_ERR_ARGS
- SIGROKDECODE_ERR_PYTHON
- Various other smaller Python decode script infrastructure issues.
unknown [Fri, 23 Apr 2010 16:49:17 +0000 (18:49 +0200)]
sigrokdecode.h: Add struct sigrokdecode_decoder_info.
unknown [Fri, 23 Apr 2010 16:47:43 +0000 (18:47 +0200)]
Rename sigrokdecode_register_i2c() to register().
unknown [Fri, 23 Apr 2010 16:46:36 +0000 (18:46 +0200)]
transitioncounter: Add register() function.
unknown [Fri, 23 Apr 2010 16:06:22 +0000 (18:06 +0200)]
sigrokdecode_run_decoder(): Pass in the module name.
Uwe Hermann [Wed, 21 Apr 2010 18:31:10 +0000 (20:31 +0200)]
Python: Use "enums" as states, not strings.
Also, fix a typo.
Uwe Hermann [Sun, 18 Apr 2010 01:15:06 +0000 (03:15 +0200)]
Python: Bugfixes (True/False != 1/0).
Uwe Hermann [Sun, 18 Apr 2010 00:02:35 +0000 (02:02 +0200)]
Python: Use range instead of xrange.
For small numbers range seems to be faster, and xramge is being removed
anyway in Python 3 AFAIK.
Uwe Hermann [Sat, 17 Apr 2010 23:58:45 +0000 (01:58 +0200)]
sigrokdecode_init: Add more Python search paths.
Uwe Hermann [Sat, 17 Apr 2010 23:54:49 +0000 (01:54 +0200)]
transitioncounter.py: Simplify and optimize a bit.
Uwe Hermann [Thu, 15 Apr 2010 18:07:16 +0000 (20:07 +0200)]
libsigrok: Coding style fixes.
Uwe Hermann [Mon, 12 Apr 2010 17:42:35 +0000 (19:42 +0200)]
Use psyco (if available) to improve performance.
Uwe Hermann [Sun, 11 Apr 2010 19:44:12 +0000 (21:44 +0200)]
First attempt at an I2C decoder (untested).
Uwe Hermann [Sun, 11 Apr 2010 01:58:05 +0000 (03:58 +0200)]
Implement a simple transition counter script.
Uwe Hermann [Fri, 9 Apr 2010 20:18:46 +0000 (22:18 +0200)]
Fix all warnings and re-enable -Wextra.
Uwe Hermann [Tue, 6 Apr 2010 00:11:01 +0000 (02:11 +0200)]
More paths to the libsigrokdecode Python scripts.
Uwe Hermann [Tue, 6 Apr 2010 00:06:55 +0000 (02:06 +0200)]
Fix incorrect path to the Python decoder scripts.
Uwe Hermann [Mon, 5 Apr 2010 23:29:32 +0000 (01:29 +0200)]
libsigrokdecode: Add initial return code list.
Uwe Hermann [Fri, 2 Apr 2010 18:18:27 +0000 (20:18 +0200)]
Start of code base layout restructuring.