<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:669335648;
        mso-list-type:hybrid;
        mso-list-template-ids:-607331470 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1
        {mso-list-id:961887037;
        mso-list-type:hybrid;
        mso-list-template-ids:-991010004 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2
        {mso-list-id:1403022685;
        mso-list-type:hybrid;
        mso-list-template-ids:-1185356860 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l2:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l2:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>I&#8217;m sorry I wasn&#8217;t more prepared last night but
here is the problem I was trying to present.&nbsp; For anybody who wasn&#8217;t
there, I am new to Python but I am trying to create a Python link between two
programs.&nbsp; I have been investigating, working on this, and trying to learn
Python for about six months.&nbsp; While the problem seems relatively simple,
I&#8217;m currently overwhelmed with all of the options and everything
I&#8217;m trying to learn.&nbsp; I&#8217;m hoping this group might provide me
with some direction.&nbsp; <o:p></o:p></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='color:black'>All of the files referenced in
this email can be accessed by downloading this file:</span><span
style='color:#1F497D'> </span><a
href="http://www.cfl.ncsu.edu/temp/Python_Group_Attachements.zip">http://www.cfl.ncsu.edu/temp/Python_Group_Attachements.zip</a>.
<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>As a quick summary, I want use Python to access data from a
program called StrainSmart via a COM interface, do a small amount of string manipulation,
and stream the data in an ASCII format over the network to a program called
Data Turbine.&nbsp; StrainSmart is a program from Vishay Micromeasurements in
Wendell, NC and it is designed to control their data acquisition
hardware.&nbsp; Data Turbine is an open source java program that synchronizes
and archives data and video from multiple sources.&nbsp; Once the data and
video is in Data Turbine, there is a very powerful front end called RDV or
&#8220;Real-Time Data Viewer&#8221; for viewing and plotting live and archived
data over the network (<a href="http://it.nees.org/software/rdv/index.php">http://it.nees.org/software/rdv/index.php</a>).
&nbsp;The details of each program and it&#8217;s interface is below:<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><b>StrainSmart:<o:p></o:p></b></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l2 level1 lfo2'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>StrainSmart software is used to control data acquisition
hardware from Vishay Micromeasurements, a company which is located in Wendell,
NC. <o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l2 level1 lfo2'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Vishay provides a number of methods for
accessing data from StrainSmart.&nbsp; The most appealing method to me is their
&#8220;High Level OLE Automation Server&#8221; which is documented here: <a
href="http://www.vishay.com/company/brands/measurements-group/Software/Interfac/hi_level.htm">http://www.vishay.com/company/brands/measurements-group/Software/Interfac/hi_level.htm</a>.&nbsp;
I chose this interface over the lower level interfaces because it doesn&#8217;t
interfere with the operation of StrainSmart and it outputs fully reduced data
rather than A/D counts.&nbsp; I have been able to access the properties and
methods of the high level interface with Python (using the win32com module).<o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l2 level1 lfo2'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>One of Vishay&#8217;s Applications Engineers
wrote the attached VBA example of how to access this interface (Reduced
Data.zip).&nbsp; The VBA example has a graphical interface and streams data
from StrainSmart into an excel worksheet while StrainSmart is recording.&nbsp;
I was able to sit down with the Applications Engineer who wrote this program
and have him explain how it works.&nbsp; <o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><b>Data Turbine:<o:p></o:p></b></p>

<p class=MsoNormal><b><o:p>&nbsp;</o:p></b></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l1 level1 lfo4'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Data Turbine is an open source java program that
is supported by NEESit: <a
href="http://it.nees.org/software/dataturbine/index.php">http://it.nees.org/software/dataturbine/index.php</a>.&nbsp;
NEES is the NSF sponsored &#8220;Network for Earthquake Engineering
Simulation&#8221; and it consists of about 15 large structural testing
facilities.&nbsp; NEESit is a part of NEES that develops and supports IT
infrastructure and software for these labs.&nbsp; My lab at NC State (<a
href="http://www.cfl.ncsu.edu">www.cfl.ncsu.edu</a>) is not a part of NEES but
I am very interested in using the same open source software.&nbsp; I recently
spent a week at the UCSD Supercomputing Center learning how to use
everything.&nbsp; In order to implement the software, I first have to develop <span
style='color:black'>software </span>links to our specific hardware.&nbsp; These
data acquisition systems are the first and most important piece of equipment
that I want to link into Data Turbine.&nbsp; I already have network cameras
which send video streams directly into DataTurbine.&nbsp; <b><o:p></o:p></b></p>

<p class=MsoListParagraph><b><o:p>&nbsp;</o:p></b></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l1 level1 lfo4'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>NEESit provides a LabView program called NEESdaq
(<a href="http://it.nees.org/software/daq/index.php">http://it.nees.org/software/daq/index.php</a>)
which is capable of getting data from National Instruments hardware and this is
what most of the NEES labs use.&nbsp; My lab has invested heavily in Vishay
hardware and there is no desire to purchase high channel count National
Instruments systems.<b><o:p></o:p></b></p>

<p class=MsoListParagraph><b><o:p>&nbsp;</o:p></b></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l1 level1 lfo4'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Data Turbine is also known as RBNB or
&#8220;Ring Buffered Network Bus&#8221; and it was originally writ<span
style='color:black'>ten by a company called Creare (</span><a
href="http://outlet.creare.com/rbnb/index.html">http://outlet.creare.com/rbnb/index.html</a><span
style='color:black'>)</span>.&nbsp; <span style='color:black'>It has a Java </span>API
which is documented on the Creare website: <a
href="http://outlet.creare.com/rbnb/WP/V2.0/Documentation/Java/com/rbnb/sapi/package-summary.html">http://outlet.creare.com/rbnb/WP/V2.0/Documentation/Java/com/rbnb/sapi/package-summary.html</a>.<b><o:p></o:p></b></p>

<p class=MsoListParagraph><b><o:p>&nbsp;</o:p></b></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l1 level1 lfo4'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>To simplify the interface with Data Turbine, NEESit
used the Java API to create an intermediate program called DaqToRbnb.&nbsp;
&nbsp;DaqToRbnb accepts simple ASCII commands and data over TCP and it is
documented in the attached file (TR-2004-35.pdf).&nbsp; <o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l1 level1 lfo4'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>After several months of unsuccessfully trying to
write this program by myself in Python, I contacted NEESit and they sent me the
code for the attached program called fake_daq (fake_daq.zip).&nbsp; Fake_daq is
written in C and it basically sends sine-wave data to Data Turbine through
DaqToRbnb.&nbsp; The idea is that somebody could replace the sine-wave
generator with their DAQ code and use this program.&nbsp; <o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>So with all of this information, these are some of the
options I have come up with for proceeding with this project:<o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo6'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Interface directly with the Data Turbine Java
API.&nbsp; I know very little about Java and this seems like a very difficult
option compared to using DaqToRbnb.&nbsp; It could be possible using something
like Jython???&nbsp; The data acquisition and the Data Turbine server would
always be separate computers so there would have to be some network programming
involved.&nbsp; To me it seems much easier to use DaqToRBNB which is already
written and extensively tested.&nbsp; I initially looked at doing this whole
program in Java but I abandoned the idea when I tried to access the StrainSmart
COM interface using one of the open source Java to COM bridge<span
style='color:#1F497D'>s</span>.&nbsp; The COM interface is why I initially
switched to Python.<o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo6'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Try to adapt the LabView code of NEESDaq to my
Vishay hardware.&nbsp; I think there may even be some VI&#8217;s for executing python
code in LabView.&nbsp; I&#8217;ve done a lot with LabView in the past but I
would have to learn a lot more to work with NEESDaq.&nbsp; I enjoy real coding
and if I&#8217;m going to spend time learning a programming language, I would
rather learn Python because I probably won&#8217;t have a license for LabView
if I ever leave the University.<o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo6'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Write my own Python Code from scratch &#8211; I
have been working on this but I am currently stuck.&nbsp; A professor in my
department&#8217;s Computer Aided Engineering group suggested that I look into
some packet sniffing software to look at the network communication between my
program and DaqToRBNB so that I can compare this to some successful
communication between NEESDaq or fake_daq and DaqToRBNB.&nbsp; This is what
I&#8217;m presently working on with my code.<o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo6'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Try to convert the fake_daq C code to Python
&#8211; essentially try to copy the design of fake_daq.&nbsp; The code in
fake_daq is much more advanced and robust than what I was trying to write by
myself in Python.<o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo6'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Try to access the COM interface from within C
&#8211; I&#8217;ve read that this is possible.<o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo6'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Try to compile the C program in C++ where
I&#8217;ve read it&#8217;s easier to access the COM interface.<o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo6'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Use SWIG generate an interface and use the C
functions from fake_daq in Python.<o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo6'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Use C-Types ???<o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo6'><![if !supportLists]><span
style='font-family:Symbol'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Try to embed my Python function to get data from
the COM interface in fake_daq.<o:p></o:p></p>

<p class=MsoListParagraph><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>I&#8217;m sure there are also many other options.&nbsp; Thus
far I am very excited about learning Python and am hoping to use it on several
other projects, so I would like to stay with a Python solution if at all
possible.&nbsp; &nbsp;&nbsp;Please let me know if you have any suggestions or
advice and thanks in advance for your help.&nbsp; <o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>For what it&#8217;s worth I attached the code that I am
working on.&nbsp; I basically just set up two sockets, a control socket and a
data socket.&nbsp; When I start both programs, I start receiving commands from
DaqToR<span style='color:black'>bnb</span> and my Python code responds to those
commands (currently with predetermined arbitrary responses &#8211; I will
eventually have to work with the COM interface to extract this information from
StrainSmart and send it to DaqToRBNB &#8211; I am currently working on this in
a separate program).&nbsp; My program works fine until it asks me to start
streaming data on the data socket, then it crashes<span style='color:#1F497D'> </span><span
style='color:black'>(I don&#8217;t recall the exact message &#8230; I will have
to get all of the programs up and running to recreate the error).&nbsp; </span>In
fake_daq this is where they start a separate thread to stream data.&nbsp; If I
continue with this code, I will probably try to do the same thing<span
style='color:#1F497D'> </span><span style='color:black'>but I will have to
learn some more about threading first (another reason to consider adapting the
fake_daq code for now).&nbsp; <o:p></o:p></span></p>

<p class=MsoNormal><span style='color:black'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal>Thanks,<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Lee<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Times New Roman","serif"'>__________________________________<br>
Lee Nelson<br>
Research Engineer and Laboratory Manager<br>
North Carolina State University<br>
Constructed Facilities Laboratory<br>
2414 Campus Shore Dr<br>
Campus Box 7533<br>
Raleigh, NC 27695-7533<br>
P: 919-513-4793<br>
F: 919-513-1765<br>
<a href="http://www.cfl.ncsu.edu">www.cfl.ncsu.edu</a><o:p></o:p></span></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

</body>

</html>