From fcee0a8ff4d4a198c090fc61601de052ec5ee7bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20Sandstr=C3=B6m?= Date: Fri, 13 Dec 2024 16:27:11 +0100 Subject: [PATCH] New plg concept and cleanup --- .gitignore | 3 +- GNUmakefile | 36 +++++++++++ Makefile | 28 --------- ecmc_plugin_fft.Makefile | 62 ------------------- .../ecmc_plugin_fftApp => src}/Db/.keep | 0 .../Db/ecmcPluginFFT.template | 0 .../ecmc_plugin_fftApp => src}/src/.keep | 0 .../src/ecmcFFT.cpp | 2 +- .../ecmc_plugin_fftApp => src}/src/ecmcFFT.h | 0 .../src/ecmcFFTDefs.h | 0 .../src/ecmcFFTWrap.cpp | 0 .../src/ecmcFFTWrap.h | 0 .../src/ecmcPluginFFT.c | 36 ++++++----- .../src/kissfft/.travis.yml | 0 .../src/kissfft/CHANGELOG | 0 .../src/kissfft/COPYING | 0 .../src/kissfft/LICENSES/BSD-3-Clause | 0 .../src/kissfft/LICENSES/Unlicense | 0 .../src/kissfft/Makefile | 0 .../src/kissfft/README | 0 .../src/kissfft/README.md | 0 .../src/kissfft/README.simd | 0 .../src/kissfft/TIPS | 0 .../src/kissfft/_kiss_fft_guts.h | 0 .../src/kissfft/kiss_fft.c | 0 .../src/kissfft/kiss_fft.h | 0 .../src/kissfft/kissfft.hh | 0 .../src/kissfft/kissfft_i32.hh | 0 .../src/kissfft/test/Makefile | 0 .../src/kissfft/test/benchfftw.c | 0 .../src/kissfft/test/benchkiss.c | 0 .../src/kissfft/test/doit.c | 0 .../src/kissfft/test/pstats.c | 0 .../src/kissfft/test/pstats.h | 0 .../src/kissfft/test/test_real.c | 0 .../src/kissfft/test/testcpp.cc | 0 .../src/kissfft/test/testkiss.py | 0 .../src/kissfft/test/twotonetest.c | 0 .../src/kissfft/tools/Makefile | 0 .../src/kissfft/tools/fftutil.c | 0 .../src/kissfft/tools/kfc.c | 0 .../src/kissfft/tools/kfc.h | 0 .../src/kissfft/tools/kiss_fastfir.c | 0 .../src/kissfft/tools/kiss_fftnd.c | 0 .../src/kissfft/tools/kiss_fftnd.h | 0 .../src/kissfft/tools/kiss_fftndr.c | 0 .../src/kissfft/tools/kiss_fftndr.h | 0 .../src/kissfft/tools/kiss_fftr.c | 0 .../src/kissfft/tools/kiss_fftr.h | 0 .../src/kissfft/tools/psdpng.c | 0 50 files changed, 58 insertions(+), 109 deletions(-) create mode 100644 GNUmakefile delete mode 100644 Makefile delete mode 100644 ecmc_plugin_fft.Makefile rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/Db/.keep (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/Db/ecmcPluginFFT.template (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/.keep (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/ecmcFFT.cpp (99%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/ecmcFFT.h (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/ecmcFFTDefs.h (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/ecmcFFTWrap.cpp (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/ecmcFFTWrap.h (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/ecmcPluginFFT.c (92%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/.travis.yml (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/CHANGELOG (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/COPYING (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/LICENSES/BSD-3-Clause (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/LICENSES/Unlicense (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/Makefile (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/README (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/README.md (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/README.simd (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/TIPS (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/_kiss_fft_guts.h (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/kiss_fft.c (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/kiss_fft.h (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/kissfft.hh (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/kissfft_i32.hh (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/test/Makefile (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/test/benchfftw.c (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/test/benchkiss.c (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/test/doit.c (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/test/pstats.c (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/test/pstats.h (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/test/test_real.c (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/test/testcpp.cc (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/test/testkiss.py (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/test/twotonetest.c (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/tools/Makefile (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/tools/fftutil.c (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/tools/kfc.c (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/tools/kfc.h (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/tools/kiss_fastfir.c (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/tools/kiss_fftnd.c (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/tools/kiss_fftnd.h (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/tools/kiss_fftndr.c (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/tools/kiss_fftndr.h (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/tools/kiss_fftr.c (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/tools/kiss_fftr.h (100%) rename {ecmc_plugin_fft/ecmc_plugin_fftApp => src}/src/kissfft/tools/psdpng.c (100%) diff --git a/.gitignore b/.gitignore index 6b849ec..95c2dc8 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,5 @@ core.* *PVs.list *-loc/*.Makefile ecmc_plugin_fft/*.Makefile -*__* \ No newline at end of file +*__* +O.* \ No newline at end of file diff --git a/GNUmakefile b/GNUmakefile new file mode 100644 index 0000000..cac0235 --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,36 @@ +include /ioc/tools/driver.makefile + +MODULE = ecmc_plugin_fft + +# "Transfer" module name to plugin +USR_CFLAGS +=-DECMC_PLUGIN_MODULE_NAME=${MODULE} + +BUILDCLASSES = Linux +ARCH_FILTER = deb10% + +# Run 7.0.6 for now +EXCLUDE_VERSIONS+=3 7.0.5 7.0.6 + +IGNORE_MODULES += asynMotor +IGNORE_MODULES += motorBase + +USR_CXXFLAGS += -std=c++17 +OPT_CXXFLAGS_YES = -O3 + +# dependencies +ECmasterECMC_VERSION = v1.1.0 +ecmc_VERSION = sandst_a + +APP:=src +APPDB:=$(APP)/Db +APPSRC:=$(APP)/src + +USR_CFLAGS += -shared -fPIC -Wall -Wextra +USR_LDFLAGS += -lstdc++ +USR_INCLUDES += -I$(where_am_I)$(APPSRC) + +TEMPLATES += $(wildcard $(APPDB)/*.db) +TEMPLATES += $(wildcard $(APPDB)/*.template) +SOURCES += $(APPSRC)/ecmcPluginFFT.c +SOURCES += $(APPSRC)/ecmcFFTWrap.cpp +SOURCES += $(APPSRC)/ecmcFFT.cpp diff --git a/Makefile b/Makefile deleted file mode 100644 index 48d516b..0000000 --- a/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# -# Copyright (c) 2018 - 2019 European Spallation Source ERIC -# -# The 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 any newer 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, see https://www.gnu.org/licenses/gpl-2.0.txt -# -# -# Author : Jeong Han Lee -# email : han.lee@esss.se -# Date : 2020Mar22-1607-33CET -# version : 1.0.0 - -TOP:=$(CURDIR) - -include $(TOP)/configure/CONFIG - -include $(TOP)/configure/RULES - diff --git a/ecmc_plugin_fft.Makefile b/ecmc_plugin_fft.Makefile deleted file mode 100644 index 48a4ab7..0000000 --- a/ecmc_plugin_fft.Makefile +++ /dev/null @@ -1,62 +0,0 @@ -# -# Copyright (c) 2019 European Spallation Source ERIC -# -# The 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 any newer 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, see https://www.gnu.org/licenses/gpl-2.0.txt -# -# -# Author : anderssandstrom -# email : anderssandstrom@esss.se -# Date : 2020Mar22-1607-33CET -# version : 0.0.0 -# -# template file is generated by ./e3TemplateGenerator.bash with bf03d40 -# Please look at many other _module_.Makefile in e3-* repository -# - -## The following lines are mandatory, please don't change them. -where_am_I := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) -include $(E3_REQUIRE_TOOLS)/driver.makefile -include $(E3_REQUIRE_CONFIG)/DECOUPLE_FLAGS - -ifneq ($(strip $(ASYN_DEP_VERSION)),) -asyn_VERSION=$(ASYN_DEP_VERSION) -endif - -ifneq ($(strip $(ECMC_DEP_VERSION)),) -ecmc_VERSION=$(ECMC_DEP_VERSION) -endif - -APP:=ecmc_plugin_fftApp -APPDB:=$(APP)/Db -APPSRC:=$(APP)/src - -USR_CFLAGS += -shared -fPIC -Wall -Wextra -USR_LDFLAGS += -lstdc++ -USR_INCLUDES += -I$(where_am_I)$(APPSRC) - -TEMPLATES += $(wildcard $(APPDB)/*.db) -TEMPLATES += $(wildcard $(APPDB)/*.template) -SOURCES += $(APPSRC)/ecmcPluginFFT.c -SOURCES += $(APPSRC)/ecmcFFTWrap.cpp -SOURCES += $(APPSRC)/ecmcFFT.cpp - -db: - -.PHONY: db - -vlibs: - -.PHONY: vlibs - -### diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/Db/.keep b/src/Db/.keep similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/Db/.keep rename to src/Db/.keep diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/Db/ecmcPluginFFT.template b/src/Db/ecmcPluginFFT.template similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/Db/ecmcPluginFFT.template rename to src/Db/ecmcPluginFFT.template diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/.keep b/src/src/.keep similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/.keep rename to src/src/.keep diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcFFT.cpp b/src/src/ecmcFFT.cpp similarity index 99% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcFFT.cpp rename to src/src/ecmcFFT.cpp index 49c4059..f4f5ebe 100644 --- a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcFFT.cpp +++ b/src/src/ecmcFFT.cpp @@ -830,7 +830,7 @@ void ecmcFFT::initAsyn() { if( createParam(0, paramName.c_str(), asynParamInt8Array, &asynSourceId_ ) != asynSuccess ) { throw std::runtime_error("Failed create asyn parameter source"); } - doCallbacksInt8Array(cfgDataSourceStr_, strlen(cfgDataSourceStr_), asynSourceId_,0); + doCallbacksInt8Array((epicsInt8*)cfgDataSourceStr_, strlen(cfgDataSourceStr_), asynSourceId_,0); // Add fft "plugin.fft%d.trigg" paramName = ECMC_PLUGIN_ASYN_PREFIX + to_string(objectId_) + diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcFFT.h b/src/src/ecmcFFT.h similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcFFT.h rename to src/src/ecmcFFT.h diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcFFTDefs.h b/src/src/ecmcFFTDefs.h similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcFFTDefs.h rename to src/src/ecmcFFTDefs.h diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcFFTWrap.cpp b/src/src/ecmcFFTWrap.cpp similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcFFTWrap.cpp rename to src/src/ecmcFFTWrap.cpp diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcFFTWrap.h b/src/src/ecmcFFTWrap.h similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcFFTWrap.h rename to src/src/ecmcFFTWrap.h diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcPluginFFT.c b/src/src/ecmcPluginFFT.c similarity index 92% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcPluginFFT.c rename to src/src/ecmcPluginFFT.c index 3da7c48..45ac1e6 100644 --- a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/ecmcPluginFFT.c +++ b/src/src/ecmcPluginFFT.c @@ -3,11 +3,13 @@ * ecmc is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. * -* ecmcPluginExample.cpp +* ecmcPluginFFT.cpp * * Created on: Mar 21, 2020 * Author: anderssandstrom -* +* Instructions: +* - IMPORTANT: Add "USR_CFLAGS +=-DECMC_PLUGIN_MODULE_NAME=${MODULE}" to GNUMakefile +* - All functions and ecmcPluginData struct must be declared static \*************************************************************************/ // Needed to get headers in ecmc right... @@ -30,11 +32,11 @@ static int lastEcmcError = 0; static char* lastConfStr = NULL; /** Optional. - * Will be called once after successfull load into ecmc. + * Will be called once after successful load into ecmc. * Return value other than 0 will be considered error. * configStr can be used for configuration parameters. **/ -int fftConstruct(char *configStr) +static int fftConstruct(char *configStr) { //This module is allowed to load several times so no need to check if loaded @@ -46,7 +48,7 @@ int fftConstruct(char *configStr) /** Optional function. * Will be called once at unload. **/ -void fftDestruct(void) +static void fftDestruct(void) { deleteAllFFTs(); if(lastConfStr){ @@ -55,12 +57,12 @@ void fftDestruct(void) } /** Optional function. - * Will be called each realtime cycle if definded - * ecmcError: Error code of ecmc. Makes it posible for + * Will be called each realtime cycle if defined + * ecmcError: Error code of ecmc. Makes it possible for * this plugin to react on ecmc errors * Return value other than 0 will be considered to be an error code in ecmc. **/ -int fftRealtime(int ecmcError) +static int fftRealtime(int ecmcError) { lastEcmcError = ecmcError; return 0; @@ -69,7 +71,7 @@ int fftRealtime(int ecmcError) /** Link to data source here since all sources should be availabe at this stage * (for example ecmc PLC variables are defined only at enter of realtime) **/ -int fftEnterRT(){ +static int fftEnterRT(){ return linkDataToFFTs(); } @@ -77,41 +79,41 @@ int fftEnterRT(){ * Will be called once just before leaving realtime mode * Return value other than 0 will be considered error. **/ -int fftExitRT(void){ +static int fftExitRT(void){ return 0; } // Plc function for clear of buffers -double fft_clear(double index) { +static double fft_clear(double index) { return (double)clearFFT((int)index); } // Plc function for enable -double fft_enable(double index, double enable) { +static double fft_enable(double index, double enable) { return (double)enableFFT((int)index, (int)enable); } // Plc function for trigg new measurement (will clear buffers) -double fft_trigg(double index) { +static double fft_trigg(double index) { return (double)triggFFT((int)index); } // Plc function for enable -double fft_mode(double index, double mode) { +static double fft_mode(double index, double mode) { return (double)modeFFT((int)index, (FFT_MODE)((int)mode)); } // Plc function for enable -double fft_stat(double index) { +static double fft_stat(double index) { return (double)statFFT((int)index); } // Register data for plugin so ecmc know what to use -struct ecmcPluginData pluginDataDef = { +static struct ecmcPluginData pluginDataDef = { // Allways use ECMC_PLUG_VERSION_MAGIC .ifVersion = ECMC_PLUG_VERSION_MAGIC, // Name - .name = "ecmcPlugin_FFT", + .name = "ecmc_plugin_fft", // Description .desc = "FFT plugin for use with ecmc.", // Option description diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/.travis.yml b/src/src/kissfft/.travis.yml similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/.travis.yml rename to src/src/kissfft/.travis.yml diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/CHANGELOG b/src/src/kissfft/CHANGELOG similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/CHANGELOG rename to src/src/kissfft/CHANGELOG diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/COPYING b/src/src/kissfft/COPYING similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/COPYING rename to src/src/kissfft/COPYING diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/LICENSES/BSD-3-Clause b/src/src/kissfft/LICENSES/BSD-3-Clause similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/LICENSES/BSD-3-Clause rename to src/src/kissfft/LICENSES/BSD-3-Clause diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/LICENSES/Unlicense b/src/src/kissfft/LICENSES/Unlicense similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/LICENSES/Unlicense rename to src/src/kissfft/LICENSES/Unlicense diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/Makefile b/src/src/kissfft/Makefile similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/Makefile rename to src/src/kissfft/Makefile diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/README b/src/src/kissfft/README similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/README rename to src/src/kissfft/README diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/README.md b/src/src/kissfft/README.md similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/README.md rename to src/src/kissfft/README.md diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/README.simd b/src/src/kissfft/README.simd similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/README.simd rename to src/src/kissfft/README.simd diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/TIPS b/src/src/kissfft/TIPS similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/TIPS rename to src/src/kissfft/TIPS diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/_kiss_fft_guts.h b/src/src/kissfft/_kiss_fft_guts.h similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/_kiss_fft_guts.h rename to src/src/kissfft/_kiss_fft_guts.h diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/kiss_fft.c b/src/src/kissfft/kiss_fft.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/kiss_fft.c rename to src/src/kissfft/kiss_fft.c diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/kiss_fft.h b/src/src/kissfft/kiss_fft.h similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/kiss_fft.h rename to src/src/kissfft/kiss_fft.h diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/kissfft.hh b/src/src/kissfft/kissfft.hh similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/kissfft.hh rename to src/src/kissfft/kissfft.hh diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/kissfft_i32.hh b/src/src/kissfft/kissfft_i32.hh similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/kissfft_i32.hh rename to src/src/kissfft/kissfft_i32.hh diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/Makefile b/src/src/kissfft/test/Makefile similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/Makefile rename to src/src/kissfft/test/Makefile diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/benchfftw.c b/src/src/kissfft/test/benchfftw.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/benchfftw.c rename to src/src/kissfft/test/benchfftw.c diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/benchkiss.c b/src/src/kissfft/test/benchkiss.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/benchkiss.c rename to src/src/kissfft/test/benchkiss.c diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/doit.c b/src/src/kissfft/test/doit.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/doit.c rename to src/src/kissfft/test/doit.c diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/pstats.c b/src/src/kissfft/test/pstats.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/pstats.c rename to src/src/kissfft/test/pstats.c diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/pstats.h b/src/src/kissfft/test/pstats.h similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/pstats.h rename to src/src/kissfft/test/pstats.h diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/test_real.c b/src/src/kissfft/test/test_real.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/test_real.c rename to src/src/kissfft/test/test_real.c diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/testcpp.cc b/src/src/kissfft/test/testcpp.cc similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/testcpp.cc rename to src/src/kissfft/test/testcpp.cc diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/testkiss.py b/src/src/kissfft/test/testkiss.py similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/testkiss.py rename to src/src/kissfft/test/testkiss.py diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/twotonetest.c b/src/src/kissfft/test/twotonetest.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/test/twotonetest.c rename to src/src/kissfft/test/twotonetest.c diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/Makefile b/src/src/kissfft/tools/Makefile similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/Makefile rename to src/src/kissfft/tools/Makefile diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/fftutil.c b/src/src/kissfft/tools/fftutil.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/fftutil.c rename to src/src/kissfft/tools/fftutil.c diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kfc.c b/src/src/kissfft/tools/kfc.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kfc.c rename to src/src/kissfft/tools/kfc.c diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kfc.h b/src/src/kissfft/tools/kfc.h similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kfc.h rename to src/src/kissfft/tools/kfc.h diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fastfir.c b/src/src/kissfft/tools/kiss_fastfir.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fastfir.c rename to src/src/kissfft/tools/kiss_fastfir.c diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fftnd.c b/src/src/kissfft/tools/kiss_fftnd.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fftnd.c rename to src/src/kissfft/tools/kiss_fftnd.c diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fftnd.h b/src/src/kissfft/tools/kiss_fftnd.h similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fftnd.h rename to src/src/kissfft/tools/kiss_fftnd.h diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fftndr.c b/src/src/kissfft/tools/kiss_fftndr.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fftndr.c rename to src/src/kissfft/tools/kiss_fftndr.c diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fftndr.h b/src/src/kissfft/tools/kiss_fftndr.h similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fftndr.h rename to src/src/kissfft/tools/kiss_fftndr.h diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fftr.c b/src/src/kissfft/tools/kiss_fftr.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fftr.c rename to src/src/kissfft/tools/kiss_fftr.c diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fftr.h b/src/src/kissfft/tools/kiss_fftr.h similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/kiss_fftr.h rename to src/src/kissfft/tools/kiss_fftr.h diff --git a/ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/psdpng.c b/src/src/kissfft/tools/psdpng.c similarity index 100% rename from ecmc_plugin_fft/ecmc_plugin_fftApp/src/kissfft/tools/psdpng.c rename to src/src/kissfft/tools/psdpng.c