320
+src:i -> srcDelay:i [label="",taillabel=<>]
+
+srcDelay:i -> toMono:i [label="f32(330)"
+,headlabel=<>]
+
+
+toMono:o1 -> arm_scale_f321:ia [label="f32(160)"
+,headlabel=<>
+,taillabel=<>]
+
+toMono:o2 -> arm_scale_f322:ia [label="f32(160)"
+,headlabel=<>
+,taillabel=<>]
+
+arm_scale_f321:o -> arm_add_f321:ia [label="f32(160)"
+,headlabel=<>
+,taillabel=<>]
-srcDelay:i -> toMono:i [headlabel=<
->,label="f32(330)"]
-
-
-toMono:o1 -> arm_scale_f321:ia [headlabel=<
->,taillabel=<
->,label="f32(160)"]
-
-toMono:o2 -> arm_scale_f322:ia [headlabel=<
->,taillabel=<
->,label="f32(160)"]
-
-arm_scale_f321:o -> arm_add_f321:ia [headlabel=<
->,taillabel=<
->,label="f32(160)"]
-
-arm_scale_f322:o -> arm_add_f321:ib [headlabel=<
->,taillabel=<
->,label="f32(160)"]
-
-arm_add_f321:o -> audioWin:i [headlabel=<
->,taillabel=<
->,label="f32(320)"]
-
-audioWin:i -> mfcc:i [headlabel=<
->,taillabel=<
->,label="f32(640)"]
-
-mfcc:i -> mfccWind:i [headlabel=<
->,taillabel=<
->,label="f32(250)"]
-
-mfccWind:i -> TFLite:i [headlabel=<
->,taillabel=<
->,label="f32(500)"]
+arm_scale_f322:o -> arm_add_f321:ib [label="f32(160)"
+,headlabel=<>
+,taillabel=<>]
+
+arm_add_f321:o -> audioWin:i [label="f32(320)"
+,headlabel=<>
+,taillabel=<>]
+
+audioWin:i -> mfcc:i [label="f32(640)"
+,headlabel=<>
+,taillabel=<>]
+
+mfcc:i -> mfccWind:i [label="f32(250)"
+,headlabel=<>
+,taillabel=<>]
+
+mfccWind:i -> TFLite:i [label="f32(500)"
+,headlabel=<>
+,taillabel=<>]
HALF [label=<
diff --git a/SDFTools/examples/example2/test.pdf b/ComputeGraph/examples/example2/test.pdf
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example2/test.pdf
rename to ComputeGraph/examples/example2/test.pdf
diff --git a/SDFTools/examples/example3/AppNodes.h b/ComputeGraph/examples/example3/AppNodes.h
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example3/AppNodes.h
rename to ComputeGraph/examples/example3/AppNodes.h
diff --git a/SDFTools/examples/example3/CMakeLists.txt b/ComputeGraph/examples/example3/CMakeLists.txt
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example3/CMakeLists.txt
rename to ComputeGraph/examples/example3/CMakeLists.txt
diff --git a/SDFTools/examples/example3/custom.cpp b/ComputeGraph/examples/example3/custom.cpp
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example3/custom.cpp
rename to ComputeGraph/examples/example3/custom.cpp
diff --git a/SDFTools/examples/example3/custom.h b/ComputeGraph/examples/example3/custom.h
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example3/custom.h
rename to ComputeGraph/examples/example3/custom.h
diff --git a/SDFTools/examples/example3/generated/scheduler.cpp b/ComputeGraph/examples/example3/generated/scheduler.cpp
old mode 100755
new mode 100644
similarity index 74%
rename from SDFTools/examples/example3/generated/scheduler.cpp
rename to ComputeGraph/examples/example3/generated/scheduler.cpp
index 3bb96fe0..64087a5d
--- a/SDFTools/examples/example3/generated/scheduler.cpp
+++ b/ComputeGraph/examples/example3/generated/scheduler.cpp
@@ -1,6 +1,6 @@
/*
-Generated with CMSIS-DSP SDF Scripts.
+Generated with CMSIS-DSP Compute Graph Scripts.
The generated code is not covered by CMSIS-DSP license.
The support classes and code is covered by CMSIS-DSP license.
@@ -55,7 +55,7 @@ float32_t buf7[BUFFERSIZE7]={0};
uint32_t scheduler(int *error)
{
- int sdfError=0;
+ int cgStaticError=0;
uint32_t nbSchedule=0;
int32_t debugCounter=40;
@@ -84,12 +84,12 @@ uint32_t scheduler(int *error)
ToReal toReal(fifo5,fifo6);
/* Run several schedule iterations */
- while((sdfError==0) && (debugCounter > 0))
+ while((cgStaticError==0) && (debugCounter > 0))
{
/* Run a schedule iteration */
- sdfError = src.run();
+ cgStaticError = src.run();
CHECKERROR;
- sdfError = audioWin.run();
+ cgStaticError = audioWin.run();
CHECKERROR;
{
float32_t* i0;
@@ -97,22 +97,22 @@ uint32_t scheduler(int *error)
i0=fifo1.getReadBuffer(256);
o2=fifo2.getWriteBuffer(256);
arm_mult_f32(i0,HANN,o2,256);
- sdfError = 0;
+ cgStaticError = 0;
}
CHECKERROR;
- sdfError = toCmplx.run();
+ cgStaticError = toCmplx.run();
CHECKERROR;
- sdfError = cfft.run();
+ cgStaticError = cfft.run();
CHECKERROR;
- sdfError = icfft.run();
+ cgStaticError = icfft.run();
CHECKERROR;
- sdfError = toReal.run();
+ cgStaticError = toReal.run();
CHECKERROR;
- sdfError = audioOverlap.run();
+ cgStaticError = audioOverlap.run();
CHECKERROR;
- sdfError = src.run();
+ cgStaticError = src.run();
CHECKERROR;
- sdfError = audioWin.run();
+ cgStaticError = audioWin.run();
CHECKERROR;
{
float32_t* i0;
@@ -120,18 +120,18 @@ uint32_t scheduler(int *error)
i0=fifo1.getReadBuffer(256);
o2=fifo2.getWriteBuffer(256);
arm_mult_f32(i0,HANN,o2,256);
- sdfError = 0;
+ cgStaticError = 0;
}
CHECKERROR;
- sdfError = toCmplx.run();
+ cgStaticError = toCmplx.run();
CHECKERROR;
- sdfError = cfft.run();
+ cgStaticError = cfft.run();
CHECKERROR;
- sdfError = icfft.run();
+ cgStaticError = icfft.run();
CHECKERROR;
- sdfError = toReal.run();
+ cgStaticError = toReal.run();
CHECKERROR;
- sdfError = audioWin.run();
+ cgStaticError = audioWin.run();
CHECKERROR;
{
float32_t* i0;
@@ -139,29 +139,29 @@ uint32_t scheduler(int *error)
i0=fifo1.getReadBuffer(256);
o2=fifo2.getWriteBuffer(256);
arm_mult_f32(i0,HANN,o2,256);
- sdfError = 0;
+ cgStaticError = 0;
}
CHECKERROR;
- sdfError = toCmplx.run();
+ cgStaticError = toCmplx.run();
CHECKERROR;
- sdfError = cfft.run();
+ cgStaticError = cfft.run();
CHECKERROR;
- sdfError = icfft.run();
+ cgStaticError = icfft.run();
CHECKERROR;
- sdfError = audioOverlap.run();
+ cgStaticError = audioOverlap.run();
CHECKERROR;
- sdfError = sink.run();
+ cgStaticError = sink.run();
CHECKERROR;
- sdfError = toReal.run();
+ cgStaticError = toReal.run();
CHECKERROR;
- sdfError = audioOverlap.run();
+ cgStaticError = audioOverlap.run();
CHECKERROR;
- sdfError = sink.run();
+ cgStaticError = sink.run();
CHECKERROR;
debugCounter--;
nbSchedule++;
}
- *error=sdfError;
+ *error=cgStaticError;
return(nbSchedule);
}
diff --git a/SDFTools/examples/example3/generated/scheduler.h b/ComputeGraph/examples/example3/generated/scheduler.h
old mode 100755
new mode 100644
similarity index 85%
rename from SDFTools/examples/example3/generated/scheduler.h
rename to ComputeGraph/examples/example3/generated/scheduler.h
index 989d251c..ebe9978c
--- a/SDFTools/examples/example3/generated/scheduler.h
+++ b/ComputeGraph/examples/example3/generated/scheduler.h
@@ -1,6 +1,6 @@
/*
-Generated with CMSIS-DSP SDF Scripts.
+Generated with CMSIS-DSP Compute Graph Scripts.
The generated code is not covered by CMSIS-DSP license.
The support classes and code is covered by CMSIS-DSP license.
diff --git a/SDFTools/examples/example3/graph.py b/ComputeGraph/examples/example3/graph.py
old mode 100755
new mode 100644
similarity index 96%
rename from SDFTools/examples/example3/graph.py
rename to ComputeGraph/examples/example3/graph.py
index f0db4515..4ea21492
--- a/SDFTools/examples/example3/graph.py
+++ b/ComputeGraph/examples/example3/graph.py
@@ -1,6 +1,6 @@
import numpy as np
-from cmsisdsp.sdf.scheduler import *
+from cmsisdsp.cg.static.scheduler import *
FS=16000
diff --git a/SDFTools/examples/example3/input_example3.txt b/ComputeGraph/examples/example3/input_example3.txt
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example3/input_example3.txt
rename to ComputeGraph/examples/example3/input_example3.txt
diff --git a/SDFTools/examples/example3/main.cpp b/ComputeGraph/examples/example3/main.cpp
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example3/main.cpp
rename to ComputeGraph/examples/example3/main.cpp
diff --git a/ComputeGraph/examples/example3/test.dot b/ComputeGraph/examples/example3/test.dot
new file mode 100644
index 00000000..81a47db0
--- /dev/null
+++ b/ComputeGraph/examples/example3/test.dot
@@ -0,0 +1,143 @@
+
+
+
+
+digraph structs {
+ node [shape=plaintext]
+ rankdir=LR
+ edge [arrowsize=0.5]
+ fontname="times"
+
+
+
+arm_mult_f321 [label=<
+
+
+ | ia |
+ arm_mult_f32 (CMSIS-DSP) |
+ o |
+
+
+| ib |
+
+
+ |
+
+ >];
+
+audioOverlap [label=<
+
+
+ audioOverlap (OverlapAdd) |
+
+ >];
+
+audioWin [label=<
+
+
+ audioWin (SlidingBuffer) |
+
+ >];
+
+cfft [label=<
+>];
+
+icfft [label=<
+>];
+
+sink [label=<
+>];
+
+src [label=<
+>];
+
+toCmplx [label=<
+
+
+ toCmplx (ToComplex) |
+
+ >];
+
+toReal [label=<
+>];
+
+
+
+src:i -> audioWin:i [label="f32(256)"
+,headlabel=<>
+,taillabel=<>]
+
+audioWin:i -> arm_mult_f321:ia [label="f32(256)"
+,headlabel=<>
+,taillabel=<>]
+
+arm_mult_f321:o -> toCmplx:i [label="f32(256)"
+,headlabel=<>
+,taillabel=<>]
+
+toCmplx:i -> cfft:i [label="f32(512)"
+,headlabel=<>
+,taillabel=<>]
+
+cfft:i -> icfft:i [label="f32(512)"
+,headlabel=<>
+,taillabel=<>]
+
+icfft:i -> toReal:i [label="f32(512)"
+,headlabel=<>
+,taillabel=<>]
+
+toReal:i -> audioOverlap:i [label="f32(256)"
+,headlabel=<>
+,taillabel=<>]
+
+audioOverlap:i -> sink:i [label="f32(256)"
+,headlabel=<>
+,taillabel=<>]
+
+HANN [label=<
+>];
+
+HANN:i -> arm_mult_f321:ib
+
+}
diff --git a/SDFTools/examples/example3/test.pdf b/ComputeGraph/examples/example3/test.pdf
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example3/test.pdf
rename to ComputeGraph/examples/example3/test.pdf
diff --git a/SDFTools/examples/example4/appnodes.py b/ComputeGraph/examples/example4/appnodes.py
old mode 100755
new mode 100644
similarity index 75%
rename from SDFTools/examples/example4/appnodes.py
rename to ComputeGraph/examples/example4/appnodes.py
index 8107b3d1..cd85148f
--- a/SDFTools/examples/example4/appnodes.py
+++ b/ComputeGraph/examples/example4/appnodes.py
@@ -25,12 +25,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
############################################
-from cmsisdsp.sdf.nodes.simu import *
+from cmsisdsp.cg.static.nodes.simu import *
from custom import *
-from cmsisdsp.sdf.nodes.host.FileSink import *
-from cmsisdsp.sdf.nodes.host.FileSource import *
-from cmsisdsp.sdf.nodes.CFFT import *
-from cmsisdsp.sdf.nodes.ICFFT import *
-from cmsisdsp.sdf.nodes.ToComplex import *
-from cmsisdsp.sdf.nodes.ToReal import *
+from cmsisdsp.cg.static.nodes.host.FileSink import *
+from cmsisdsp.cg.static.nodes.host.FileSource import *
+from cmsisdsp.cg.static.nodes.CFFT import *
+from cmsisdsp.cg.static.nodes.ICFFT import *
+from cmsisdsp.cg.static.nodes.ToComplex import *
+from cmsisdsp.cg.static.nodes.ToReal import *
diff --git a/SDFTools/examples/example4/custom.py b/ComputeGraph/examples/example4/custom.py
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example4/custom.py
rename to ComputeGraph/examples/example4/custom.py
diff --git a/SDFTools/examples/example4/debug.py b/ComputeGraph/examples/example4/debug.py
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example4/debug.py
rename to ComputeGraph/examples/example4/debug.py
diff --git a/SDFTools/examples/example4/graph.py b/ComputeGraph/examples/example4/graph.py
old mode 100755
new mode 100644
similarity index 97%
rename from SDFTools/examples/example4/graph.py
rename to ComputeGraph/examples/example4/graph.py
index 416b9cdf..52cd9b43
--- a/SDFTools/examples/example4/graph.py
+++ b/ComputeGraph/examples/example4/graph.py
@@ -1,6 +1,6 @@
import numpy as np
-from cmsisdsp.sdf.scheduler import *
+from cmsisdsp.cg.static.scheduler import *
FS=16000
diff --git a/SDFTools/examples/example4/input_example3.txt b/ComputeGraph/examples/example4/input_example3.txt
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example4/input_example3.txt
rename to ComputeGraph/examples/example4/input_example3.txt
diff --git a/SDFTools/examples/example4/main.py b/ComputeGraph/examples/example4/main.py
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example4/main.py
rename to ComputeGraph/examples/example4/main.py
diff --git a/SDFTools/examples/example4/output_example3.txt b/ComputeGraph/examples/example4/output_example3.txt
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example4/output_example3.txt
rename to ComputeGraph/examples/example4/output_example3.txt
diff --git a/SDFTools/examples/example4/sched.py b/ComputeGraph/examples/example4/sched.py
old mode 100755
new mode 100644
similarity index 59%
rename from SDFTools/examples/example4/sched.py
rename to ComputeGraph/examples/example4/sched.py
index e22d042a..3e2857e5
--- a/SDFTools/examples/example4/sched.py
+++ b/ComputeGraph/examples/example4/sched.py
@@ -1,5 +1,5 @@
#
-# Generated with CMSIS-DSP SDF Scripts.
+# Generated with CMSIS-DSP Compute Graph Scripts.
# The generated code is not covered by CMSIS-DSP license.
#
# The support classes and code is covered by CMSIS-DSP license.
@@ -10,7 +10,7 @@ import sys
import numpy as np
import cmsisdsp as dsp
-from cmsisdsp.sdf.nodes.simu import *
+from cmsisdsp.cg.static.nodes.simu import *
from appnodes import *
from custom import *
@@ -71,7 +71,7 @@ for i in range(FIFOSIZE7):
def scheduler(dispbuf):
- sdfError=0
+ cgStaticError=0
nbSchedule=0
debugCounter=42
@@ -99,99 +99,99 @@ def scheduler(dispbuf):
toCmplx = ToComplex(256,512,fifo2,fifo3)
toReal = ToReal(512,256,fifo5,fifo6)
- while((sdfError==0) and (debugCounter > 0)):
+ while((cgStaticError==0) and (debugCounter > 0)):
nbSchedule = nbSchedule + 1
- sdfError = src.run()
- if sdfError < 0:
+ cgStaticError = src.run()
+ if cgStaticError < 0:
break
- sdfError = audioWin.run()
- if sdfError < 0:
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
break
i0=fifo1.getReadBuffer(256)
o2=fifo2.getWriteBuffer(256)
o2[:]=dsp.arm_mult_f32(i0,HANN)
- sdfError = 0
+ cgStaticError = 0
- if sdfError < 0:
+ if cgStaticError < 0:
break
- sdfError = toCmplx.run()
- if sdfError < 0:
+ cgStaticError = toCmplx.run()
+ if cgStaticError < 0:
break
- sdfError = cfft.run()
- if sdfError < 0:
+ cgStaticError = cfft.run()
+ if cgStaticError < 0:
break
- sdfError = icfft.run()
- if sdfError < 0:
+ cgStaticError = icfft.run()
+ if cgStaticError < 0:
break
- sdfError = toReal.run()
- if sdfError < 0:
+ cgStaticError = toReal.run()
+ if cgStaticError < 0:
break
- sdfError = audioOverlap.run()
- if sdfError < 0:
+ cgStaticError = audioOverlap.run()
+ if cgStaticError < 0:
break
- sdfError = src.run()
- if sdfError < 0:
+ cgStaticError = src.run()
+ if cgStaticError < 0:
break
- sdfError = audioWin.run()
- if sdfError < 0:
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
break
i0=fifo1.getReadBuffer(256)
o2=fifo2.getWriteBuffer(256)
o2[:]=dsp.arm_mult_f32(i0,HANN)
- sdfError = 0
+ cgStaticError = 0
- if sdfError < 0:
+ if cgStaticError < 0:
break
- sdfError = toCmplx.run()
- if sdfError < 0:
+ cgStaticError = toCmplx.run()
+ if cgStaticError < 0:
break
- sdfError = cfft.run()
- if sdfError < 0:
+ cgStaticError = cfft.run()
+ if cgStaticError < 0:
break
- sdfError = icfft.run()
- if sdfError < 0:
+ cgStaticError = icfft.run()
+ if cgStaticError < 0:
break
- sdfError = toReal.run()
- if sdfError < 0:
+ cgStaticError = toReal.run()
+ if cgStaticError < 0:
break
- sdfError = audioWin.run()
- if sdfError < 0:
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
break
i0=fifo1.getReadBuffer(256)
o2=fifo2.getWriteBuffer(256)
o2[:]=dsp.arm_mult_f32(i0,HANN)
- sdfError = 0
+ cgStaticError = 0
- if sdfError < 0:
+ if cgStaticError < 0:
break
- sdfError = toCmplx.run()
- if sdfError < 0:
+ cgStaticError = toCmplx.run()
+ if cgStaticError < 0:
break
- sdfError = cfft.run()
- if sdfError < 0:
+ cgStaticError = cfft.run()
+ if cgStaticError < 0:
break
- sdfError = icfft.run()
- if sdfError < 0:
+ cgStaticError = icfft.run()
+ if cgStaticError < 0:
break
- sdfError = audioOverlap.run()
- if sdfError < 0:
+ cgStaticError = audioOverlap.run()
+ if cgStaticError < 0:
break
- sdfError = sink.run()
- if sdfError < 0:
+ cgStaticError = sink.run()
+ if cgStaticError < 0:
break
- sdfError = toReal.run()
- if sdfError < 0:
+ cgStaticError = toReal.run()
+ if cgStaticError < 0:
break
- sdfError = audioOverlap.run()
- if sdfError < 0:
+ cgStaticError = audioOverlap.run()
+ if cgStaticError < 0:
break
- sdfError = sink.run()
- if sdfError < 0:
+ cgStaticError = sink.run()
+ if cgStaticError < 0:
break
debugCounter = debugCounter - 1
- return(nbSchedule,sdfError)
+ return(nbSchedule,cgStaticError)
diff --git a/ComputeGraph/examples/example4/test.dot b/ComputeGraph/examples/example4/test.dot
new file mode 100644
index 00000000..81a47db0
--- /dev/null
+++ b/ComputeGraph/examples/example4/test.dot
@@ -0,0 +1,143 @@
+
+
+
+
+digraph structs {
+ node [shape=plaintext]
+ rankdir=LR
+ edge [arrowsize=0.5]
+ fontname="times"
+
+
+
+arm_mult_f321 [label=<
+
+
+ | ia |
+ arm_mult_f32 (CMSIS-DSP) |
+ o |
+
+
+| ib |
+
+
+ |
+
+ >];
+
+audioOverlap [label=<
+
+
+ audioOverlap (OverlapAdd) |
+
+ >];
+
+audioWin [label=<
+
+
+ audioWin (SlidingBuffer) |
+
+ >];
+
+cfft [label=<
+>];
+
+icfft [label=<
+>];
+
+sink [label=<
+>];
+
+src [label=<
+>];
+
+toCmplx [label=<
+
+
+ toCmplx (ToComplex) |
+
+ >];
+
+toReal [label=<
+>];
+
+
+
+src:i -> audioWin:i [label="f32(256)"
+,headlabel=<>
+,taillabel=<>]
+
+audioWin:i -> arm_mult_f321:ia [label="f32(256)"
+,headlabel=<>
+,taillabel=<>]
+
+arm_mult_f321:o -> toCmplx:i [label="f32(256)"
+,headlabel=<>
+,taillabel=<>]
+
+toCmplx:i -> cfft:i [label="f32(512)"
+,headlabel=<>
+,taillabel=<>]
+
+cfft:i -> icfft:i [label="f32(512)"
+,headlabel=<>
+,taillabel=<>]
+
+icfft:i -> toReal:i [label="f32(512)"
+,headlabel=<>
+,taillabel=<>]
+
+toReal:i -> audioOverlap:i [label="f32(256)"
+,headlabel=<>
+,taillabel=<>]
+
+audioOverlap:i -> sink:i [label="f32(256)"
+,headlabel=<>
+,taillabel=<>]
+
+HANN [label=<
+>];
+
+HANN:i -> arm_mult_f321:ib
+
+}
diff --git a/SDFTools/examples/example4/test.pdf b/ComputeGraph/examples/example4/test.pdf
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example4/test.pdf
rename to ComputeGraph/examples/example4/test.pdf
diff --git a/SDFTools/examples/example5/appnodes.py b/ComputeGraph/examples/example5/appnodes.py
old mode 100755
new mode 100644
similarity index 81%
rename from SDFTools/examples/example5/appnodes.py
rename to ComputeGraph/examples/example5/appnodes.py
index 78d785ea..51974c7b
--- a/SDFTools/examples/example5/appnodes.py
+++ b/ComputeGraph/examples/example5/appnodes.py
@@ -25,16 +25,16 @@
# See the License for the specific language governing permissions and
# limitations under the License.
############################################
-from cmsisdsp.sdf.nodes.simu import *
+from cmsisdsp.cg.static.nodes.simu import *
from custom import *
# Host only nodes
-from cmsisdsp.sdf.nodes.host.NumpySink import *
-from cmsisdsp.sdf.nodes.host.WavSource import *
+from cmsisdsp.cg.static.nodes.host.NumpySink import *
+from cmsisdsp.cg.static.nodes.host.WavSource import *
# Embedded nodes
-from cmsisdsp.sdf.nodes.StereoToMono import *
-from cmsisdsp.sdf.nodes.MFCC import *
+from cmsisdsp.cg.static.nodes.StereoToMono import *
+from cmsisdsp.cg.static.nodes.MFCC import *
diff --git a/SDFTools/examples/example5/custom.py b/ComputeGraph/examples/example5/custom.py
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example5/custom.py
rename to ComputeGraph/examples/example5/custom.py
diff --git a/SDFTools/examples/example5/dynamic_image.py b/ComputeGraph/examples/example5/dynamic_image.py
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example5/dynamic_image.py
rename to ComputeGraph/examples/example5/dynamic_image.py
diff --git a/SDFTools/examples/example5/graph.py b/ComputeGraph/examples/example5/graph.py
old mode 100755
new mode 100644
similarity index 97%
rename from SDFTools/examples/example5/graph.py
rename to ComputeGraph/examples/example5/graph.py
index 3c06caec..97d7fda2
--- a/SDFTools/examples/example5/graph.py
+++ b/ComputeGraph/examples/example5/graph.py
@@ -1,6 +1,6 @@
import numpy as np
-from cmsisdsp.sdf.scheduler import *
+from cmsisdsp.cg.static.scheduler import *
from sharedconfig import *
diff --git a/SDFTools/examples/example5/main.py b/ComputeGraph/examples/example5/main.py
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example5/main.py
rename to ComputeGraph/examples/example5/main.py
diff --git a/SDFTools/examples/example5/mfcc.mp4 b/ComputeGraph/examples/example5/mfcc.mp4
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example5/mfcc.mp4
rename to ComputeGraph/examples/example5/mfcc.mp4
diff --git a/ComputeGraph/examples/example5/sched.py b/ComputeGraph/examples/example5/sched.py
new file mode 100644
index 00000000..b1b66f3d
--- /dev/null
+++ b/ComputeGraph/examples/example5/sched.py
@@ -0,0 +1,960 @@
+#
+# Generated with CMSIS-DSP Compute Graph Scripts.
+# The generated code is not covered by CMSIS-DSP license.
+#
+# The support classes and code is covered by CMSIS-DSP license.
+#
+
+import sys
+
+
+import numpy as np
+import cmsisdsp as dsp
+from cmsisdsp.cg.static.nodes.simu import *
+from appnodes import *
+from custom import *
+
+DEBUGSCHED=False
+
+#
+# FIFO buffers
+#
+
+
+FIFOSIZE0=384
+
+buf0=np.empty(FIFOSIZE0,dtype=np.int16)
+for i in range(FIFOSIZE0):
+ buf0[i] = 0
+
+FIFOSIZE1=768
+
+buf1=np.empty(FIFOSIZE1,dtype=np.int16)
+for i in range(FIFOSIZE1):
+ buf1[i] = 0
+
+FIFOSIZE2=1024
+
+buf2=np.empty(FIFOSIZE2,dtype=np.int16)
+for i in range(FIFOSIZE2):
+ buf2[i] = 0
+
+FIFOSIZE3=377
+
+buf3=np.empty(FIFOSIZE3,dtype=np.int16)
+for i in range(FIFOSIZE3):
+ buf3[i] = 0
+
+FIFOSIZE4=754
+
+buf4=np.empty(FIFOSIZE4,dtype=np.int16)
+for i in range(FIFOSIZE4):
+ buf4[i] = 0
+
+
+def scheduler(mfccConfig,dispbuf):
+ cgStaticError=0
+ nbSchedule=0
+ debugCounter=12
+
+ #
+ # Create FIFOs objects
+ #
+ fifo0=FIFO(FIFOSIZE0,buf0)
+ fifo1=FIFO(FIFOSIZE1,buf1)
+ fifo2=FIFO(FIFOSIZE2,buf2)
+ fifo3=FIFO(FIFOSIZE3,buf3)
+ fifo4=FIFO(FIFOSIZE4,buf4)
+
+ #
+ # Create node objects
+ #
+ audioWin = SlidingBuffer(1024,256,fifo1,fifo2)
+ mfcc = MFCC(1024,13,fifo2,fifo3,mfccConfig)
+ mfccWin = SlidingBuffer(754,377,fifo3,fifo4)
+ sink = NumpySink(754,fifo4,dispbuf)
+ src = WavSource(384,fifo0,True,"test_stereo.wav")
+ toMono = StereoToMono(384,192,fifo0,fifo1)
+
+ while((cgStaticError==0) and (debugCounter > 0)):
+ nbSchedule = nbSchedule + 1
+
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = src.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = toMono.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = audioWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfcc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = mfccWin.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sink.run()
+ if cgStaticError < 0:
+ break
+
+ debugCounter = debugCounter - 1
+ return(nbSchedule,cgStaticError)
diff --git a/SDFTools/examples/example5/sharedconfig.py b/ComputeGraph/examples/example5/sharedconfig.py
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example5/sharedconfig.py
rename to ComputeGraph/examples/example5/sharedconfig.py
diff --git a/ComputeGraph/examples/example5/test.dot b/ComputeGraph/examples/example5/test.dot
new file mode 100644
index 00000000..161ca823
--- /dev/null
+++ b/ComputeGraph/examples/example5/test.dot
@@ -0,0 +1,87 @@
+
+
+
+
+digraph structs {
+ node [shape=plaintext]
+ rankdir=LR
+ edge [arrowsize=0.5]
+ fontname="times"
+
+
+audioWin [label=<
+
+
+ audioWin (SlidingBuffer) |
+
+ >];
+
+mfcc [label=<
+>];
+
+mfccWin [label=<
+
+
+ mfccWin (SlidingBuffer) |
+
+ >];
+
+sink [label=<
+>];
+
+src [label=<
+>];
+
+toMono [label=<
+
+
+ toMono (StereoToMono) |
+
+ >];
+
+
+
+src:i -> toMono:i [label="q15(384)"
+,headlabel=<>
+,taillabel=<>]
+
+toMono:i -> audioWin:i [label="q15(768)"
+,headlabel=<>
+,taillabel=<>]
+
+audioWin:i -> mfcc:i [label="q15(1024)"
+,headlabel=<>
+,taillabel=<>]
+
+mfcc:i -> mfccWin:i [label="q15(377)"
+,headlabel=<>
+,taillabel=<>]
+
+mfccWin:i -> sink:i [label="q15(754)"
+,headlabel=<>
+,taillabel=<>]
+
+
+}
diff --git a/SDFTools/examples/example5/test.pdf b/ComputeGraph/examples/example5/test.pdf
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example5/test.pdf
rename to ComputeGraph/examples/example5/test.pdf
diff --git a/SDFTools/examples/example5/test_stereo.wav b/ComputeGraph/examples/example5/test_stereo.wav
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example5/test_stereo.wav
rename to ComputeGraph/examples/example5/test_stereo.wav
diff --git a/SDFTools/examples/example6/AppNodes.h b/ComputeGraph/examples/example6/AppNodes.h
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example6/AppNodes.h
rename to ComputeGraph/examples/example6/AppNodes.h
diff --git a/SDFTools/examples/example6/CMakeLists.txt b/ComputeGraph/examples/example6/CMakeLists.txt
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example6/CMakeLists.txt
rename to ComputeGraph/examples/example6/CMakeLists.txt
diff --git a/SDFTools/examples/example6/custom.h b/ComputeGraph/examples/example6/custom.h
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example6/custom.h
rename to ComputeGraph/examples/example6/custom.h
diff --git a/SDFTools/examples/example6/generated/scheduler.cpp b/ComputeGraph/examples/example6/generated/scheduler.cpp
old mode 100755
new mode 100644
similarity index 69%
rename from SDFTools/examples/example6/generated/scheduler.cpp
rename to ComputeGraph/examples/example6/generated/scheduler.cpp
index 137d3514..40c9496c
--- a/SDFTools/examples/example6/generated/scheduler.cpp
+++ b/ComputeGraph/examples/example6/generated/scheduler.cpp
@@ -1,6 +1,6 @@
/*
-Generated with CMSIS-DSP SDF Scripts.
+Generated with CMSIS-DSP Compute Graph Scripts.
The generated code is not covered by CMSIS-DSP license.
The support classes and code is covered by CMSIS-DSP license.
@@ -39,7 +39,7 @@ float32_t buf3[BUFFERSIZE3]={0};
uint32_t scheduler(int *error,arm_mfcc_instance_f32 *mfccConfig)
{
- int sdfError=0;
+ int cgStaticError=0;
uint32_t nbSchedule=0;
int32_t debugCounter=1;
@@ -61,47 +61,47 @@ uint32_t scheduler(int *error,arm_mfcc_instance_f32 *mfccConfig)
FileSource src(fifo0,"input_example6.txt");
/* Run several schedule iterations */
- while((sdfError==0) && (debugCounter > 0))
+ while((cgStaticError==0) && (debugCounter > 0))
{
/* Run a schedule iteration */
- sdfError = src.run();
+ cgStaticError = src.run();
CHECKERROR;
- sdfError = audioWin.run();
+ cgStaticError = audioWin.run();
CHECKERROR;
- sdfError = mfcc.run();
+ cgStaticError = mfcc.run();
CHECKERROR;
- sdfError = mfccWin.run();
+ cgStaticError = mfccWin.run();
CHECKERROR;
- sdfError = sink.run();
+ cgStaticError = sink.run();
CHECKERROR;
- sdfError = sink.run();
+ cgStaticError = sink.run();
CHECKERROR;
- sdfError = src.run();
+ cgStaticError = src.run();
CHECKERROR;
- sdfError = audioWin.run();
+ cgStaticError = audioWin.run();
CHECKERROR;
- sdfError = mfcc.run();
+ cgStaticError = mfcc.run();
CHECKERROR;
- sdfError = mfccWin.run();
+ cgStaticError = mfccWin.run();
CHECKERROR;
- sdfError = sink.run();
+ cgStaticError = sink.run();
CHECKERROR;
- sdfError = sink.run();
+ cgStaticError = sink.run();
CHECKERROR;
- sdfError = audioWin.run();
+ cgStaticError = audioWin.run();
CHECKERROR;
- sdfError = mfcc.run();
+ cgStaticError = mfcc.run();
CHECKERROR;
- sdfError = mfccWin.run();
+ cgStaticError = mfccWin.run();
CHECKERROR;
- sdfError = sink.run();
+ cgStaticError = sink.run();
CHECKERROR;
- sdfError = sink.run();
+ cgStaticError = sink.run();
CHECKERROR;
debugCounter--;
nbSchedule++;
}
- *error=sdfError;
+ *error=cgStaticError;
return(nbSchedule);
}
diff --git a/SDFTools/examples/example6/generated/scheduler.h b/ComputeGraph/examples/example6/generated/scheduler.h
old mode 100755
new mode 100644
similarity index 86%
rename from SDFTools/examples/example6/generated/scheduler.h
rename to ComputeGraph/examples/example6/generated/scheduler.h
index ce6845ae..df2238b7
--- a/SDFTools/examples/example6/generated/scheduler.h
+++ b/ComputeGraph/examples/example6/generated/scheduler.h
@@ -1,6 +1,6 @@
/*
-Generated with CMSIS-DSP SDF Scripts.
+Generated with CMSIS-DSP Compute Graph Scripts.
The generated code is not covered by CMSIS-DSP license.
The support classes and code is covered by CMSIS-DSP license.
diff --git a/SDFTools/examples/example6/graph.py b/ComputeGraph/examples/example6/graph.py
old mode 100755
new mode 100644
similarity index 96%
rename from SDFTools/examples/example6/graph.py
rename to ComputeGraph/examples/example6/graph.py
index 1e016c49..fd3755e3
--- a/SDFTools/examples/example6/graph.py
+++ b/ComputeGraph/examples/example6/graph.py
@@ -1,6 +1,6 @@
import numpy as np
-from cmsisdsp.sdf.scheduler import *
+from cmsisdsp.cg.static.scheduler import *
from sharedconfig import *
diff --git a/SDFTools/examples/example6/input_example6.txt b/ComputeGraph/examples/example6/input_example6.txt
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example6/input_example6.txt
rename to ComputeGraph/examples/example6/input_example6.txt
diff --git a/SDFTools/examples/example6/main.cpp b/ComputeGraph/examples/example6/main.cpp
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example6/main.cpp
rename to ComputeGraph/examples/example6/main.cpp
diff --git a/SDFTools/examples/example6/mfccConfigData.c b/ComputeGraph/examples/example6/mfccConfigData.c
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example6/mfccConfigData.c
rename to ComputeGraph/examples/example6/mfccConfigData.c
diff --git a/SDFTools/examples/example6/mfccConfigData.h b/ComputeGraph/examples/example6/mfccConfigData.h
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example6/mfccConfigData.h
rename to ComputeGraph/examples/example6/mfccConfigData.h
diff --git a/SDFTools/examples/example6/mfccconfig.yaml b/ComputeGraph/examples/example6/mfccconfig.yaml
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example6/mfccconfig.yaml
rename to ComputeGraph/examples/example6/mfccconfig.yaml
diff --git a/SDFTools/examples/example6/sharedconfig.py b/ComputeGraph/examples/example6/sharedconfig.py
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example6/sharedconfig.py
rename to ComputeGraph/examples/example6/sharedconfig.py
diff --git a/ComputeGraph/examples/example6/test.dot b/ComputeGraph/examples/example6/test.dot
new file mode 100644
index 00000000..7f94d69f
--- /dev/null
+++ b/ComputeGraph/examples/example6/test.dot
@@ -0,0 +1,74 @@
+
+
+
+
+digraph structs {
+ node [shape=plaintext]
+ rankdir=LR
+ edge [arrowsize=0.5]
+ fontname="times"
+
+
+audioWin [label=<
+
+
+ audioWin (SlidingBuffer) |
+
+ >];
+
+mfcc [label=<
+>];
+
+mfccWin [label=<
+
+
+ mfccWin (SlidingBuffer) |
+
+ >];
+
+sink [label=<
+>];
+
+src [label=<
+>];
+
+
+
+src:i -> audioWin:i [label="f32(256)"
+,headlabel=<>
+,taillabel=<>]
+
+audioWin:i -> mfcc:i [label="f32(256)"
+,headlabel=<>
+,taillabel=<>]
+
+mfcc:i -> mfccWin:i [label="f32(13)"
+,headlabel=<>
+,taillabel=<>]
+
+mfccWin:i -> sink:i [label="f32(26)"
+,headlabel=<>
+,taillabel=<>]
+
+
+}
diff --git a/SDFTools/examples/example6/test.pdf b/ComputeGraph/examples/example6/test.pdf
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example6/test.pdf
rename to ComputeGraph/examples/example6/test.pdf
diff --git a/SDFTools/examples/example7/PythonTest.mo b/ComputeGraph/examples/example7/PythonTest.mo
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example7/PythonTest.mo
rename to ComputeGraph/examples/example7/PythonTest.mo
diff --git a/SDFTools/examples/example7/appnodes.py b/ComputeGraph/examples/example7/appnodes.py
old mode 100755
new mode 100644
similarity index 73%
rename from SDFTools/examples/example7/appnodes.py
rename to ComputeGraph/examples/example7/appnodes.py
index d8a13f84..1bea427e
--- a/SDFTools/examples/example7/appnodes.py
+++ b/ComputeGraph/examples/example7/appnodes.py
@@ -25,17 +25,17 @@
# See the License for the specific language governing permissions and
# limitations under the License.
############################################
-from cmsisdsp.sdf.nodes.simu import *
+from cmsisdsp.cg.static.nodes.simu import *
from custom import *
-from cmsisdsp.sdf.nodes.host.FileSink import *
-from cmsisdsp.sdf.nodes.host.FileSource import *
-from cmsisdsp.sdf.nodes.CFFT import *
-from cmsisdsp.sdf.nodes.ICFFT import *
-from cmsisdsp.sdf.nodes.ToComplex import *
-from cmsisdsp.sdf.nodes.ToReal import *
+from cmsisdsp.cg.static.nodes.host.FileSink import *
+from cmsisdsp.cg.static.nodes.host.FileSource import *
+from cmsisdsp.cg.static.nodes.CFFT import *
+from cmsisdsp.cg.static.nodes.ICFFT import *
+from cmsisdsp.cg.static.nodes.ToComplex import *
+from cmsisdsp.cg.static.nodes.ToReal import *
-from cmsisdsp.sdf.nodes.host.VHTSDF import *
+from cmsisdsp.cg.static.nodes.host.VHTCGSTATIC import *
diff --git a/SDFTools/examples/example7/custom.py b/ComputeGraph/examples/example7/custom.py
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example7/custom.py
rename to ComputeGraph/examples/example7/custom.py
diff --git a/SDFTools/examples/example7/graph.py b/ComputeGraph/examples/example7/graph.py
old mode 100755
new mode 100644
similarity index 96%
rename from SDFTools/examples/example7/graph.py
rename to ComputeGraph/examples/example7/graph.py
index cadd7d19..cc1174ad
--- a/SDFTools/examples/example7/graph.py
+++ b/ComputeGraph/examples/example7/graph.py
@@ -1,6 +1,6 @@
import numpy as np
-from cmsisdsp.sdf.scheduler import *
+from cmsisdsp.cg.static.scheduler import *
class Processing(GenericNode):
diff --git a/SDFTools/examples/example7/main.py b/ComputeGraph/examples/example7/main.py
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example7/main.py
rename to ComputeGraph/examples/example7/main.py
diff --git a/SDFTools/examples/example7/sched.py b/ComputeGraph/examples/example7/sched.py
old mode 100755
new mode 100644
similarity index 69%
rename from SDFTools/examples/example7/sched.py
rename to ComputeGraph/examples/example7/sched.py
index 31fefd36..ca78473a
--- a/SDFTools/examples/example7/sched.py
+++ b/ComputeGraph/examples/example7/sched.py
@@ -1,5 +1,5 @@
#
-# Generated with CMSIS-DSP SDF Scripts.
+# Generated with CMSIS-DSP Compute Graph Scripts.
# The generated code is not covered by CMSIS-DSP license.
#
# The support classes and code is covered by CMSIS-DSP license.
@@ -10,7 +10,7 @@ import sys
import numpy as np
import cmsisdsp as dsp
-from cmsisdsp.sdf.nodes.simu import *
+from cmsisdsp.cg.static.nodes.simu import *
from appnodes import *
from custom import *
@@ -35,7 +35,7 @@ for i in range(FIFOSIZE1):
def scheduler():
- sdfError=0
+ cgStaticError=0
nbSchedule=0
#
@@ -51,17 +51,17 @@ def scheduler():
sink = VHTSink(128,fifo1,0)
src = VHTSource(128,fifo0,0)
- while(sdfError==0):
+ while(cgStaticError==0):
nbSchedule = nbSchedule + 1
- sdfError = src.run()
- if sdfError < 0:
+ cgStaticError = src.run()
+ if cgStaticError < 0:
break
- sdfError = proc.run()
- if sdfError < 0:
+ cgStaticError = proc.run()
+ if cgStaticError < 0:
break
- sdfError = sink.run()
- if sdfError < 0:
+ cgStaticError = sink.run()
+ if cgStaticError < 0:
break
- return(nbSchedule,sdfError)
+ return(nbSchedule,cgStaticError)
diff --git a/SDFTools/examples/example7/test.dot b/ComputeGraph/examples/example7/test.dot
old mode 100755
new mode 100644
similarity index 52%
rename from SDFTools/examples/example7/test.dot
rename to ComputeGraph/examples/example7/test.dot
index 4c9f81f7..934124e9
--- a/SDFTools/examples/example7/test.dot
+++ b/ComputeGraph/examples/example7/test.dot
@@ -1,6 +1,7 @@
+
digraph structs {
node [shape=plaintext]
rankdir=LR
@@ -31,17 +32,17 @@ src [label=<
-src:i -> proc:i [headlabel=<
->,taillabel=<
->,label="q15(128)"]
+src:i -> proc:i [label="q15(128)"
+,headlabel=<>
+,taillabel=<>]
-proc:i -> sink:i [headlabel=<
->,taillabel=<
->,label="q15(128)"]
+proc:i -> sink:i [label="q15(128)"
+,headlabel=<>
+,taillabel=<>]
}
diff --git a/SDFTools/examples/example7/test.pdf b/ComputeGraph/examples/example7/test.pdf
old mode 100755
new mode 100644
similarity index 100%
rename from SDFTools/examples/example7/test.pdf
rename to ComputeGraph/examples/example7/test.pdf
diff --git a/SDFTools/examples/example8/AppNodes.h b/ComputeGraph/examples/example8/AppNodes.h
similarity index 100%
rename from SDFTools/examples/example8/AppNodes.h
rename to ComputeGraph/examples/example8/AppNodes.h
diff --git a/SDFTools/examples/example8/CMakeLists.txt b/ComputeGraph/examples/example8/CMakeLists.txt
similarity index 100%
rename from SDFTools/examples/example8/CMakeLists.txt
rename to ComputeGraph/examples/example8/CMakeLists.txt
diff --git a/SDFTools/examples/example8/appnodes.py b/ComputeGraph/examples/example8/appnodes.py
similarity index 96%
rename from SDFTools/examples/example8/appnodes.py
rename to ComputeGraph/examples/example8/appnodes.py
index a020d69e..67125505 100644
--- a/SDFTools/examples/example8/appnodes.py
+++ b/ComputeGraph/examples/example8/appnodes.py
@@ -25,9 +25,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
############################################
-from cmsisdsp.sdf.nodes.simu import *
+from cmsisdsp.cg.static.nodes.simu import *
from custom import *
-from cmsisdsp.sdf.nodes.Duplicate import *
+from cmsisdsp.cg.static.nodes.Duplicate import *
class Sink(GenericSink):
def __init__(self,inputSize,fifoin):
diff --git a/SDFTools/examples/example8/custom.h b/ComputeGraph/examples/example8/custom.h
similarity index 100%
rename from SDFTools/examples/example8/custom.h
rename to ComputeGraph/examples/example8/custom.h
diff --git a/SDFTools/examples/example8/custom.py b/ComputeGraph/examples/example8/custom.py
similarity index 100%
rename from SDFTools/examples/example8/custom.py
rename to ComputeGraph/examples/example8/custom.py
diff --git a/SDFTools/examples/example8/generated/scheduler.cpp b/ComputeGraph/examples/example8/generated/scheduler.cpp
similarity index 62%
rename from SDFTools/examples/example8/generated/scheduler.cpp
rename to ComputeGraph/examples/example8/generated/scheduler.cpp
index 0a75cf66..ddb77a4a 100644
--- a/SDFTools/examples/example8/generated/scheduler.cpp
+++ b/ComputeGraph/examples/example8/generated/scheduler.cpp
@@ -1,6 +1,6 @@
/*
-Generated with CMSIS-DSP SDF Scripts.
+Generated with CMSIS-DSP Compute Graph Scripts.
The generated code is not covered by CMSIS-DSP license.
The support classes and code is covered by CMSIS-DSP license.
@@ -47,7 +47,7 @@ complex buf5[BUFFERSIZE5]={0};
uint32_t scheduler(int *error,int someVariable)
{
- int sdfError=0;
+ int cgStaticError=0;
uint32_t nbSchedule=0;
int32_t debugCounter=1;
@@ -73,87 +73,87 @@ uint32_t scheduler(int *error,int someVariable)
Source source(fifo0);
/* Run several schedule iterations */
- while((sdfError==0) && (debugCounter > 0))
+ while((cgStaticError==0) && (debugCounter > 0))
{
/* Run a schedule iteration */
- sdfError = source.run();
+ cgStaticError = source.run();
CHECKERROR;
- sdfError = source.run();
+ cgStaticError = source.run();
CHECKERROR;
- sdfError = filter.run();
+ cgStaticError = filter.run();
CHECKERROR;
- sdfError = sd.run();
+ cgStaticError = sd.run();
CHECKERROR;
- sdfError = dup0.run();
+ cgStaticError = dup0.run();
CHECKERROR;
- sdfError = sc.run();
+ cgStaticError = sc.run();
CHECKERROR;
- sdfError = sb.run();
+ cgStaticError = sb.run();
CHECKERROR;
- sdfError = sa.run();
+ cgStaticError = sa.run();
CHECKERROR;
- sdfError = source.run();
+ cgStaticError = source.run();
CHECKERROR;
- sdfError = filter.run();
+ cgStaticError = filter.run();
CHECKERROR;
- sdfError = source.run();
+ cgStaticError = source.run();
CHECKERROR;
- sdfError = sd.run();
+ cgStaticError = sd.run();
CHECKERROR;
- sdfError = dup0.run();
+ cgStaticError = dup0.run();
CHECKERROR;
- sdfError = sc.run();
+ cgStaticError = sc.run();
CHECKERROR;
- sdfError = sb.run();
+ cgStaticError = sb.run();
CHECKERROR;
- sdfError = sa.run();
+ cgStaticError = sa.run();
CHECKERROR;
- sdfError = source.run();
+ cgStaticError = source.run();
CHECKERROR;
- sdfError = filter.run();
+ cgStaticError = filter.run();
CHECKERROR;
- sdfError = sd.run();
+ cgStaticError = sd.run();
CHECKERROR;
- sdfError = dup0.run();
+ cgStaticError = dup0.run();
CHECKERROR;
- sdfError = sc.run();
+ cgStaticError = sc.run();
CHECKERROR;
- sdfError = sb.run();
+ cgStaticError = sb.run();
CHECKERROR;
- sdfError = sa.run();
+ cgStaticError = sa.run();
CHECKERROR;
- sdfError = source.run();
+ cgStaticError = source.run();
CHECKERROR;
- sdfError = filter.run();
+ cgStaticError = filter.run();
CHECKERROR;
- sdfError = source.run();
+ cgStaticError = source.run();
CHECKERROR;
- sdfError = sd.run();
+ cgStaticError = sd.run();
CHECKERROR;
- sdfError = dup0.run();
+ cgStaticError = dup0.run();
CHECKERROR;
- sdfError = sc.run();
+ cgStaticError = sc.run();
CHECKERROR;
- sdfError = sb.run();
+ cgStaticError = sb.run();
CHECKERROR;
- sdfError = sa.run();
+ cgStaticError = sa.run();
CHECKERROR;
- sdfError = filter.run();
+ cgStaticError = filter.run();
CHECKERROR;
- sdfError = sd.run();
+ cgStaticError = sd.run();
CHECKERROR;
- sdfError = dup0.run();
+ cgStaticError = dup0.run();
CHECKERROR;
- sdfError = sc.run();
+ cgStaticError = sc.run();
CHECKERROR;
- sdfError = sb.run();
+ cgStaticError = sb.run();
CHECKERROR;
- sdfError = sa.run();
+ cgStaticError = sa.run();
CHECKERROR;
debugCounter--;
nbSchedule++;
}
- *error=sdfError;
+ *error=cgStaticError;
return(nbSchedule);
}
diff --git a/SDFTools/examples/example8/generated/scheduler.h b/ComputeGraph/examples/example8/generated/scheduler.h
similarity index 86%
rename from SDFTools/examples/example8/generated/scheduler.h
rename to ComputeGraph/examples/example8/generated/scheduler.h
index 7f544ec6..3a0f0ccc 100644
--- a/SDFTools/examples/example8/generated/scheduler.h
+++ b/ComputeGraph/examples/example8/generated/scheduler.h
@@ -1,6 +1,6 @@
/*
-Generated with CMSIS-DSP SDF Scripts.
+Generated with CMSIS-DSP Compute Graph Scripts.
The generated code is not covered by CMSIS-DSP license.
The support classes and code is covered by CMSIS-DSP license.
diff --git a/SDFTools/examples/example8/graph.py b/ComputeGraph/examples/example8/graph.py
similarity index 96%
rename from SDFTools/examples/example8/graph.py
rename to ComputeGraph/examples/example8/graph.py
index a8c84851..270dff3f 100644
--- a/SDFTools/examples/example8/graph.py
+++ b/ComputeGraph/examples/example8/graph.py
@@ -1,14 +1,18 @@
-from cmsisdsp.sdf.scheduler import *
+from cmsisdsp.cg.static.scheduler import *
### Define new types of Nodes
-class Node(GenericNode):
+class ProcessingNode(GenericNode):
def __init__(self,name,theType,inLength,outLength):
GenericNode.__init__(self,name)
self.addInput("i",theType,inLength)
self.addOutput("oa",theType,outLength)
self.addOutput("ob",theType,outLength)
+ @property
+ def typeName(self):
+ return "ProcessingNode"
+
class Sink(GenericSink):
def __init__(self,name,theType,inLength):
GenericSink.__init__(self,name)
@@ -27,11 +31,6 @@ class Source(GenericSource):
def typeName(self):
return "Source"
-class ProcessingNode(Node):
- @property
- def typeName(self):
- return "ProcessingNode"
-
### Define nodes
@@ -55,6 +54,7 @@ nb = Sink("sb",complexType,5)
nc = Sink("sc",complexType,5)
nd = Sink("sd",complexType,5)
+
#dup=Duplicate3("dup",complexType,5)
g = Graph()
diff --git a/SDFTools/examples/example8/main.cpp b/ComputeGraph/examples/example8/main.cpp
similarity index 100%
rename from SDFTools/examples/example8/main.cpp
rename to ComputeGraph/examples/example8/main.cpp
diff --git a/SDFTools/examples/example8/main.py b/ComputeGraph/examples/example8/main.py
similarity index 100%
rename from SDFTools/examples/example8/main.py
rename to ComputeGraph/examples/example8/main.py
diff --git a/ComputeGraph/examples/example8/sched.py b/ComputeGraph/examples/example8/sched.py
new file mode 100644
index 00000000..8976a704
--- /dev/null
+++ b/ComputeGraph/examples/example8/sched.py
@@ -0,0 +1,203 @@
+#
+# Generated with CMSIS-DSP Compute Graph Scripts.
+# The generated code is not covered by CMSIS-DSP license.
+#
+# The support classes and code is covered by CMSIS-DSP license.
+#
+
+import sys
+
+
+import numpy as np
+import cmsisdsp as dsp
+from cmsisdsp.cg.static.nodes.simu import *
+from appnodes import *
+from custom import *
+
+DEBUGSCHED=False
+
+#
+# FIFO buffers
+#
+
+
+FIFOSIZE0=11
+
+buf0=np.empty(FIFOSIZE0,dtype=object)
+for i in range(FIFOSIZE0):
+ buf0[i] = MyComplex()
+
+FIFOSIZE1=5
+
+buf1=np.empty(FIFOSIZE1,dtype=object)
+for i in range(FIFOSIZE1):
+ buf1[i] = MyComplex()
+
+FIFOSIZE2=5
+
+buf2=np.empty(FIFOSIZE2,dtype=object)
+for i in range(FIFOSIZE2):
+ buf2[i] = MyComplex()
+
+FIFOSIZE3=5
+
+buf3=np.empty(FIFOSIZE3,dtype=object)
+for i in range(FIFOSIZE3):
+ buf3[i] = MyComplex()
+
+FIFOSIZE4=5
+
+buf4=np.empty(FIFOSIZE4,dtype=object)
+for i in range(FIFOSIZE4):
+ buf4[i] = MyComplex()
+
+FIFOSIZE5=5
+
+buf5=np.empty(FIFOSIZE5,dtype=object)
+for i in range(FIFOSIZE5):
+ buf5[i] = MyComplex()
+
+
+def scheduler(someVariable):
+ cgStaticError=0
+ nbSchedule=0
+ debugCounter=1
+
+ #
+ # Create FIFOs objects
+ #
+ fifo0=FIFO(FIFOSIZE0,buf0)
+ fifo1=FIFO(FIFOSIZE1,buf1)
+ fifo2=FIFO(FIFOSIZE2,buf2)
+ fifo3=FIFO(FIFOSIZE3,buf3)
+ fifo4=FIFO(FIFOSIZE4,buf4)
+ fifo5=FIFO(FIFOSIZE5,buf5)
+
+ #
+ # Create node objects
+ #
+ dup0 = Duplicate3(5,5,5,5,fifo2,fifo3,fifo4,fifo5)
+ filter = ProcessingNode(7,5,5,fifo0,fifo2,fifo1,4,"Test",someVariable)
+ sa = Sink(5,fifo3)
+ sb = Sink(5,fifo4)
+ sc = Sink(5,fifo5)
+ sd = Sink(5,fifo1)
+ source = Source(5,fifo0)
+
+ while((cgStaticError==0) and (debugCounter > 0)):
+ nbSchedule = nbSchedule + 1
+
+ cgStaticError = source.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = source.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = filter.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sd.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = dup0.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sb.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sa.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = source.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = filter.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = source.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sd.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = dup0.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sb.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sa.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = source.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = filter.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sd.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = dup0.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sb.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sa.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = source.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = filter.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = source.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sd.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = dup0.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sb.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sa.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = filter.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sd.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = dup0.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sc.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sb.run()
+ if cgStaticError < 0:
+ break
+ cgStaticError = sa.run()
+ if cgStaticError < 0:
+ break
+
+ debugCounter = debugCounter - 1
+ return(nbSchedule,cgStaticError)
diff --git a/SDFTools/examples/example8/test.dot b/ComputeGraph/examples/example8/test.dot
similarity index 100%
rename from SDFTools/examples/example8/test.dot
rename to ComputeGraph/examples/example8/test.dot
diff --git a/SDFTools/examples/example8/test.pdf b/ComputeGraph/examples/example8/test.pdf
similarity index 100%
rename from SDFTools/examples/example8/test.pdf
rename to ComputeGraph/examples/example8/test.pdf
diff --git a/MANIFEST.in b/MANIFEST.in
index c05f6a46..ce69175a 100755
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -2,6 +2,6 @@ include PythonWrapper_README.md
recursive-include Include *.h
recursive-include PrivateInclude *.h
recursive-include PythonWrapper/cmsisdsp_pkg/src *.h
-include cmsisdsp/sdf/scheduler/templates/*
+include cmsisdsp/cg/static/scheduler/templates/*
include Source/DistanceFunctions/arm_boolean_distance_template.h
diff --git a/SDFTools/ARM.SDF.0.3.0.pack b/SDFTools/ARM.SDF.0.3.0.pack
deleted file mode 100755
index d0b958b3..00000000
Binary files a/SDFTools/ARM.SDF.0.3.0.pack and /dev/null differ
diff --git a/SDFTools/ARM.SDF.pdsc b/SDFTools/ARM.SDF.pdsc
deleted file mode 100755
index 54fe9435..00000000
--- a/SDFTools/ARM.SDF.pdsc
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-
- SDF
- Synchronous Data Flow for CMSIS-DSP
- ARM
-
- http://www.keil.com/pack/
-
-
-
- Refactor of the pack
-
-
- Adding support for VHT platform
-
-
- First version of Synchronous Data Flow
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- SDF core files for CMSIS-DSP
-
-
-
-
-
-
-
-
-
- Streaming nodes for SDF
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Audio Source and Sink for VHT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Video Source for VHT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/SDFTools/LICENSE.txt b/SDFTools/LICENSE.txt
deleted file mode 100755
index 8dada3ed..00000000
--- a/SDFTools/LICENSE.txt
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "{}"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright {yyyy} {name of copyright owner}
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/SDFTools/examples/build/create.bat b/SDFTools/examples/build/create.bat
deleted file mode 100755
index 1e167b9f..00000000
--- a/SDFTools/examples/build/create.bat
+++ /dev/null
@@ -1,4 +0,0 @@
-cmake -DHOST=YES ^
- -DDOT="path to dot.EXE" ^
- -DCMSISCORE="path to cmsis core" ^
- -G "Unix Makefiles" ..
\ No newline at end of file
diff --git a/SDFTools/examples/build/create.sh b/SDFTools/examples/build/create.sh
deleted file mode 100755
index ae2c2480..00000000
--- a/SDFTools/examples/build/create.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-cmake -DHOST=YES \
- -DDOT="path to dot.EXE" \
- -DCMSISCORE="path to cmsis core" \
- -G "Unix Makefiles" ..
\ No newline at end of file
diff --git a/SDFTools/examples/example3/test.dot b/SDFTools/examples/example3/test.dot
deleted file mode 100755
index 87632a28..00000000
--- a/SDFTools/examples/example3/test.dot
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
-digraph structs {
- node [shape=plaintext]
- rankdir=LR
- edge [arrowsize=0.5]
- fontname="times"
-
-
-
-arm_mult_f321 [label=<
-
-
- | ia |
- arm_mult_f32 (CMSIS-DSP) |
- o |
-
-
-| ib |
-
-
- |
-
- >];
-
-audioOverlap [label=<
-
-
- audioOverlap (OverlapAdd) |
-
- >];
-
-audioWin [label=<
-
-
- audioWin (SlidingBuffer) |
-
- >];
-
-cfft [label=<
->];
-
-icfft [label=<
->];
-
-sink [label=<
->];
-
-src [label=<
->];
-
-toCmplx [label=<
-
-
- toCmplx (ToComplex) |
-
- >];
-
-toReal [label=<
->];
-
-
-
-src:i -> audioWin:i [headlabel=<
->,taillabel=<
->,label="f32(256)"]
-
-audioWin:i -> arm_mult_f321:ia [headlabel=<
->,taillabel=<
->,label="f32(256)"]
-
-arm_mult_f321:o -> toCmplx:i [headlabel=<
->,taillabel=<
->,label="f32(256)"]
-
-toCmplx:i -> cfft:i [headlabel=<
->,taillabel=<
->,label="f32(512)"]
-
-cfft:i -> icfft:i [headlabel=<
->,taillabel=<
->,label="f32(512)"]
-
-icfft:i -> toReal:i [headlabel=<
->,taillabel=<
->,label="f32(512)"]
-
-toReal:i -> audioOverlap:i [headlabel=<
->,taillabel=<
->,label="f32(256)"]
-
-audioOverlap:i -> sink:i [headlabel=<
->,taillabel=<
->,label="f32(256)"]
-
-HANN [label=<
->];
-
-HANN:i -> arm_mult_f321:ib
-
-}
diff --git a/SDFTools/examples/example4/test.dot b/SDFTools/examples/example4/test.dot
deleted file mode 100755
index 87632a28..00000000
--- a/SDFTools/examples/example4/test.dot
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
-digraph structs {
- node [shape=plaintext]
- rankdir=LR
- edge [arrowsize=0.5]
- fontname="times"
-
-
-
-arm_mult_f321 [label=<
-
-
- | ia |
- arm_mult_f32 (CMSIS-DSP) |
- o |
-
-
-| ib |
-
-
- |
-
- >];
-
-audioOverlap [label=<
-
-
- audioOverlap (OverlapAdd) |
-
- >];
-
-audioWin [label=<
-
-
- audioWin (SlidingBuffer) |
-
- >];
-
-cfft [label=<
->];
-
-icfft [label=<
->];
-
-sink [label=<
->];
-
-src [label=<
->];
-
-toCmplx [label=<
-
-
- toCmplx (ToComplex) |
-
- >];
-
-toReal [label=<
->];
-
-
-
-src:i -> audioWin:i [headlabel=<
->,taillabel=<
->,label="f32(256)"]
-
-audioWin:i -> arm_mult_f321:ia [headlabel=<
->,taillabel=<
->,label="f32(256)"]
-
-arm_mult_f321:o -> toCmplx:i [headlabel=<
->,taillabel=<
->,label="f32(256)"]
-
-toCmplx:i -> cfft:i [headlabel=<
->,taillabel=<
->,label="f32(512)"]
-
-cfft:i -> icfft:i [headlabel=<
->,taillabel=<
->,label="f32(512)"]
-
-icfft:i -> toReal:i [headlabel=<
->,taillabel=<
->,label="f32(512)"]
-
-toReal:i -> audioOverlap:i [headlabel=<
->,taillabel=<
->,label="f32(256)"]
-
-audioOverlap:i -> sink:i [headlabel=<
->,taillabel=<
->,label="f32(256)"]
-
-HANN [label=<
->];
-
-HANN:i -> arm_mult_f321:ib
-
-}
diff --git a/SDFTools/examples/example5/sched.py b/SDFTools/examples/example5/sched.py
deleted file mode 100755
index 6e59502f..00000000
--- a/SDFTools/examples/example5/sched.py
+++ /dev/null
@@ -1,960 +0,0 @@
-#
-# Generated with CMSIS-DSP SDF Scripts.
-# The generated code is not covered by CMSIS-DSP license.
-#
-# The support classes and code is covered by CMSIS-DSP license.
-#
-
-import sys
-
-
-import numpy as np
-import cmsisdsp as dsp
-from cmsisdsp.sdf.nodes.simu import *
-from appnodes import *
-from custom import *
-
-DEBUGSCHED=False
-
-#
-# FIFO buffers
-#
-
-
-FIFOSIZE0=384
-
-buf0=np.empty(FIFOSIZE0,dtype=np.int16)
-for i in range(FIFOSIZE0):
- buf0[i] = 0
-
-FIFOSIZE1=768
-
-buf1=np.empty(FIFOSIZE1,dtype=np.int16)
-for i in range(FIFOSIZE1):
- buf1[i] = 0
-
-FIFOSIZE2=1024
-
-buf2=np.empty(FIFOSIZE2,dtype=np.int16)
-for i in range(FIFOSIZE2):
- buf2[i] = 0
-
-FIFOSIZE3=377
-
-buf3=np.empty(FIFOSIZE3,dtype=np.int16)
-for i in range(FIFOSIZE3):
- buf3[i] = 0
-
-FIFOSIZE4=754
-
-buf4=np.empty(FIFOSIZE4,dtype=np.int16)
-for i in range(FIFOSIZE4):
- buf4[i] = 0
-
-
-def scheduler(mfccConfig,dispbuf):
- sdfError=0
- nbSchedule=0
- debugCounter=12
-
- #
- # Create FIFOs objects
- #
- fifo0=FIFO(FIFOSIZE0,buf0)
- fifo1=FIFO(FIFOSIZE1,buf1)
- fifo2=FIFO(FIFOSIZE2,buf2)
- fifo3=FIFO(FIFOSIZE3,buf3)
- fifo4=FIFO(FIFOSIZE4,buf4)
-
- #
- # Create node objects
- #
- audioWin = SlidingBuffer(1024,256,fifo1,fifo2)
- mfcc = MFCC(1024,13,fifo2,fifo3,mfccConfig)
- mfccWin = SlidingBuffer(754,377,fifo3,fifo4)
- sink = NumpySink(754,fifo4,dispbuf)
- src = WavSource(384,fifo0,True,"test_stereo.wav")
- toMono = StereoToMono(384,192,fifo0,fifo1)
-
- while((sdfError==0) and (debugCounter > 0)):
- nbSchedule = nbSchedule + 1
-
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = toMono.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
- sdfError = mfcc.run()
- if sdfError < 0:
- break
- sdfError = mfccWin.run()
- if sdfError < 0:
- break
- sdfError = sink.run()
- if sdfError < 0:
- break
-
- debugCounter = debugCounter - 1
- return(nbSchedule,sdfError)
diff --git a/SDFTools/examples/example5/test.dot b/SDFTools/examples/example5/test.dot
deleted file mode 100755
index b28b8dee..00000000
--- a/SDFTools/examples/example5/test.dot
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
-digraph structs {
- node [shape=plaintext]
- rankdir=LR
- edge [arrowsize=0.5]
- fontname="times"
-
-
-audioWin [label=<
-
-
- audioWin (SlidingBuffer) |
-
- >];
-
-mfcc [label=<
->];
-
-mfccWin [label=<
-
-
- mfccWin (SlidingBuffer) |
-
- >];
-
-sink [label=<
->];
-
-src [label=<
->];
-
-toMono [label=<
-
-
- toMono (StereoToMono) |
-
- >];
-
-
-
-src:i -> toMono:i [headlabel=<
->,taillabel=<
->,label="q15(384)"]
-
-toMono:i -> audioWin:i [headlabel=<
->,taillabel=<
->,label="q15(768)"]
-
-audioWin:i -> mfcc:i [headlabel=<
->,taillabel=<
->,label="q15(1024)"]
-
-mfcc:i -> mfccWin:i [headlabel=<
->,taillabel=<
->,label="q15(377)"]
-
-mfccWin:i -> sink:i [headlabel=<
->,taillabel=<
->,label="q15(754)"]
-
-
-}
diff --git a/SDFTools/examples/example6/test.dot b/SDFTools/examples/example6/test.dot
deleted file mode 100755
index 76451a60..00000000
--- a/SDFTools/examples/example6/test.dot
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-digraph structs {
- node [shape=plaintext]
- rankdir=LR
- edge [arrowsize=0.5]
- fontname="times"
-
-
-audioWin [label=<
-
-
- audioWin (SlidingBuffer) |
-
- >];
-
-mfcc [label=<
->];
-
-mfccWin [label=<
-
-
- mfccWin (SlidingBuffer) |
-
- >];
-
-sink [label=<
->];
-
-src [label=<
->];
-
-
-
-src:i -> audioWin:i [headlabel=<
->,taillabel=<
->,label="f32(256)"]
-
-audioWin:i -> mfcc:i [headlabel=<
->,taillabel=<
->,label="f32(256)"]
-
-mfcc:i -> mfccWin:i [headlabel=<
->,taillabel=<
->,label="f32(13)"]
-
-mfccWin:i -> sink:i [headlabel=<
->,taillabel=<
->,label="f32(26)"]
-
-
-}
diff --git a/SDFTools/examples/example8/sched.py b/SDFTools/examples/example8/sched.py
deleted file mode 100644
index 00603162..00000000
--- a/SDFTools/examples/example8/sched.py
+++ /dev/null
@@ -1,203 +0,0 @@
-#
-# Generated with CMSIS-DSP SDF Scripts.
-# The generated code is not covered by CMSIS-DSP license.
-#
-# The support classes and code is covered by CMSIS-DSP license.
-#
-
-import sys
-
-
-import numpy as np
-import cmsisdsp as dsp
-from cmsisdsp.sdf.nodes.simu import *
-from appnodes import *
-from custom import *
-
-DEBUGSCHED=False
-
-#
-# FIFO buffers
-#
-
-
-FIFOSIZE0=11
-
-buf0=np.empty(FIFOSIZE0,dtype=object)
-for i in range(FIFOSIZE0):
- buf0[i] = MyComplex()
-
-FIFOSIZE1=5
-
-buf1=np.empty(FIFOSIZE1,dtype=object)
-for i in range(FIFOSIZE1):
- buf1[i] = MyComplex()
-
-FIFOSIZE2=5
-
-buf2=np.empty(FIFOSIZE2,dtype=object)
-for i in range(FIFOSIZE2):
- buf2[i] = MyComplex()
-
-FIFOSIZE3=5
-
-buf3=np.empty(FIFOSIZE3,dtype=object)
-for i in range(FIFOSIZE3):
- buf3[i] = MyComplex()
-
-FIFOSIZE4=5
-
-buf4=np.empty(FIFOSIZE4,dtype=object)
-for i in range(FIFOSIZE4):
- buf4[i] = MyComplex()
-
-FIFOSIZE5=5
-
-buf5=np.empty(FIFOSIZE5,dtype=object)
-for i in range(FIFOSIZE5):
- buf5[i] = MyComplex()
-
-
-def scheduler(someVariable):
- sdfError=0
- nbSchedule=0
- debugCounter=1
-
- #
- # Create FIFOs objects
- #
- fifo0=FIFO(FIFOSIZE0,buf0)
- fifo1=FIFO(FIFOSIZE1,buf1)
- fifo2=FIFO(FIFOSIZE2,buf2)
- fifo3=FIFO(FIFOSIZE3,buf3)
- fifo4=FIFO(FIFOSIZE4,buf4)
- fifo5=FIFO(FIFOSIZE5,buf5)
-
- #
- # Create node objects
- #
- dup0 = Duplicate3(5,5,5,5,fifo2,fifo3,fifo4,fifo5)
- filter = ProcessingNode(7,5,5,fifo0,fifo2,fifo1,4,"Test",someVariable)
- sa = Sink(5,fifo3)
- sb = Sink(5,fifo4)
- sc = Sink(5,fifo5)
- sd = Sink(5,fifo1)
- source = Source(5,fifo0)
-
- while((sdfError==0) and (debugCounter > 0)):
- nbSchedule = nbSchedule + 1
-
- sdfError = source.run()
- if sdfError < 0:
- break
- sdfError = source.run()
- if sdfError < 0:
- break
- sdfError = filter.run()
- if sdfError < 0:
- break
- sdfError = sd.run()
- if sdfError < 0:
- break
- sdfError = dup0.run()
- if sdfError < 0:
- break
- sdfError = sc.run()
- if sdfError < 0:
- break
- sdfError = sb.run()
- if sdfError < 0:
- break
- sdfError = sa.run()
- if sdfError < 0:
- break
- sdfError = source.run()
- if sdfError < 0:
- break
- sdfError = filter.run()
- if sdfError < 0:
- break
- sdfError = source.run()
- if sdfError < 0:
- break
- sdfError = sd.run()
- if sdfError < 0:
- break
- sdfError = dup0.run()
- if sdfError < 0:
- break
- sdfError = sc.run()
- if sdfError < 0:
- break
- sdfError = sb.run()
- if sdfError < 0:
- break
- sdfError = sa.run()
- if sdfError < 0:
- break
- sdfError = source.run()
- if sdfError < 0:
- break
- sdfError = filter.run()
- if sdfError < 0:
- break
- sdfError = sd.run()
- if sdfError < 0:
- break
- sdfError = dup0.run()
- if sdfError < 0:
- break
- sdfError = sc.run()
- if sdfError < 0:
- break
- sdfError = sb.run()
- if sdfError < 0:
- break
- sdfError = sa.run()
- if sdfError < 0:
- break
- sdfError = source.run()
- if sdfError < 0:
- break
- sdfError = filter.run()
- if sdfError < 0:
- break
- sdfError = source.run()
- if sdfError < 0:
- break
- sdfError = sd.run()
- if sdfError < 0:
- break
- sdfError = dup0.run()
- if sdfError < 0:
- break
- sdfError = sc.run()
- if sdfError < 0:
- break
- sdfError = sb.run()
- if sdfError < 0:
- break
- sdfError = sa.run()
- if sdfError < 0:
- break
- sdfError = filter.run()
- if sdfError < 0:
- break
- sdfError = sd.run()
- if sdfError < 0:
- break
- sdfError = dup0.run()
- if sdfError < 0:
- break
- sdfError = sc.run()
- if sdfError < 0:
- break
- sdfError = sb.run()
- if sdfError < 0:
- break
- sdfError = sa.run()
- if sdfError < 0:
- break
-
- debugCounter = debugCounter - 1
- return(nbSchedule,sdfError)
diff --git a/SDFTools/gen_pack.sh b/SDFTools/gen_pack.sh
deleted file mode 100755
index 2e09c5bd..00000000
--- a/SDFTools/gen_pack.sh
+++ /dev/null
@@ -1,204 +0,0 @@
-#!/bin/bash
-# Version: 1.1
-# Date: 2020-04-29
-# This bash script generates a CMSIS Software Pack:
-#
-# Pre-requisites:
-# - bash shell (for Windows: install git for Windows)
-# - 7z in path (zip archiving utility)
-# e.g. Ubuntu: sudo apt-get install p7zip-full p7zip-rar)
-# - PackChk in path with execute permission
-# (see CMSIS-Pack: CMSIS/Utilities//PackChk)
-# - xmllint in path (XML schema validation)
-# e.g. Ubuntu: sudo apt-get install libxml2-utils
-# Windows: download from https://www.zlatkovic.com/pub/libxml/
-
-############### EDIT BELOW ###############
-# Extend Path environment variable locally
-#
-if [ `uname -s` = "Linux" ]
- then
- #CMSIS_PACK_PATH="/home/$USER/.arm/Packs/ARM/CMSIS/5.7.0/"
- PATH_TO_ADD="$CMSIS_PACK_PATH/CMSIS/Utilities/Linux64/"
-else
- #CMSIS_PACK_PATH="$LOCALAPPDATA/Arm/Packs/ARM/CMSIS/5.7.0"
- PATH_TO_ADD="/C/Program Files/7-Zip/:$CMSIS_PACK_PATH/CMSIS/Utilities/Win32/:/C/xmllint/"
-fi
-[[ ":$PATH:" != *":$PATH_TO_ADD}:"* ]] && PATH="${PATH}:${PATH_TO_ADD}"
-echo $PATH_TO_ADD appended to PATH
-echo " "
-
-# Pack warehouse directory - destination
-PACK_WAREHOUSE=output/
-
-# Temporary pack build directory
-PACK_BUILD=build/
-
-# Specify directories included in pack relative to base directory
-# All directories:
-PACK_DIRS="sdf/"
-# Do not include the build directory if it is local
-PACK_DIRS=${PACK_DIRS//$PACK_BUILD/}
-PACK_DIRS=${PACK_DIRS//$PACK_WAREHOUSE/}
-
-# alternative: specify directory names to be added to pack base directory
-# PACK_DIRS="
-# Source
-# Include
-#"
-
-# Specify file names to be added to pack base directory
-PACK_BASE_FILES="
- License.txt
- README.md
-"
-
-############ DO NOT EDIT BELOW ###########
-echo Starting CMSIS-Pack Generation: `date`
-# Zip utility check
-ZIP=7z
-type -a $ZIP
-errorlevel=$?
-if [ $errorlevel -gt 0 ]
- then
- echo "Error: No 7zip Utility found"
- echo "Action: Add 7zip to your path"
- echo " "
- exit
-fi
-
-# Pack checking utility check
-PACKCHK=PackChk
-type -a $PACKCHK
-errorlevel=$?
-if [ $errorlevel != 0 ]
- then
- echo "Error: No PackChk Utility found"
- echo "Action: Add PackChk to your path"
- echo "Hint: Included in CMSIS Pack:"
- echo "/ARM/CMSIS//CMSIS/Utilities//"
- echo " "
- exit
-fi
-echo " "
-
-# XML syntax checking utility check
-XMLLINT=xmllint
-type -a $XMLLINT
-errorlevel=$?
-if [ $errorlevel != 0 ]
- then
- echo "Error: No xmllint found"
- echo "Action: Add xmllint to your path"
- echo " "
- exit
-fi
-echo " "
-
-# Locate Package Description file
-# check whether there is more than one pdsc file
-NUM_PDSCS=`ls -1 *.pdsc | wc -l`
-PACK_DESCRIPTION_FILE=`ls *.pdsc`
-if [ $NUM_PDSCS -lt 1 ]
- then
- echo "Error: No *.pdsc file found in current directory"
- echo " "
-elif [ $NUM_PDSCS -gt 1 ]
- then
- echo "Error: Only one PDSC file allowed in directory structure:"
- echo "Found:"
- echo "$PACK_DESCRIPTION_FILE"
- echo "Action: Delete unused pdsc files"
- echo " "
- exit
-fi
-
-SAVEIFS=$IFS
-IFS=.
-set $PACK_DESCRIPTION_FILE
-# Pack Vendor
-PACK_VENDOR=$1
-# Pack Name
-PACK_NAME=$2
-echo Generating Pack Version: for $PACK_VENDOR.$PACK_NAME
-echo " "
-IFS=$SAVEIFS
-
-#if $PACK_BUILD directory does not exist, create it.
-if [ ! -d $PACK_BUILD ]; then
- mkdir -p $PACK_BUILD
-fi
-
-# Copy files into build base directory: $PACK_BUILD
-# pdsc file is mandatory in base directory:
-cp -f ./$PACK_VENDOR.$PACK_NAME.pdsc ${PACK_BUILD}
-
-# directories
-echo Adding directories to pack:
-echo $PACK_DIRS
-echo " "
-for d in ${PACK_DIRS}
-do
- cp -r "$d" ${PACK_BUILD}
-done
-
-# files for base directory
-echo Adding files to pack:
-echo $PACK_BASE_FILES
-echo " "
-for f in $PACK_BASE_FILES
-do
- cp -f "$f" $PACK_BUILD/
-done
-
-# Run Schema Check (for Linux only):
-# sudo apt-get install libxml2-utils
-
-echo Running schema check for $PACK_VENDOR.$PACK_NAME.pdsc
-$XMLLINT --noout --schema ${CMSIS_PACK_PATH}/CMSIS/Utilities/PACK.xsd $PACK_BUILD/$PACK_VENDOR.$PACK_NAME.pdsc
-errorlevel=$?
-if [ $errorlevel -ne 0 ]; then
- echo "build aborted: Schema check of $PACK_VENDOR.$PACK_NAME.pdsc against PACK.xsd failed"
- echo " "
- exit
-fi
-
-# Run Pack Check and generate PackName file with version
-$PACKCHK $PACK_BUILD/$PACK_VENDOR.$PACK_NAME.pdsc -n PackName.txt -x M362
-errorlevel=$?
-if [ $errorlevel -ne 0 ]; then
- echo "build aborted: pack check failed"
- echo " "
- exit
-fi
-
-PACKNAME=`cat PackName.txt`
-rm -rf PackName.txt
-
-# Archiving
-# $ZIP a $PACKNAME
-echo creating pack file $PACKNAME
-#if $PACK_WAREHOUSE directory does not exist create it
-if [ ! -d $PACK_WAREHOUSE ]; then
- mkdir -p $PACK_WAREHOUSE
-fi
-pushd $PACK_WAREHOUSE
-PACK_WAREHOUSE=`pwd`
-popd
-pushd $PACK_BUILD
-"$ZIP" a $PACK_WAREHOUSE/$PACKNAME -tzip
-popd
-errorlevel=$?
-if [ $errorlevel -ne 0 ]; then
- echo "build aborted: archiving failed"
- exit
-fi
-
-echo "build of pack succeeded"
-# Clean up
-echo "cleaning up ..."
-
-rm -rf $PACK_BUILD
-echo " "
-
-echo Completed CMSIS-Pack Generation: `date`
diff --git a/SDFTools/sdf/nodes/cpp/StreamingNodes/CMSIS_RTOS/ring.scvd b/SDFTools/sdf/nodes/cpp/StreamingNodes/CMSIS_RTOS/ring.scvd
deleted file mode 100755
index 75ce6008..00000000
--- a/SDFTools/sdf/nodes/cpp/StreamingNodes/CMSIS_RTOS/ring.scvd
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/cmsisdsp/sdf/__init__.py b/cmsisdsp/cg/__init__.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/__init__.py
rename to cmsisdsp/cg/__init__.py
diff --git a/cmsisdsp/sdf/nodes/CFFT.py b/cmsisdsp/cg/static/nodes/CFFT.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/CFFT.py
rename to cmsisdsp/cg/static/nodes/CFFT.py
diff --git a/cmsisdsp/sdf/nodes/Duplicate.py b/cmsisdsp/cg/static/nodes/Duplicate.py
similarity index 100%
rename from cmsisdsp/sdf/nodes/Duplicate.py
rename to cmsisdsp/cg/static/nodes/Duplicate.py
diff --git a/cmsisdsp/sdf/nodes/ICFFT.py b/cmsisdsp/cg/static/nodes/ICFFT.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/ICFFT.py
rename to cmsisdsp/cg/static/nodes/ICFFT.py
diff --git a/cmsisdsp/sdf/nodes/MFCC.py b/cmsisdsp/cg/static/nodes/MFCC.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/MFCC.py
rename to cmsisdsp/cg/static/nodes/MFCC.py
diff --git a/cmsisdsp/sdf/nodes/NullSink.py b/cmsisdsp/cg/static/nodes/NullSink.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/NullSink.py
rename to cmsisdsp/cg/static/nodes/NullSink.py
diff --git a/cmsisdsp/sdf/nodes/StereoToMono.py b/cmsisdsp/cg/static/nodes/StereoToMono.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/StereoToMono.py
rename to cmsisdsp/cg/static/nodes/StereoToMono.py
diff --git a/cmsisdsp/sdf/nodes/ToComplex.py b/cmsisdsp/cg/static/nodes/ToComplex.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/ToComplex.py
rename to cmsisdsp/cg/static/nodes/ToComplex.py
diff --git a/cmsisdsp/sdf/nodes/ToReal.py b/cmsisdsp/cg/static/nodes/ToReal.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/ToReal.py
rename to cmsisdsp/cg/static/nodes/ToReal.py
diff --git a/cmsisdsp/sdf/nodes/Unzip.py b/cmsisdsp/cg/static/nodes/Unzip.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/Unzip.py
rename to cmsisdsp/cg/static/nodes/Unzip.py
diff --git a/cmsisdsp/sdf/nodes/Zip.py b/cmsisdsp/cg/static/nodes/Zip.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/Zip.py
rename to cmsisdsp/cg/static/nodes/Zip.py
diff --git a/cmsisdsp/sdf/nodes/__init__.py b/cmsisdsp/cg/static/nodes/__init__.py
old mode 100755
new mode 100644
similarity index 96%
rename from cmsisdsp/sdf/nodes/__init__.py
rename to cmsisdsp/cg/static/nodes/__init__.py
index bc35689a..ac29b6d4
--- a/cmsisdsp/sdf/nodes/__init__.py
+++ b/cmsisdsp/cg/static/nodes/__init__.py
@@ -1,7 +1,7 @@
###########################################
# Project: CMSIS DSP Library
# Title: __init__.py
-# Description: SDF module
+# Description: CG static flow module
#
# $Date: 30 August 2021
# $Revision: V1.10.0
diff --git a/cmsisdsp/sdf/nodes/host/FileSink.py b/cmsisdsp/cg/static/nodes/host/FileSink.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/host/FileSink.py
rename to cmsisdsp/cg/static/nodes/host/FileSink.py
diff --git a/cmsisdsp/sdf/nodes/host/FileSource.py b/cmsisdsp/cg/static/nodes/host/FileSource.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/host/FileSource.py
rename to cmsisdsp/cg/static/nodes/host/FileSource.py
diff --git a/cmsisdsp/sdf/nodes/host/NumpySink.py b/cmsisdsp/cg/static/nodes/host/NumpySink.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/host/NumpySink.py
rename to cmsisdsp/cg/static/nodes/host/NumpySink.py
diff --git a/cmsisdsp/sdf/nodes/host/VHT.py b/cmsisdsp/cg/static/nodes/host/VHT.py
old mode 100755
new mode 100644
similarity index 98%
rename from cmsisdsp/sdf/nodes/host/VHT.py
rename to cmsisdsp/cg/static/nodes/host/VHT.py
index 63e28c79..d3c10c23
--- a/cmsisdsp/sdf/nodes/host/VHT.py
+++ b/cmsisdsp/cg/static/nodes/host/VHT.py
@@ -1,7 +1,7 @@
from multiprocessing import Process,Semaphore
import multiprocessing as mp
import socket
-import cmsisdsp.sdf.nodes.host.message as msg
+import cmsisdsp.cg.static.nodes.host.message as msg
HOST = '127.0.0.1' # The remote host
PORT = 50007
diff --git a/cmsisdsp/sdf/nodes/host/VHTSDF.py b/cmsisdsp/cg/static/nodes/host/VHTCGSTATIC.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/host/VHTSDF.py
rename to cmsisdsp/cg/static/nodes/host/VHTCGSTATIC.py
diff --git a/cmsisdsp/sdf/nodes/host/WavSink.py b/cmsisdsp/cg/static/nodes/host/WavSink.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/host/WavSink.py
rename to cmsisdsp/cg/static/nodes/host/WavSink.py
diff --git a/cmsisdsp/sdf/nodes/host/WavSource.py b/cmsisdsp/cg/static/nodes/host/WavSource.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/host/WavSource.py
rename to cmsisdsp/cg/static/nodes/host/WavSource.py
diff --git a/cmsisdsp/sdf/nodes/host/__init__.py b/cmsisdsp/cg/static/nodes/host/__init__.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/nodes/host/__init__.py
rename to cmsisdsp/cg/static/nodes/host/__init__.py
diff --git a/cmsisdsp/sdf/nodes/host/message.py b/cmsisdsp/cg/static/nodes/host/message.py
old mode 100755
new mode 100644
similarity index 98%
rename from cmsisdsp/sdf/nodes/host/message.py
rename to cmsisdsp/cg/static/nodes/host/message.py
index bce095f4..25df7d16
--- a/cmsisdsp/sdf/nodes/host/message.py
+++ b/cmsisdsp/cg/static/nodes/host/message.py
@@ -107,7 +107,7 @@ def getBufferMsg(conn,nbBytes):
data = receiveBytes(conn,nbBytes)
return(data)
-# Stop the server when the end of the SDF scheduling has been reached.
+# Stop the server when the end of the static scheduling has been reached.
# It is to make it easier to end the demo.
# Only the VHT client has to be killed.
# Client -> Server
diff --git a/cmsisdsp/sdf/nodes/simu.py b/cmsisdsp/cg/static/nodes/simu.py
old mode 100755
new mode 100644
similarity index 99%
rename from cmsisdsp/sdf/nodes/simu.py
rename to cmsisdsp/cg/static/nodes/simu.py
index fe93654d..4e1387f3
--- a/cmsisdsp/sdf/nodes/simu.py
+++ b/cmsisdsp/cg/static/nodes/simu.py
@@ -1,7 +1,7 @@
###########################################
# Project: CMSIS DSP Library
# Title: simu.py
-# Description: Support Python classes for the Python SDF scheduler
+# Description: Support Python classes for the Python static scheduler
#
# $Date: 29 July 2021
# $Revision: V1.10.0
diff --git a/cmsisdsp/sdf/scheduler/__init__.py b/cmsisdsp/cg/static/scheduler/__init__.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/scheduler/__init__.py
rename to cmsisdsp/cg/static/scheduler/__init__.py
diff --git a/cmsisdsp/sdf/scheduler/ccode.py b/cmsisdsp/cg/static/scheduler/ccode.py
old mode 100755
new mode 100644
similarity index 94%
rename from cmsisdsp/sdf/scheduler/ccode.py
rename to cmsisdsp/cg/static/scheduler/ccode.py
index 21937a70..90d5a3d0
--- a/cmsisdsp/sdf/scheduler/ccode.py
+++ b/cmsisdsp/cg/static/scheduler/ccode.py
@@ -1,7 +1,7 @@
###########################################
# Project: CMSIS DSP Library
# Title: ccode.py
-# Description: C++ code generator for SDF scheduler
+# Description: C++ code generator for static scheduler
#
# $Date: 29 July 2021
# $Revision: V1.10.0
@@ -34,7 +34,7 @@ def gencode(sched,directory,config):
env = Environment(
- loader=PackageLoader("cmsisdsp.sdf.scheduler"),
+ loader=PackageLoader("cmsisdsp.cg.static.scheduler"),
autoescape=select_autoescape(),
trim_blocks=True
)
diff --git a/cmsisdsp/sdf/scheduler/config.py b/cmsisdsp/cg/static/scheduler/config.py
old mode 100755
new mode 100644
similarity index 96%
rename from cmsisdsp/sdf/scheduler/config.py
rename to cmsisdsp/cg/static/scheduler/config.py
index 1a7afc6d..3cefb44a
--- a/cmsisdsp/sdf/scheduler/config.py
+++ b/cmsisdsp/cg/static/scheduler/config.py
@@ -57,8 +57,8 @@ class Configuration:
# Experimental so disbaled by default
self.memoryOptimization = False
- # Path to SDF module for Python simu
- self.pathToSDFModule="../.."
+ # Path to CG module for Python simu
+ self.pathToCGModule="../../.."
# When codeArray is true, instead of using
# function calls we parse un array giving
diff --git a/cmsisdsp/sdf/scheduler/description.py b/cmsisdsp/cg/static/scheduler/description.py
old mode 100755
new mode 100644
similarity index 98%
rename from cmsisdsp/sdf/scheduler/description.py
rename to cmsisdsp/cg/static/scheduler/description.py
index 14270466..0b0d0e30
--- a/cmsisdsp/sdf/scheduler/description.py
+++ b/cmsisdsp/cg/static/scheduler/description.py
@@ -32,9 +32,9 @@ import numpy as np
from sympy import Matrix
from sympy.core.numbers import ilcm,igcd
-import cmsisdsp.sdf.scheduler.graphviz
-import cmsisdsp.sdf.scheduler.ccode
-import cmsisdsp.sdf.scheduler.pythoncode
+import cmsisdsp.cg.static.scheduler.graphviz
+import cmsisdsp.cg.static.scheduler.ccode
+import cmsisdsp.cg.static.scheduler.pythoncode
from .node import *
from .config import *
@@ -710,7 +710,7 @@ class Schedule:
i,o=n.allIOs()
for io in i:
# An io connected to a constant node has no fifo
- if not io.fifo is None:
+ if len(io.fifo) > 0:
theArgs.append(self.fifoID(io.fifo))
theArgTypes.append(io.ctype)
else:
@@ -798,15 +798,15 @@ class Schedule:
def ccode(self,directory,config=Configuration()):
"""Write graphviz into file f"""
- cmsisdsp.sdf.scheduler.ccode.gencode(self,directory,config)
+ cmsisdsp.cg.static.scheduler.ccode.gencode(self,directory,config)
def pythoncode(self,directory,config=Configuration()):
"""Write graphviz into file f"""
- cmsisdsp.sdf.scheduler.pythoncode.gencode(self,directory,config)
+ cmsisdsp.cg.static.scheduler.pythoncode.gencode(self,directory,config)
def graphviz(self,f,config=Configuration()):
"""Write graphviz into file f"""
- cmsisdsp.sdf.scheduler.graphviz.gengraph(self,f,config)
+ cmsisdsp.cg.static.scheduler.graphviz.gengraph(self,f,config)
diff --git a/cmsisdsp/sdf/scheduler/graphviz.py b/cmsisdsp/cg/static/scheduler/graphviz.py
old mode 100755
new mode 100644
similarity index 92%
rename from cmsisdsp/sdf/scheduler/graphviz.py
rename to cmsisdsp/cg/static/scheduler/graphviz.py
index 9e90b837..0924bac3
--- a/cmsisdsp/sdf/scheduler/graphviz.py
+++ b/cmsisdsp/cg/static/scheduler/graphviz.py
@@ -1,7 +1,7 @@
###########################################
# Project: CMSIS DSP Library
# Title: graphviz.py
-# Description: Graphviz generation for the SDF scheduler
+# Description: Graphviz generation for the CG Static scheduler
#
# $Date: 29 July 2021
# $Revision: V1.10.0
@@ -32,7 +32,7 @@ import os.path
def gengraph(sched,f,config):
env = Environment(
- loader=PackageLoader("cmsisdsp.sdf.scheduler"),
+ loader=PackageLoader("cmsisdsp.cg.static.scheduler"),
autoescape=select_autoescape(),
trim_blocks=True
)
diff --git a/cmsisdsp/sdf/scheduler/node.py b/cmsisdsp/cg/static/scheduler/node.py
old mode 100755
new mode 100644
similarity index 99%
rename from cmsisdsp/sdf/scheduler/node.py
rename to cmsisdsp/cg/static/scheduler/node.py
index 9b405a2b..30882c65
--- a/cmsisdsp/sdf/scheduler/node.py
+++ b/cmsisdsp/cg/static/scheduler/node.py
@@ -314,9 +314,9 @@ class BaseNode:
Some nodes may customize it
"""
if ctemplate:
- return ("sdfError = %s.run();" % self.nodeName)
+ return ("cgStaticError = %s.run();" % self.nodeName)
else:
- return ("sdfError = %s.run()" % self.nodeName)
+ return ("cgStaticError = %s.run()" % self.nodeName)
def cFunc(self,ctemplate=True):
"""Function call for code array scheduler
@@ -532,7 +532,7 @@ class GenericFunction(GenericNode):
ENV = Environment(
- loader=PackageLoader("cmsisdsp.sdf.scheduler"),
+ loader=PackageLoader("cmsisdsp.cg.static.scheduler"),
autoescape=select_autoescape(),
lstrip_blocks=True,
trim_blocks=True
diff --git a/cmsisdsp/sdf/scheduler/pythoncode.py b/cmsisdsp/cg/static/scheduler/pythoncode.py
old mode 100755
new mode 100644
similarity index 95%
rename from cmsisdsp/sdf/scheduler/pythoncode.py
rename to cmsisdsp/cg/static/scheduler/pythoncode.py
index 4b6ac533..44227f4e
--- a/cmsisdsp/sdf/scheduler/pythoncode.py
+++ b/cmsisdsp/cg/static/scheduler/pythoncode.py
@@ -33,7 +33,7 @@ from .config import *
def gencode(sched,directory,config):
env = Environment(
- loader=PackageLoader("cmsisdsp.sdf.scheduler"),
+ loader=PackageLoader("cmsisdsp.cg.static.scheduler"),
autoescape=select_autoescape(),
trim_blocks=True
)
diff --git a/cmsisdsp/sdf/scheduler/standard.py b/cmsisdsp/cg/static/scheduler/standard.py
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/scheduler/standard.py
rename to cmsisdsp/cg/static/scheduler/standard.py
diff --git a/cmsisdsp/sdf/scheduler/templates/cmsis.cpp b/cmsisdsp/cg/static/scheduler/templates/cmsis.cpp
old mode 100755
new mode 100644
similarity index 88%
rename from cmsisdsp/sdf/scheduler/templates/cmsis.cpp
rename to cmsisdsp/cg/static/scheduler/templates/cmsis.cpp
index 74ceb304..8828120e
--- a/cmsisdsp/sdf/scheduler/templates/cmsis.cpp
+++ b/cmsisdsp/cg/static/scheduler/templates/cmsis.cpp
@@ -9,5 +9,5 @@
{{ptr[0]}}={{ptr[1]}}.getWriteBuffer({{nb}});
{% endfor %}
{{func}}({{args}},{{nb}});
- sdfError = 0;
+ cgStaticError = 0;
}
\ No newline at end of file
diff --git a/cmsisdsp/sdf/scheduler/templates/cmsis.py b/cmsisdsp/cg/static/scheduler/templates/cmsis.py
old mode 100755
new mode 100644
similarity index 87%
rename from cmsisdsp/sdf/scheduler/templates/cmsis.py
rename to cmsisdsp/cg/static/scheduler/templates/cmsis.py
index e6e0c1f1..95904f7f
--- a/cmsisdsp/sdf/scheduler/templates/cmsis.py
+++ b/cmsisdsp/cg/static/scheduler/templates/cmsis.py
@@ -6,5 +6,5 @@
{{ptr[0]}}={{ptr[1]}}.getWriteBuffer({{nb}})
{% endfor %}
{{outArgs}}[:]=dsp.{{func}}({{inArgs}})
- sdfError = 0
+ cgStaticError = 0
\ No newline at end of file
diff --git a/cmsisdsp/sdf/scheduler/templates/cmsisNode.cpp b/cmsisdsp/cg/static/scheduler/templates/cmsisNode.cpp
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/scheduler/templates/cmsisNode.cpp
rename to cmsisdsp/cg/static/scheduler/templates/cmsisNode.cpp
diff --git a/cmsisdsp/sdf/scheduler/templates/code.cpp b/cmsisdsp/cg/static/scheduler/templates/code.cpp
old mode 100755
new mode 100644
similarity index 92%
rename from cmsisdsp/sdf/scheduler/templates/code.cpp
rename to cmsisdsp/cg/static/scheduler/templates/code.cpp
index 299b814c..c754b00d
--- a/cmsisdsp/sdf/scheduler/templates/code.cpp
+++ b/cmsisdsp/cg/static/scheduler/templates/code.cpp
@@ -1,6 +1,6 @@
/*
-Generated with CMSIS-DSP SDF Scripts.
+Generated with CMSIS-DSP Compute Graph Scripts.
The generated code is not covered by CMSIS-DSP license.
The support classes and code is covered by CMSIS-DSP license.
@@ -38,7 +38,7 @@ FIFO buffers
uint32_t {{config.schedName}}(int *error{{optionalargs()}})
{
- int sdfError=0;
+ int cgStaticError=0;
uint32_t nbSchedule=0;
{% if config.debug %}
int32_t debugCounter={{config.debugLimit}};
@@ -66,9 +66,9 @@ uint32_t {{config.schedName}}(int *error{{optionalargs()}})
/* Run several schedule iterations */
{% if config.debug %}
- while((sdfError==0) && (debugCounter > 0))
+ while((cgStaticError==0) && (debugCounter > 0))
{% else %}
- while(sdfError==0)
+ while(cgStaticError==0)
{% endif %}
{
/* Run a schedule iteration */
@@ -88,6 +88,6 @@ uint32_t {{config.schedName}}(int *error{{optionalargs()}})
{% endif %}
nbSchedule++;
}
- *error=sdfError;
+ *error=cgStaticError;
return(nbSchedule);
}
\ No newline at end of file
diff --git a/cmsisdsp/sdf/scheduler/templates/code.h b/cmsisdsp/cg/static/scheduler/templates/code.h
old mode 100755
new mode 100644
similarity index 89%
rename from cmsisdsp/sdf/scheduler/templates/code.h
rename to cmsisdsp/cg/static/scheduler/templates/code.h
index c866cb5a..66a05eff
--- a/cmsisdsp/sdf/scheduler/templates/code.h
+++ b/cmsisdsp/cg/static/scheduler/templates/code.h
@@ -1,6 +1,6 @@
/*
-Generated with CMSIS-DSP SDF Scripts.
+Generated with CMSIS-DSP Compute Graph Scripts.
The generated code is not covered by CMSIS-DSP license.
The support classes and code is covered by CMSIS-DSP license.
diff --git a/cmsisdsp/sdf/scheduler/templates/code.py b/cmsisdsp/cg/static/scheduler/templates/code.py
old mode 100755
new mode 100644
similarity index 87%
rename from cmsisdsp/sdf/scheduler/templates/code.py
rename to cmsisdsp/cg/static/scheduler/templates/code.py
index 5752d324..999b7d03
--- a/cmsisdsp/sdf/scheduler/templates/code.py
+++ b/cmsisdsp/cg/static/scheduler/templates/code.py
@@ -1,5 +1,5 @@
#
-# Generated with CMSIS-DSP SDF Scripts.
+# Generated with CMSIS-DSP Compute Graph Scripts.
# The generated code is not covered by CMSIS-DSP license.
#
# The support classes and code is covered by CMSIS-DSP license.
@@ -10,7 +10,7 @@ import sys
import numpy as np
import cmsisdsp as dsp
-from cmsisdsp.sdf.nodes.simu import *
+from cmsisdsp.cg.static.nodes.simu import *
from appnodes import *
from custom import *
@@ -39,7 +39,7 @@ for i in range(FIFOSIZE{{id}}):
{% endfor %}
def {{config.schedName}}({{optionalargs()}}):
- sdfError=0
+ cgStaticError=0
nbSchedule=0
{% if config.debug %}
debugCounter={{config.debugLimit}}
@@ -66,15 +66,15 @@ def {{config.schedName}}({{optionalargs()}}):
{% endfor %}
{% if config.debug %}
- while((sdfError==0) and (debugCounter > 0)):
+ while((cgStaticError==0) and (debugCounter > 0)):
{% else %}
- while(sdfError==0):
+ while(cgStaticError==0):
{% endif %}
nbSchedule = nbSchedule + 1
{% for s in schedule %}
{{nodes[s].cRun(False)}}
- if sdfError < 0:
+ if cgStaticError < 0:
break
{% if config.dumpFIFO %}
{% for fifoID in sched.outputFIFOs(nodes[s]) %}
@@ -87,4 +87,4 @@ def {{config.schedName}}({{optionalargs()}}):
{% if config.debug %}
debugCounter = debugCounter - 1
{% endif %}
- return(nbSchedule,sdfError)
\ No newline at end of file
+ return(nbSchedule,cgStaticError)
\ No newline at end of file
diff --git a/cmsisdsp/sdf/scheduler/templates/codeArray.cpp b/cmsisdsp/cg/static/scheduler/templates/codeArray.cpp
old mode 100755
new mode 100644
similarity index 92%
rename from cmsisdsp/sdf/scheduler/templates/codeArray.cpp
rename to cmsisdsp/cg/static/scheduler/templates/codeArray.cpp
index 5c1255c0..9b2897b5
--- a/cmsisdsp/sdf/scheduler/templates/codeArray.cpp
+++ b/cmsisdsp/cg/static/scheduler/templates/codeArray.cpp
@@ -1,6 +1,6 @@
/*
-Generated with CMSIS-DSP SDF Scripts.
+Generated with CMSIS-DSP Compute Graph Scripts.
The generated code is not covered by CMSIS-DSP license.
The support classes and code is covered by CMSIS-DSP license.
@@ -76,7 +76,7 @@ public:
uint32_t {{config.schedName}}(int *error{{optionalargs()}})
{
- int sdfError=0;
+ int cgStaticError=0;
uint32_t nbSchedule=0;
{% if config.debug %}
int32_t debugCounter={{config.debugLimit}};
@@ -110,16 +110,16 @@ uint32_t {{config.schedName}}(int *error{{optionalargs()}})
/* Run several schedule iterations */
{% if config.debug %}
- while((sdfError==0) && (debugCounter > 0))
+ while((cgStaticError==0) && (debugCounter > 0))
{% else %}
- while(sdfError==0)
+ while(cgStaticError==0)
{% endif %}
{
/* Run a schedule iteration */
for(unsigned long id=0 ; id < {{schedLen}}; id++)
{
unsigned int nodeId = schedule[id];
- sdfError = nodeArray[nodeId]->run();
+ cgStaticError = nodeArray[nodeId]->run();
CHECKERROR;
}
{% if config.debug %}
@@ -128,6 +128,6 @@ uint32_t {{config.schedName}}(int *error{{optionalargs()}})
nbSchedule++;
}
- *error=sdfError;
+ *error=cgStaticError;
return(nbSchedule);
}
\ No newline at end of file
diff --git a/cmsisdsp/sdf/scheduler/templates/dot_template.dot b/cmsisdsp/cg/static/scheduler/templates/dot_template.dot
old mode 100755
new mode 100644
similarity index 100%
rename from cmsisdsp/sdf/scheduler/templates/dot_template.dot
rename to cmsisdsp/cg/static/scheduler/templates/dot_template.dot
diff --git a/cmsisdsp/sdf/types.py b/cmsisdsp/cg/static/types.py
old mode 100755
new mode 100644
similarity index 96%
rename from cmsisdsp/sdf/types.py
rename to cmsisdsp/cg/static/types.py
index 1d65235a..d18fe052
--- a/cmsisdsp/sdf/types.py
+++ b/cmsisdsp/cg/static/types.py
@@ -40,7 +40,7 @@ SINT32 = 10
SINT16 = 11
SINT8 = 12
-class SDFType:
+class CGStaticType:
"""Descrition of a type used to fill a FIFO"""
def __eq__(self, other):
@@ -60,7 +60,7 @@ class SDFType:
return(0)
-class CStructType(SDFType):
+class CStructType(CGStaticType):
"""A C structure
All structures with same name must have same size in bytes
@@ -72,7 +72,7 @@ class CStructType(SDFType):
self._size_in_bytes=size_in_bytes
def __eq__(self, other):
- return(SDFType.__eq__(self,other) and self._name == other._name)
+ return(CGStaticType.__eq__(self,other) and self._name == other._name)
@property
def fillValue(self):
@@ -94,7 +94,7 @@ class CStructType(SDFType):
def graphViztype(self):
return(self._name)
-class CType(SDFType):
+class CType(CGStaticType):
"""A C Scalar element"""
def __init__(self,typeid):
self._id=typeid
@@ -245,6 +245,6 @@ class CType(SDFType):
return("void")
def __eq__(self, other):
- return(SDFType.__eq__(self,other) and self._id == other._id)
+ return(CGStaticType.__eq__(self,other) and self._id == other._id)
diff --git a/setup.py b/setup.py
index d809712c..0611e172 100644
--- a/setup.py
+++ b/setup.py
@@ -9,6 +9,7 @@ import os.path
import re
import pathlib
+
here = pathlib.Path(__file__).parent.resolve()
ROOT = here
ROOT=""
@@ -244,11 +245,11 @@ def build():
setup (name = 'cmsisdsp',
version = main_ns['__version__'],
packages=["cmsisdsp",
- "cmsisdsp.sdf",
- "cmsisdsp.sdf.nodes",
- "cmsisdsp.sdf.nodes.host",
- "cmsisdsp.sdf.scheduler",
- "cmsisdsp.sdf.scheduler.templates"],
+ "cmsisdsp.cg.static",
+ "cmsisdsp.cg.static.nodes",
+ "cmsisdsp.cg.static.nodes.host",
+ "cmsisdsp.cg.static.scheduler",
+ "cmsisdsp.cg.static.scheduler.templates"],
description = 'CMSIS-DSP Python API',
long_description=open("PythonWrapper_README.md").read(),
long_description_content_type='text/markdown',
|