(saveFormat "2.3")
(date "Mon 03/Mar/1997 16:47:34 MST")
(veerev "4.0")
(platform "HP9000s700")
(execMode fast)
(filterNAN 0)
(workspaceStackingOrder M)
(SaveCF no)
(device 0 ROOTCONTEXT
(properties
(trigMode rad)
(nextID 9)
(popupTitleText "To DataSet Example")
(popupMoveable 1)
(popupTitleTextColor "Black")
(popupTitleBackgroundColor "Gray")
(deleteGlobals 0))
(deviceList
(device 0 TORECORD
(properties
(outputType scalar))
(interface
(input 1
(name "SineWave")
(optional yes))
(input 2
(name "Noise")
(optional yes))
(output 1
(name "Record")
(tag "Record"))))
(device 1 TODATASET
(interface
(input 1
(name "input")
(tag "inRecord")
(requires
(datatype Record))
(lock constraints)))
(implementation
(attr iopath file write "/tmp/myData"
(readTerm "\n")
(fs " ")
(eol "\n")
(multiField fullSyntax)
(arrayFormat block))))
(device 2 VFUNCTIONGENERATOR
(properties
(function Sine)
(frequency 100)
(amplitude 1)
(dcOffset 0)
(degRad Deg)
(phaseShift 0)
(interval 0.02)
(numPoints 256))
(interface
(output 1
(name "Func")
(lock name constraints))))
(device 3 VNOISEGENERATOR
(properties
(amplitude 0.5)
(numPoints 256)
(interval 0.02))
(interface
(output 1
(name "noise WF")
(tag "noiseWF")
(lock name constraints))))
(device 6 CONTEXT
(properties
(name "Press For")
(description2 10 "This User Object is the outermost \"context\""
"for the InfoAbout help device.  Within this"
"device is the pop-up panel containing the info"
"Notepad.  If all you can see is a device with"
"\"Press For\", you should double-click the left"
"mouse button on the Press For to restore the"
"Panel View of the device.  To see how this device"
"operates, click on the Info About button first,"
"then press the Detail button in the \"Press For\"" "title bar.")
(trigMode deg)
(nextID 4))
(deviceList
(device 0 TOGGLE25
(properties
(name "Info About")
(description2 17 "This is a toggle device with the name changed to"
"reflect it\'s function.  The output of the device"
"is \"0\" when the button is up, and \"1\" when the" "button is down.  " ""
"A Reset Control Input terminal has been added to"
"to always pop the button back out after showing"
"the pop-up help (Info About This Example) User" "Object." ""
"The Toggle has set the \"AutoExecute\" option to let"
"it operate even when the RUN button in the title"
"bar has not been pressed.  Note, however, that"
"AutoExecute only works when no other threads are"
"operating, either from their Start buttons or from" "the RUN button." "")
(autoTrigger 1))
(interface
(input 1
(type control)
(name "Reset")
(lock name constraints)
(optional yes))
(output 1
(lock name constraints)))
(implementation
(value Int32
(data  0))
(initValue Int32
(data  0))))
(device 2 CONTEXT
(properties
(name "Info About This Example")
(description2 10 "This is a User Object that has both a detail view"
"and a Panel view.  If this device is visible as"
"an icon, you must double-click the left mouse"
"button to \"open up\" the non-iconic view." ""
"Since the User Object has both a Panel and Detail"
"view, when you double-click on the icon, you will"
"first see the Panel view.  To see the components"
"of the User Object, press the Detail button in"
"the \"Info About This Example\" title bar.")
(trigMode deg)
(nextID 2)
(popupMoveable 1))
(deviceList
(device 0 NOTE
(properties
(name "NotePad")
(description2 11 "This notepad is displayed as a Show on Execute"
"panel to present the information to the reader." ""
"It has been \"Added to Panel\" of the \"Info About"
"This Example\" user object, thus it is not "
"necessary to keep it as an open device inside the"
"Detail view; you can edit the notepad from the"
"Panel view of this User Object.  You can also"
"set/clear the \"Enable Edit\" flag in this Notepad\'s"
"Object Menu to keep the pop-up notepad from being" "altered by the user.")
(text2 15
"PURPOSE:  This example, along with manual41.vee, shows how to use DataSets." ""
"USER INPUT REQUIRED:  Press \"Run\"." "" "EXPLANATION:"
"\tA DataSet is a collection of Record containers saved into a file for "
"    later retrieval. The To DataSet object collects Record data on its input"
"    and writes that data to a named file (the DataSet).  In this example, "
"    two waveforms, a sine wave and a noise waveform, are output to the Build "
"    Record Object, which builds a record.  The record is then output to the "
"    To DataSet object, which writes the data to the file /tmp/myData. Note "
"    that Clear File at PreRun is checked so that any \"old\" data already "
"    stored in /tmp/myData will be cleared." ""
"\tTo see how to retrieve the data, see example manual41.vee.")))
(device 1 CONFIRM25
(properties
(name "DONE")
(description2 7 "This tiny \"thread\" begins running when the "
"enclosing UserObject is executed.  When the user"
"acknowledges the OK/DONE button, there is nothing"
"left to execute, so the thread ends.  Since there"
"are not other threads running, the User Object"
"is completed and will exit, removing the Show on" "Execute pop-up display."))
(interface
(output 1
(name "Go")
(lock name constraints)))
(implementation))
(configuration)
(ShowOnExecPanel
(relativeOrigin 6 5)))
(contextCarrier
(active detail)
(panel
(extent 808 406)
(widget 0 detail
(relativeOrigin 4 4)
(title off)
(borderStyle flat)
(extent 792 348)
(editing disabled))
(widget 1 detail
(relativeOrigin 366 360)
(title off)
(borderStyle flat)
(extent 73 37)))
(detail
(extent 866 520)
(anchorPt 433 270)
(configuration
(devCarrierFor 0
(active open)
(icon
(extent 78 25))
(open
(extent 848 437)
(editing enabled))
(pinCenter 0 0))
(devCarrierFor 1
(active open)
(icon)
(open
(extent 58 37))
(title off)
(pinCenter 0 70)))
(stackingOrder 1 0))))
(device 3 IFTHENELSE
(properties
(name "!= 0")
(description2 5 "If no threads are running, the Toggle can generate"
"it\'s output data whenever the button is changed"
"(using the Toggle\'s AutoExecute mode).  In this"
"case, either the User Object is executed or the"
"Autoexecute sequence terminates.")
(cases 1 "a!=0"))
(interface
(input 1
(name "A")
(optional yes))
(output 1
(name "Then")
(lock name constraints))
(output 2
(name "Else")
(lock name constraints))))
(configuration
(connect D1:0 D0:1)
(connect D2:1 D1:0)
(connect D0:1 D2:1)))
(contextCarrier
(active panel)
(panel
(extent 319 77)
(widget 0 detail
(relativeOrigin 101 16)
(title off)
(borderStyle flat)
(extent 114 39)
(scaled on)
(format button)))
(detail
(extent 912 591)
(anchorPt 256 245)
(configuration
(devCarrierFor 0
(active open)
(icon)
(open
(extent 114 39)
(scaled on)
(format button))
(title off)
(pinCenter 0 0))
(devCarrierFor 2
(active icon)
(icon
(extent 217 25))
(open
(extent 808 406)
(carbonCopy))
(bg "Light Blue Gray")
(pinCenter 190 50))
(devCarrierFor 3
(active icon)
(icon
(extent 46 25))
(open
(extent 73 64))
(terminals on)
(pinCenter 140 0))
(connect D1:0 D0:1
(points 5 190 65 190 80 -80 80 -80 0 -60 0))
(connect D2:1 D1:0
(points 3 165 -10 190 -10 190 35))
(connect D0:1 D2:1
(points 2 59 0 114 0)))
(stackingOrder 0 2 1))))
(device 7 NOTE)
(configuration
(connect D2:1 D0:1)
(connect D3:1 D0:2)
(connect D0:1 D1:1)))
(contextCarrier
(wndOrigin 2 2)
(wndState res)
(active detail)
(detail
(extent 937 528)
(anchorPt 542 180)
(configuration
(devCarrierFor 0
(active open)
(icon
(extent 118 64)
(iconImage "build.icn"))
(open
(extent 174 270))
(terminals on)
(pinCenter 5 0))
(devCarrierFor 1
(active open)
(icon)
(open
(extent 214 78))
(terminals on)
(pinCenter 75 250))
(devCarrierFor 2
(active open)
(icon
(extent 172 64)
(iconImage "virtual.icn"))
(open
(extent 183 203))
(terminals on)
(pinCenter -365 -40))
(devCarrierFor 3
(active open)
(icon
(iconImage "virtual.icn"))
(open
(extent 155 98))
(terminals on)
(pinCenter -380 170))
(devCarrierFor 6
(active open)
(icon
(extent 110 25))
(open
(extent 319 77)
(carbonCopy))
(bg "Light Blue Gray")
(pinCenter -315 310))
(devCarrierFor 7
(active icon)
(icon
(extent 338 48)
(iconImage "disclaim.icn")
(label off))
(open
(extent 200 100)
(editing enabled))
(pinCenter 35 340))
(connect D2:1 D0:1
(points 4 -231 -40 -205 -40 -205 -70 -155 -70))
(connect D3:1 D0:2
(points 4 -230 170 -195 170 -195 70 -155 70))
(connect D0:1 D1:1
(points 6 154 0 185 0 185 160 -125 160 -125 250 -85 250)))
(stackingOrder 2 3 0 1 5 4))
(numberFormats
(realFormat standard)
(realSigDigits 4)
(realRadixSpec 4)
(integerBase decimal))))
