From 607e671852de867def84ceb552c5a445de919892 Mon Sep 17 00:00:00 2001 From: Mario Fink Date: Fri, 26 Apr 2019 10:34:54 +0200 Subject: [PATCH] added example.py --- example.py | 6 + pytdm_ripper.pyx | 4 +- samples/SineData.tdm | 369 +++++++++++++++++++++++++++++++++++++++++++ samples/SineData.tdx | Bin 0 -> 80000 bytes setup.py | 2 +- tdm_ripper.pxd | 2 +- 6 files changed, 379 insertions(+), 4 deletions(-) create mode 100644 example.py create mode 100755 samples/SineData.tdm create mode 100755 samples/SineData.tdx diff --git a/example.py b/example.py new file mode 100644 index 0000000..1be252f --- /dev/null +++ b/example.py @@ -0,0 +1,6 @@ +import tdm_ripper + +tdmpath = b"samples/SineData.tdm" +tdxpath = b"samples/SineData.tdx" + +tdm_ripper.pytdmripper(tdmpath) diff --git a/pytdm_ripper.pyx b/pytdm_ripper.pyx index 1aba3ce..0f64c2e 100644 --- a/pytdm_ripper.pyx +++ b/pytdm_ripper.pyx @@ -10,8 +10,8 @@ cdef class pytdmripper: # use pointer since there's no nullary constructor cdef tdm_ripper*cripp - def __cinit__(self, string tdmfile, string tdxfile): - self.cripp = new tdm_ripper(tdmfile,tdxfile) + def __cinit__(self, string tdmfile): + self.cripp = new tdm_ripper(tdmfile) def __dealloc__(self): del self.cripp diff --git a/samples/SineData.tdm b/samples/SineData.tdm new file mode 100755 index 0000000..5afa0fd --- /dev/null +++ b/samples/SineData.tdm @@ -0,0 +1,369 @@ + + + + + National Instruments USI + 1.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SineData.TDM + Sine signals of various amplitudes and frequencies. + SineData + National Instruments + 2008-05-06T17:20:12.65074539184570313 + #xpointer(id("usi12") id("usi13")) + + + Amplitudes + Sine Signals of various amplitudes. + #xpointer(id("usi11")) + + 1 + + #xpointer(id("usi14") id("usi15") id("usi16") id("usi17") id("usi18")) + #xpointer(id("usi24") id("usi25") id("usi26") id("usi27") id("usi28")) + + + Frequencies + Sine signals of various frequencies. + #xpointer(id("usi11")) + + 1 + + #xpointer(id("usi19") id("usi20") id("usi21") id("usi22") id("usi23")) + #xpointer(id("usi29") id("usi30") id("usi31") id("usi32") id("usi33")) + + + A = 1 + #xpointer(id("usi12")) + DT_DOUBLE + -0.999997146387718 + 0.999999682931835 + + 0 + 1000 + 10 + + #xpointer(id("usi34")) + + + A = 2 + #xpointer(id("usi12")) + DT_DOUBLE + -1.99999429277544 + 1.99999936586367 + + 1 + 1000 + 10 + + #xpointer(id("usi35")) + + + A = 4 + #xpointer(id("usi12")) + DT_DOUBLE + -3.99998858555087 + 3.99999873172734 + + 2 + 1000 + 10 + + #xpointer(id("usi36")) + + + A = 8 + #xpointer(id("usi12")) + DT_DOUBLE + -7.99997717110174 + 7.99999746345468 + + 3 + 1000 + 10 + + #xpointer(id("usi37")) + + + A = 16 + #xpointer(id("usi12")) + DT_DOUBLE + -15.9999543422035 + 15.9999949269094 + + 4 + 1000 + 10 + + #xpointer(id("usi38")) + + + F = 1 + #xpointer(id("usi13")) + DT_DOUBLE + -0.999997146387718 + 0.999999682931835 + + 0 + 1000 + 10 + + #xpointer(id("usi39")) + + + F = 2 + #xpointer(id("usi13")) + DT_DOUBLE + -0.999999230697499 + 0.999995986891472 + + 1 + 1000 + 10 + + #xpointer(id("usi40")) + + + F = 4 + #xpointer(id("usi13")) + DT_DOUBLE + -0.999999230697499 + 0.99994907791452 + + 2 + 1000 + 10 + + #xpointer(id("usi41")) + + + F = 8 + #xpointer(id("usi13")) + DT_DOUBLE + -0.999999230697499 + 0.999996490345607 + + 3 + 1000 + 10 + + #xpointer(id("usi42")) + + + F = 16 + #xpointer(id("usi13")) + DT_DOUBLE + -0.999999230697499 + 0.999993076284592 + + 4 + 1000 + 10 + + #xpointer(id("usi43")) + + + Untitled + #xpointer(id("usi12")) + 1000 + #xpointer(id("usi34")) + + + Untitled + #xpointer(id("usi12")) + 1000 + #xpointer(id("usi35")) + + + Untitled + #xpointer(id("usi12")) + 1000 + #xpointer(id("usi36")) + + + Untitled + #xpointer(id("usi12")) + 1000 + #xpointer(id("usi37")) + + + Untitled + #xpointer(id("usi12")) + 1000 + #xpointer(id("usi38")) + + + Untitled + #xpointer(id("usi13")) + 1000 + #xpointer(id("usi39")) + + + Untitled + #xpointer(id("usi13")) + 1000 + #xpointer(id("usi40")) + + + Untitled + #xpointer(id("usi13")) + 1000 + #xpointer(id("usi41")) + + + Untitled + #xpointer(id("usi13")) + 1000 + #xpointer(id("usi42")) + + + Untitled + #xpointer(id("usi13")) + 1000 + #xpointer(id("usi43")) + + + Untitled + #xpointer(id("usi14")) + #xpointer(id("usi24")) + 15 + 0 + explicit + #xpointer(id("usi1")) + + + Untitled + #xpointer(id("usi15")) + #xpointer(id("usi25")) + 15 + 0 + explicit + #xpointer(id("usi2")) + + + Untitled + #xpointer(id("usi16")) + #xpointer(id("usi26")) + 15 + 0 + explicit + #xpointer(id("usi3")) + + + Untitled + #xpointer(id("usi17")) + #xpointer(id("usi27")) + 15 + 0 + explicit + #xpointer(id("usi4")) + + + Untitled + #xpointer(id("usi18")) + #xpointer(id("usi28")) + 15 + 0 + explicit + #xpointer(id("usi5")) + + + Untitled + #xpointer(id("usi19")) + #xpointer(id("usi29")) + 15 + 0 + explicit + #xpointer(id("usi6")) + + + Untitled + #xpointer(id("usi20")) + #xpointer(id("usi30")) + 15 + 0 + explicit + #xpointer(id("usi7")) + + + Untitled + #xpointer(id("usi21")) + #xpointer(id("usi31")) + 15 + 0 + explicit + #xpointer(id("usi8")) + + + Untitled + #xpointer(id("usi22")) + #xpointer(id("usi32")) + 15 + 0 + explicit + #xpointer(id("usi9")) + + + Untitled + #xpointer(id("usi23")) + #xpointer(id("usi33")) + 15 + 0 + explicit + #xpointer(id("usi10")) + + + + diff --git a/samples/SineData.tdx b/samples/SineData.tdx new file mode 100755 index 0000000000000000000000000000000000000000..4a7a9e3a4c7271d4c11fa00a900ed59af2da984c GIT binary patch literal 80000 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

x}_SJ~v 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 `zk!iQf~qCtgpSp7=a*dE)WJ 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 Q{|2%>K-zjW#bux1f6?Z;=l}o! literal 0 HcmV?d00001 diff --git a/setup.py b/setup.py index d583dbf..8b277f5 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ from Cython.Build import cythonize extensions = Extension( name="tdm_ripper", sources=["pytdm_ripper.pyx"], #,"lib/tdm_ripper.cpp"], - # libraries=["tdm_ripper"], + # libraries=[""], library_dirs=["lib"], include_dirs=["lib"], language='c++', diff --git a/tdm_ripper.pxd b/tdm_ripper.pxd index 1775814..defedef 100644 --- a/tdm_ripper.pxd +++ b/tdm_ripper.pxd @@ -9,6 +9,6 @@ cdef extern from "tdm_ripper.cpp": cdef extern from "tdm_ripper.hpp": cdef cppclass tdm_ripper: # tdm_ripper() except + - tdm_ripper(string, string) except + + tdm_ripper(string) except + # void setfiles(string, string) # void setup()