diff options
36 files changed, 659 insertions, 31 deletions
diff --git a/configure.ac b/configure.ac index a60a6a9..7acdf40 100644 --- a/configure.ac +++ b/configure.ac @@ -150,6 +150,17 @@ AC_DEFINE(LIBSIGROKDECODE_VERSION, [libsigrokdecode_version], AC_CONFIG_FILES([Makefile libsigrokdecode.pc decoders/Makefile + decoders/dcf77/Makefile + decoders/ddc/Makefile + decoders/ebr30a_i2c_demux/Makefile + decoders/i2c/Makefile + decoders/mx25lxx05d/Makefile + decoders/nunchuk/Makefile + decoders/pan1321/Makefile + decoders/spi/Makefile + decoders/transitioncounter/Makefile + decoders/uart/Makefile + decoders/usb/Makefile ]) AC_OUTPUT @@ -18,10 +18,10 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include <glib.h> #include "config.h" #include "sigrokdecode.h" /* First, so we avoid a _POSIX_C_SOURCE warning. */ #include "sigrokdecode-internal.h" -#include <dirent.h> /* The list of protocol decoders. */ GSList *pd_list = NULL; @@ -66,7 +66,7 @@ struct srd_decoder *srd_get_decoder_by_id(const char *id) /** - * Load a protocol decoder module into the embedded python interpreter. + * Load a protocol decoder module into the embedded Python interpreter. * * @param name The module name to be loaded. * @param dec Pointer to the struct srd_decoder filled with the loaded module. @@ -82,17 +82,20 @@ int srd_load_decoder(const char *name, struct srd_decoder **dec) py_basedec = NULL; ret = SRD_ERR; - srd_dbg("loading module %s", name); + + srd_dbg("decoder: %s: loading module '%s'", __func__, name); if (!(d = g_try_malloc0(sizeof(struct srd_decoder)))) { + srd_err("decoder: %s: d malloc failed", __func__); ret = SRD_ERR_MALLOC; goto err_out; } /* Import the Python module. */ if (!(d->py_mod = PyImport_ImportModule(name))) { - /* TODO: report exception message/traceback to err/dbg */ - srd_dbg("import failed"); + /* TODO: Report exception message/traceback to err/dbg. */ + srd_warn("decoder: %s: import of '%s' failed", __func__, name); + PyErr_Print(); PyErr_Clear(); ret = SRD_ERR_PYTHON; goto err_out; @@ -101,6 +104,7 @@ int srd_load_decoder(const char *name, struct srd_decoder **dec) /* Get the 'Decoder' class as Python object. */ if (!(d->py_dec = PyObject_GetAttrString(d->py_mod, "Decoder"))) { /* This generated an AttributeError exception. */ + PyErr_Print(); PyErr_Clear(); srd_err("Decoder class not found in protocol decoder module %s", name); ret = SRD_ERR_PYTHON; @@ -243,27 +247,117 @@ int srd_unload_decoder(struct srd_decoder *dec) return SRD_OK; } +/** + * Check if the directory in the specified search path is a valid PD dir. + * + * A valid sigrok protocol decoder consists of a directory, which contains + * at least two .py files (the special __init__.py and at least one additional + * .py file which contains the actual PD code). + * + * TODO: We should also check that this is not a random other Python module, + * but really a sigrok PD module by some means. + * + * @param search_path A string containing the (absolute) path to the directory + * where 'entry' resides in. + * @param entry A string containing the (relative) directory name of the + * sigrok PD module. E.g. "i2c" for the I2C protocol decoder. + * @return SRD_OK, if the directory is a valid sigrok PD, a negative error + * code, such as SRD_ERR, otherwise. + */ +int srd_is_valid_pd_dir(const gchar *search_path, const gchar *entry) +{ + GDir *dir; + int py_files = 0, has_init_py = 0; + gchar *path1, *path2, *file; + GError *error; + + /* TODO: Error handling. */ + path1 = g_build_filename(search_path, entry, NULL); + + /* Check that it is a directory (and exists). */ + if (!g_file_test(path1, G_FILE_TEST_IS_DIR)) { + srd_dbg("decoder: %s: '%s' not a directory or doesn't exist", + __func__, entry); + return SRD_ERR; + } + + if (!(dir = g_dir_open(path1, 0, &error))) { /* TODO: flags? */ + srd_dbg("decoder: %s: '%s' failed to open directory", + __func__, entry); + return SRD_ERR; + } + + /* Check the contents of the directory. */ + while ((file = g_dir_read_name(dir)) != NULL) { + /* TODO: Error handling. */ + path2 = g_build_filename(path1, file, NULL); + + /* Ignore non-files. */ + if (!g_file_test(path2, G_FILE_TEST_IS_REGULAR)) { + srd_spew("decoder: %s: '%s' not a file, ignoring", + __func__, file); + continue; + } + + /* Count number of .py files. */ + if (g_str_has_suffix(path2, ".py")) { + srd_spew("decoder: %s: found .py file: '%s'", + __func__, file); + py_files++; + } + + /* Check if it's an __init__.py file. */ + if (g_str_has_suffix(path2, "__init__.py")) { + srd_spew("decoder: %s: found __init__.py file: '%s'", + __func__, path2); + has_init_py = 1; + } + } + g_dir_close(dir); + + /* Check if the directory contains >= 2 *.py files. */ + if (py_files < 2) { + srd_dbg("decoder: %s: '%s' is not a valid PD dir, it doesn't " + "contain >= 2 .py files", __func__, entry); + return SRD_ERR; + } + + /* Check if the directory contains an __init__.py file. */ + if (!has_init_py) { + srd_dbg("decoder: %s: '%s' is not a valid PD dir, it doesn't " + "contain an __init__.py file", __func__, entry); + return SRD_ERR; + } + + /* TODO: Check if it's a PD, not a random other Python module. */ + + return SRD_OK; +} int srd_load_all_decoders(void) { - DIR *dir; - struct dirent *dp; + GDir *dir; + gchar *direntry; int ret; char *decodername; struct srd_decoder *dec; + GError *error; - if (!(dir = opendir(DECODERS_DIR))) { + if (!(dir = g_dir_open(DECODERS_DIR, 0, &error))) { /* TODO: flags? */ Py_Finalize(); /* Returns void. */ return SRD_ERR_DECODERS_DIR; } - while ((dp = readdir(dir)) != NULL) { - /* Ignore filenames which don't end with ".py". */ - if (!g_str_has_suffix(dp->d_name, ".py")) + while ((direntry = g_dir_read_name(dir)) != NULL) { + /* Ignore directory entries which are not valid PDs. */ + if (srd_is_valid_pd_dir(DECODERS_DIR, direntry) != SRD_OK) { + srd_dbg("decoder: %s: '%s' not a valid PD dir, " + "ignoring it", __func__, direntry); continue; + } - /* Decoder name == filename (without .py suffix). */ - decodername = g_strndup(dp->d_name, strlen(dp->d_name) - 3); + /* The decoder name is the PD directory name (e.g. "i2c"). */ + decodername = g_strdup(direntry); /* TODO: Error handling. Use g_try_malloc(). */ if (!(dec = malloc(sizeof(struct srd_decoder)))) { @@ -278,12 +372,11 @@ int srd_load_all_decoders(void) pd_list = g_slist_append(pd_list, dec); } } - closedir(dir); + g_dir_close(dir); return SRD_OK; } - /** * TODO */ diff --git a/decoders/Makefile.am b/decoders/Makefile.am index 7c703ee..c1726cf 100644 --- a/decoders/Makefile.am +++ b/decoders/Makefile.am @@ -18,21 +18,17 @@ ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ## -pkgdatadir = $(DECODERS_DIR) - # Please keep this list in alphabetical order. -dist_pkgdata_DATA = \ - dcf77.py \ - ddc.py \ - i2c.py \ - mx25lxx05d.py \ - nunchuk.py \ - pan1321.py \ - spi.py \ - usb.py \ - transitioncounter.py \ - ebr30a_i2c_demux.py \ - uart.py - -CLEANFILES = *.pyc +SUBDIRS = \ + dcf77 \ + ddc \ + ebr30a_i2c_demux \ + i2c \ + mx25lxx05d \ + nunchuk \ + pan1321 \ + spi \ + transitioncounter \ + uart \ + usb diff --git a/decoders/dcf77/Makefile.am b/decoders/dcf77/Makefile.am new file mode 100644 index 0000000..c55f0b7 --- /dev/null +++ b/decoders/dcf77/Makefile.am @@ -0,0 +1,26 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +pkgdatadir = $(DECODERS_DIR)/dcf77 + +dist_pkgdata_DATA = __init__.py dcf77.py + +CLEANFILES = *.pyc + diff --git a/decoders/dcf77/__init__.py b/decoders/dcf77/__init__.py new file mode 100644 index 0000000..db7d2de --- /dev/null +++ b/decoders/dcf77/__init__.py @@ -0,0 +1,22 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +from .dcf77 import * + diff --git a/decoders/dcf77.py b/decoders/dcf77/dcf77.py index 48b3bba..48b3bba 100644 --- a/decoders/dcf77.py +++ b/decoders/dcf77/dcf77.py diff --git a/decoders/ddc/Makefile.am b/decoders/ddc/Makefile.am new file mode 100644 index 0000000..59c2c69 --- /dev/null +++ b/decoders/ddc/Makefile.am @@ -0,0 +1,26 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +pkgdatadir = $(DECODERS_DIR)/ddc + +dist_pkgdata_DATA = __init__.py ddc.py + +CLEANFILES = *.pyc + diff --git a/decoders/ddc/__init__.py b/decoders/ddc/__init__.py new file mode 100644 index 0000000..95cf31e --- /dev/null +++ b/decoders/ddc/__init__.py @@ -0,0 +1,22 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +from .ddc import * + diff --git a/decoders/ddc.py b/decoders/ddc/ddc.py index f839093..f839093 100644 --- a/decoders/ddc.py +++ b/decoders/ddc/ddc.py diff --git a/decoders/ebr30a_i2c_demux/Makefile.am b/decoders/ebr30a_i2c_demux/Makefile.am new file mode 100644 index 0000000..02e3421 --- /dev/null +++ b/decoders/ebr30a_i2c_demux/Makefile.am @@ -0,0 +1,26 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +pkgdatadir = $(DECODERS_DIR)/ebr30a_i2c_demux + +dist_pkgdata_DATA = __init__.py ebr30a_i2c_demux.py + +CLEANFILES = *.pyc + diff --git a/decoders/ebr30a_i2c_demux/__init__.py b/decoders/ebr30a_i2c_demux/__init__.py new file mode 100644 index 0000000..dddc8b7 --- /dev/null +++ b/decoders/ebr30a_i2c_demux/__init__.py @@ -0,0 +1,22 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +from .ebr30a_i2c_demux import * + diff --git a/decoders/ebr30a_i2c_demux.py b/decoders/ebr30a_i2c_demux/ebr30a_i2c_demux.py index 353fea8..353fea8 100644 --- a/decoders/ebr30a_i2c_demux.py +++ b/decoders/ebr30a_i2c_demux/ebr30a_i2c_demux.py diff --git a/decoders/i2c/Makefile.am b/decoders/i2c/Makefile.am new file mode 100644 index 0000000..75a53eb --- /dev/null +++ b/decoders/i2c/Makefile.am @@ -0,0 +1,26 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +pkgdatadir = $(DECODERS_DIR)/i2c + +dist_pkgdata_DATA = __init__.py i2c.py + +CLEANFILES = *.pyc + diff --git a/decoders/i2c/__init__.py b/decoders/i2c/__init__.py new file mode 100644 index 0000000..9e7856e --- /dev/null +++ b/decoders/i2c/__init__.py @@ -0,0 +1,22 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +from .i2c import * + diff --git a/decoders/i2c.py b/decoders/i2c/i2c.py index f0a95b7..f0a95b7 100644 --- a/decoders/i2c.py +++ b/decoders/i2c/i2c.py diff --git a/decoders/mx25lxx05d/Makefile.am b/decoders/mx25lxx05d/Makefile.am new file mode 100644 index 0000000..2d571f3 --- /dev/null +++ b/decoders/mx25lxx05d/Makefile.am @@ -0,0 +1,26 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +pkgdatadir = $(DECODERS_DIR)/mx25lxx05d + +dist_pkgdata_DATA = __init__.py mx25lxx05d.py + +CLEANFILES = *.pyc + diff --git a/decoders/mx25lxx05d/__init__.py b/decoders/mx25lxx05d/__init__.py new file mode 100644 index 0000000..0affc99 --- /dev/null +++ b/decoders/mx25lxx05d/__init__.py @@ -0,0 +1,22 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +from .mx25lxx05d import * + diff --git a/decoders/mx25lxx05d.py b/decoders/mx25lxx05d/mx25lxx05d.py index cd97dee..cd97dee 100644 --- a/decoders/mx25lxx05d.py +++ b/decoders/mx25lxx05d/mx25lxx05d.py diff --git a/decoders/nunchuk/Makefile.am b/decoders/nunchuk/Makefile.am new file mode 100644 index 0000000..5a4917b --- /dev/null +++ b/decoders/nunchuk/Makefile.am @@ -0,0 +1,26 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +pkgdatadir = $(DECODERS_DIR)/nunchuk + +dist_pkgdata_DATA = __init__.py nunchuk.py + +CLEANFILES = *.pyc + diff --git a/decoders/nunchuk/__init__.py b/decoders/nunchuk/__init__.py new file mode 100644 index 0000000..6772ba7 --- /dev/null +++ b/decoders/nunchuk/__init__.py @@ -0,0 +1,22 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +from .nunchuk import * + diff --git a/decoders/nunchuk.py b/decoders/nunchuk/nunchuk.py index 46bf53c..46bf53c 100644 --- a/decoders/nunchuk.py +++ b/decoders/nunchuk/nunchuk.py diff --git a/decoders/pan1321/Makefile.am b/decoders/pan1321/Makefile.am new file mode 100644 index 0000000..6997ed5 --- /dev/null +++ b/decoders/pan1321/Makefile.am @@ -0,0 +1,26 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +pkgdatadir = $(DECODERS_DIR)/pan1321 + +dist_pkgdata_DATA = __init__.py pan1321.py + +CLEANFILES = *.pyc + diff --git a/decoders/pan1321/__init__.py b/decoders/pan1321/__init__.py new file mode 100644 index 0000000..abbcf5d --- /dev/null +++ b/decoders/pan1321/__init__.py @@ -0,0 +1,22 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +from .pan1321 import * + diff --git a/decoders/pan1321.py b/decoders/pan1321/pan1321.py index 55676ce..55676ce 100644 --- a/decoders/pan1321.py +++ b/decoders/pan1321/pan1321.py diff --git a/decoders/spi/Makefile.am b/decoders/spi/Makefile.am new file mode 100644 index 0000000..89bf640 --- /dev/null +++ b/decoders/spi/Makefile.am @@ -0,0 +1,26 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +pkgdatadir = $(DECODERS_DIR)/spi + +dist_pkgdata_DATA = __init__.py spi.py + +CLEANFILES = *.pyc + diff --git a/decoders/spi/__init__.py b/decoders/spi/__init__.py new file mode 100644 index 0000000..3276fed --- /dev/null +++ b/decoders/spi/__init__.py @@ -0,0 +1,22 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +from .spi import * + diff --git a/decoders/spi.py b/decoders/spi/spi.py index 07b8da2..07b8da2 100644 --- a/decoders/spi.py +++ b/decoders/spi/spi.py diff --git a/decoders/transitioncounter/Makefile.am b/decoders/transitioncounter/Makefile.am new file mode 100644 index 0000000..74688a3 --- /dev/null +++ b/decoders/transitioncounter/Makefile.am @@ -0,0 +1,26 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +pkgdatadir = $(DECODERS_DIR)/transitioncounter + +dist_pkgdata_DATA = __init__.py transitioncounter.py + +CLEANFILES = *.pyc + diff --git a/decoders/transitioncounter/__init__.py b/decoders/transitioncounter/__init__.py new file mode 100644 index 0000000..bdf296b --- /dev/null +++ b/decoders/transitioncounter/__init__.py @@ -0,0 +1,22 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +from .transitioncounter import * + diff --git a/decoders/transitioncounter.py b/decoders/transitioncounter/transitioncounter.py index 4c832b0..4c832b0 100644 --- a/decoders/transitioncounter.py +++ b/decoders/transitioncounter/transitioncounter.py diff --git a/decoders/uart/Makefile.am b/decoders/uart/Makefile.am new file mode 100644 index 0000000..155bfc9 --- /dev/null +++ b/decoders/uart/Makefile.am @@ -0,0 +1,26 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +pkgdatadir = $(DECODERS_DIR)/uart + +dist_pkgdata_DATA = __init__.py uart.py + +CLEANFILES = *.pyc + diff --git a/decoders/uart/__init__.py b/decoders/uart/__init__.py new file mode 100644 index 0000000..4267d83 --- /dev/null +++ b/decoders/uart/__init__.py @@ -0,0 +1,22 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +from .uart import * + diff --git a/decoders/uart.py b/decoders/uart/uart.py index 4752c7d..4752c7d 100644 --- a/decoders/uart.py +++ b/decoders/uart/uart.py diff --git a/decoders/usb/Makefile.am b/decoders/usb/Makefile.am new file mode 100644 index 0000000..f758e06 --- /dev/null +++ b/decoders/usb/Makefile.am @@ -0,0 +1,26 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +pkgdatadir = $(DECODERS_DIR)/usb + +dist_pkgdata_DATA = __init__.py usb.py + +CLEANFILES = *.pyc + diff --git a/decoders/usb/__init__.py b/decoders/usb/__init__.py new file mode 100644 index 0000000..068cadf --- /dev/null +++ b/decoders/usb/__init__.py @@ -0,0 +1,22 @@ +## +## This file is part of the sigrok project. +## +## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +from .usb import * + diff --git a/decoders/usb.py b/decoders/usb/usb.py index 073fe01..073fe01 100644 --- a/decoders/usb.py +++ b/decoders/usb/usb.py |