(saveFormat "2.3")
(date "Mon 03/Mar/1997 16:47:10 MST")
(veerev "4.0")
(platform "HP9000s700")
(execMode fast)
(filterNAN 0)
(workspaceStackingOrder M)
(SaveCF no)
(device 0 ROOTCONTEXT
(properties
(trigMode deg)
(nextID 8)
(popupTitleText "Importing a Waveform File Example 1")
(popupMoveable 1)
(popupTitleTextColor "Black")
(popupTitleBackgroundColor "Gray")
(deleteGlobals 0))
(deviceList
(device 0 NOTE
(properties
(name "Warranty Disclaimer")
(text2 4 "This example is provided as an"
"illustration \"as is\", and Hewlett-Packard"
"Company makes no warranty of any kind" "with regard to this example.")))
(device 1 FROMFILE
(properties
(transactions 6 "READ TEXT null TOKEN" "READ TEXT Name TOKEN"
"READ TEXT Tstart REAL" "READ TEXT Tstop REAL" "READ TEXT Samples REAL"
"READ TEXT Signal REAL ARRAY:Samples"))
(interface
(output 1
(name "Name")
(optional yes))
(output 2
(name "Tstart")
(optional yes))
(output 3
(name "Tstop")
(optional yes))
(output 4
(name "Signal")
(optional yes))
(output 5
(name "Samples")
(optional yes)))
(implementation
(attr iopath file read "~installDir/examples/manual/manual30.dat"
(readTerm "\n")
(fs " ")
(eol "\n")
(multiField fullSyntax)
(arrayFormat block))))
(device 2 TEXTDISPLAY
(properties
(name "Signal Name"))
(interface
(input 1
(name "Data"))))
(device 3 TOWAVEFORM
(interface
(input 1
(name "Array")
(tag "Array")
(requires
(datatype Real))
(lock name constraints))
(input 2
(name "Time Span")
(tag "Time Span")
(requires
(datatype Real)
(shape "Scalar"))
(lock constraints)
(optional yes)
(buffer YES))
(output 1
(name "Wf")
(tag "Wf")
(lock name constraints)))
(implementation
(interval 0.001)))
(device 4 YPLOT
(properties
(name "Waveform (Time)"))
(interface
(input 1
(name "Trace")
(lock constraints))
(input 2
(type control)
(name "Auto Scale")
(lock name constraints)
(optional yes)))
(implementation
(tracePin 1)
(graphMode time)))
(device 5 FORMULA
(properties
(expr 1 "B-A"))
(interface
(input 1
(name "A")
(optional yes))
(input 2
(name "B")
(optional yes))
(output 1
(name "Result")
(tag "Result")
(lock name constraints)
(optional yes))))
(device 6 CONTEXT
(properties
(name "Press For")
(trigMode deg)
(nextID 3))
(deviceList
(device 0 IFTHENELSE
(properties
(name "!= 0")
(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))))
(device 1 TOGGLE25
(properties
(name "Info About")
(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...")
(trigMode deg)
(nextID 2)
(popupMoveable 1))
(deviceList
(device 0 CONFIRM25
(properties
(name "DONE"))
(interface
(output 1
(name "Go")
(lock name constraints)))
(implementation))
(device 1 NOTE
(properties
(name "Info About")
(text2 35 "Overview:"
"  This program illustrates how to import a data file created by another software "
"  package. In this case, the data file contains waveform data with a "
"  fixed-length file header." "" "Details:"
"  This program is very easy to understand if you examine the contents of the "
"  data file it reads (manual30.dat).  The file contains a text record of a "
"  sampled waveform.  Note that tags or markers such as NAME, START_TIME, and "
"  DATA mark the entries in the file header.  Further, note that this program "
"  assumes that the header is always the same length; the name, start time, "
"  etc. are always present and are always in the same order." ""
"To run this program, simply press the \"Start\" button." ""
"This is how the \"From File\" object works:" ""
"  The first transaction strips off the NAME marker from the file." ""
"  The second transaction reads the string containing the name of the waveform."
""
"  The third transaction reads the time in seconds when the first sample of the"
"  waveform was recorded." ""
"  The fourth transaction reads the time in seconds when the last sample of the"
"  waveform was recorded." ""
"  The fifth transaction reads the number of samples (data points) in the "
"  sampled waveform.  This value must be included as an output terminal so that "
"  it can be accessed by the next transaction." ""
"  The sixth transaction reads the sampled waveform data points.  The number of"
"  points reads is determined by the number of samples determined by the "
"  previous transaction." "")))
(configuration)
(ShowOnExecPanel
(relativeOrigin 5 32)))
(contextCarrier
(active detail)
(panel
(extent 849 520)
(widget 1 detail
(relativeOrigin 2 3)
(title off)
(borderStyle flat)
(extent 837 460)
(editing disabled))
(widget 0 detail
(relativeOrigin 387 473)
(title off)
(borderStyle flat)
(extent 70 36)))
(detail
(extent 351 200)
(anchorPt 185 120)
(configuration
(devCarrierFor 0
(active open)
(icon
(extent 45 15))
(open
(extent 58 37))
(title off)
(pinCenter 0 0))
(devCarrierFor 1
(active icon)
(icon
(extent 110 25))
(open
(extent 543 213)
(editing disabled))
(pinCenter -70 -70)))
(stackingOrder 1 0))))
(configuration
(connect D1:1 D0:1)
(connect D0:0 D1:1)
(connect D0:1 D2:0)))
(contextCarrier
(active panel)
(panel
(extent 319 77)
(widget 1 detail
(relativeOrigin 100 11)
(title off)
(borderStyle flat)
(extent 114 39)
(scaled on)
(format button)))
(detail
(extent 912 591)
(anchorPt 346 245)
(configuration
(devCarrierFor 0
(active icon)
(icon
(extent 46 25))
(open
(extent 73 64))
(terminals on)
(pinCenter 0 0))
(devCarrierFor 1
(active open)
(icon
(extent 81 15))
(open
(extent 114 39)
(scaled on)
(format button))
(title off)
(pinCenter -130 0))
(devCarrierFor 2
(active icon)
(icon
(extent 127 25))
(open
(extent 849 520)
(carbonCopy))
(bg "Light Blue Gray")
(pinCenter 100 70))
(connect D1:1 D0:1
(points 2 -71 0 -26 0))
(connect D0:0 D1:1
(points 5 0 15 0 40 -210 40 -210 0 -190 0))
(connect D0:1 D2:0
(points 3 25 -10 100 -10 100 55)))
(stackingOrder 0 1 2))))
(device 7 START25)
(configuration
(connect D7:0 D1:0)
(connect D1:1 D2:1)
(connect D1:4 D3:1)
(connect D5:1 D3:2)
(connect D3:1 D4:1)
(connect D3:0 D4:2)
(connect D1:2 D5:1)
(connect D1:3 D5:2)))
(contextCarrier
(wndOrigin 2 2)
(wndState res)
(active detail)
(detail
(extent 900 447)
(anchorPt 528 40)
(configuration
(devCarrierFor 0
(active icon)
(icon
(extent 338 48)
(iconImage "disclaim.icn")
(label off))
(open
(extent 397 82)
(editing disabled))
(pinCenter 0 0))
(devCarrierFor 1
(active open)
(icon
(extent 110 25))
(open
(extent 363 157))
(terminals on)
(pinCenter -300 260))
(devCarrierFor 2
(active open)
(icon
(extent 110 0))
(open
(extent 190 35))
(pinCenter 90 160))
(devCarrierFor 3
(active icon)
(icon
(extent 136 64)
(iconImage "build.icn"))
(open
(extent 212 104))
(terminals on)
(pinCenter 80 340))
(devCarrierFor 4
(active open)
(icon
(iconImage "display.icn"))
(open
(extent 409 248)
(displayMode scrollGraph)
(graphType cartesian)
(gridType axis)
(scale 0
(name "Mag")
(domainName "Time")
(pen 9)
(show 1)
(range -0.4 1 4 linear))
(domain 0 0.001 4 linear)
(trace 0 onScale 0
(name "Trace")
(pen 4)
(lineType 1)
(pointType 0)))
(pinCenter 280 550))
(devCarrierFor 5
(active icon)
(icon
(extent 78 64)
(iconImage "formula.icn"))
(open
(extent 79 104))
(terminals on)
(pinCenter 30 240))
(devCarrierFor 6
(active open)
(icon
(extent 110 25))
(open
(extent 319 77)
(carbonCopy))
(bg "Light Blue Gray")
(pinCenter -350 40))
(devCarrierFor 7
(active open)
(icon
(extent 42 15))
(open
(extent 69 39))
(title off)
(pinCenter -280 120))
(connect D7:0 D1:0
(points 2 -280 142 -280 161))
(connect D1:1 D2:1
(points 4 -46 200 -30 200 -30 160 -8 160))
(connect D1:4 D3:1
(points 4 -46 290 -30 290 -30 320 9 320))
(connect D5:1 D3:2
(points 6 71 240 90 240 90 290 -10 290 -10 360 9 360))
(connect D3:1 D4:1
(points 6 150 340 170 340 170 390 50 390 50 490 73 490))
(connect D3:0 D4:2
(points 5 80 374 80 380 40 380 40 610 73 610))
(connect D1:2 D5:1
(points 4 -46 230 -30 230 -30 220 -12 220))
(connect D1:3 D5:2
(points 2 -46 260 -12 260)))
(stackingOrder 0 6 7 2 4 1 3 5))
(numberFormats
(realFormat standard)
(realSigDigits 4)
(realRadixSpec 4)
(integerBase decimal))))
