
--------------------------------------------------
M: Main
 Device Type              : Main
 Context is secured       : off
 Trig mode                : Degrees
 Popup Panel Title Text   : Untitled
 Show Popup Panel Title   : on
 Show Popup Panel Border  : on
 Popup Moveable           : on
 Popup Panel Title Text Color         : Object Title Text
 Popup Panel Title Background Color   : Object Title
 Popup Panel Title Text Font          : Object Title Text
 Delete Globals at Prerun : on

M.0: Main/Error Message
 Device Type              : AlphaNumeric
  Input pin  1            : Data (Any, Any)
 Clear At Prerun          : on
 Clear at Activate        : on
 Indices Enabled          : on

M.1: Main/Error Number
 Device Type              : AlphaNumeric
  Input pin  1            : Data (Any, Any)
 Clear At Prerun          : on
 Clear at Activate        : on
 Indices Enabled          : on

M.2: Main/Reset Instrument
 Device Type              : VXIplug&play
 Transactions             : ag33250a_reset(instrHandle)

M.3: Main/Check Errors
 Device Type              : VXIplug&play
  Output pin 1            : errorNum
  Output pin 2            : error_message
 Transactions             : ag33250a_error_query(instrHandle, errorNum, error_message)

M.4: Main/Agilent Copyright
 Device Type              : Note Pad
 Note Contents            :
   1. \' """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   2. \'    Copyright  2003 Agilent Technologies Inc. All rights
   3. \'    reserved.
   4. \'
   5. \' You have a royalty-free right to use, modify, reproduce and distribute
   6. \' the Sample Application Files (and/or any modified version) in any way
   7. \' you find useful, provided that you agree that Agilent has no
   8. \' warranty,  obligations or liability for any Sample Application Files.
   9. \'
   10. \' Agilent Technologies provides programming examples for illustration only,
   11. \' This sample program assumes that you are familiar with the programming
   12. \' language being demonstrated and the tools used to create and debug
   13. \' procedures. Agilent support engineers can help explain the
   14. \' functionality of Agilent software components and associated
   15. \' commands, but they will not modify these samples to provide added
   16. \' functionality or construct procedures to meet your specific needs.
   17. \' """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   18. 

M.5: Main/Program Information
 Device Type              : Note Pad
 Note Contents            :
   1. The program requires the Agilent 33250A/33220A plug and 
   2. play driver. This driver can be found at 
   3. www.agilent.com/find/drivers
   4. 
   5. This program shows how to download an arbitrary waveform using
   6. binary data.  The program generates a damped sine wave using
   7. 16,000 points.
   8. 
   9. This program was written using:
   10. VEE Pro 6
   11. Agilent GPIB
   12. Win 2000
   13. 33250/33220A VXIpnp Driver
   14. 

M.6: Main/Warranty Disclaimer
 Device Type              : Note Pad
 Note Contents            :
   1. This example is provided as an illustration
   2. "as is", and Agilent Technologies makes
   3. no warranty of any kind with regard to this
   4. example.

M.7: Main/ Output Should Look Like This on Scope
 Device Type              : Y Plot
  Input pin  1            : Pulse (Any, Any)
 Clear At Prerun          : on
 Clear at Activate        : on

M.10: Main/Swap data bytes (send LSB first)
 Device Type              : VXIplug&play
 Transactions             : ag33250a_formBord(instrHandle, ag33250a_ARB_WAV_FORM_BOR_SWAP)

M.12: Main/5 k Hz @ 5Vpp, output termination 50 ohms
 Device Type              : VXIplug&play
 Transactions             :
   1. ag33250a_freq(instrHandle, 5000)
   2. ag33250a_outpLoad(instrHandle, ag33250a_OUTPUT_LOAD_50)
   3. ag33250a_volt(instrHandle, 5)

--------------------------------------------------
M.40: Build Waveform
 Device Type              : UserObject
  Output pin 1            : Array
 Context is secured       : off
 Trig mode                : Degrees
 Popup Panel Title Text   : UserObject
 Show Popup Panel Title   : on
 Show Popup Panel Border  : on
 Popup Moveable           : on
 Popup Panel Title Text Color         : Object Title Text
 Popup Panel Title Background Color   : Object Title
 Popup Panel Title Text Font          : Object Title Text

M.40.1: Build Waveform/For Range
 Device Type              : For Range
  Output pin 1            : Data
 From Value               : 1
 Thru Value               : 14000
 Step Value               : 1

M.40.2: Build Waveform/ncycles
 Device Type              : Constant
  Output pin 1            : Real64
 Wait For Event           : off
 Auto execute             : off
 Initialize At Prerun     : off
 Initialize at Activate   : off
 Constant size fixed      : off
 Password masking         : off
 Indices Enabled          : on
 Real64 Value             : 10

M.40.3: Build Waveform/damp_factor
 Device Type              : Constant
  Output pin 1            : Real64
 Wait For Event           : off
 Auto execute             : off
 Initialize At Prerun     : off
 Initialize at Activate   : off
 Constant size fixed      : off
 Password masking         : off
 Indices Enabled          : on
 Real64 Value             : -5

M.40.4: Build Waveform/formula
 Device Type              : Formula
  Input pin  1            : a (Any, Any)
  Input pin  2            : ncycles (Any, Any)
  Output pin 1            : Result
 Formula                  :
   1. (sin(2*PI*ncycles*a/14000))*2047
   2. 

M.40.5: Build Waveform/formula
 Device Type              : Formula
  Input pin  1            : a (Any, Any)
  Input pin  2            : damp_factor (Any, Any)
  Input pin  3            : B (Any, Any)
  Output pin 1            : Result
 Formula                  :
   1. a*exp(damp_factor*B/14000)
   2. 

M.40.6: Build Waveform/Collector
 Device Type              : Collector
  Input pin  1            : Data (Any, Any)
  Input pin  2            : XEQ (Any, Any)
  Output pin 1            : Array
 Clear At Prerun          : on
 Clear at Activate        : on
 Output shape 1d          : on

M.40.7: Build Waveform/Alloc Real64
 Device Type              : Allocate Array
  Output pin 1            : Array

M.40.8: Build Waveform/Concatenator
 Device Type              : Concatenator
  Input pin  1            : A (Any, Any)
  Input pin  2            : B (Any, Any)
  Output pin 1            : Array

M.40.9: Build Waveform/Collector
 Device Type              : Collector
  Input pin  1            : Data (Any, Any)
  Input pin  2            : XEQ (Any, Any)
  Output pin 1            : Array
 Clear At Prerun          : on
 Clear at Activate        : on
 Output shape 1d          : on

M.43: Main/Download data points to volatile memory from array
 Device Type              : VXIplug&play
  Input pin  1            : Waveform (Int16, Any)
 Transactions             : ag33250a_dataDacVolatile(instrHandle, 16000, Waveform)

M.44: Main/Wait for download to complete
 Device Type              : VXIplug&play
  Output pin 1            : reply
 Transactions             : ag33250a_opc_Q(instrHandle, reply)

M.45: Main/AlphaNumeric
 Device Type              : AlphaNumeric
  Input pin  1            : Data (Any, Any)
 Clear At Prerun          : on
 Clear at Activate        : on
 Indices Enabled          : on

M.50: Main/Copy arb to non-volatile memory
 Device Type              : VXIplug&play
 Transactions             : ag33250a_dataCopy(instrHandle, "DAMP_SINE")

M.51: Main/Select active arb waveform
 Device Type              : VXIplug&play
 Transactions             : ag33250a_funcUserName(instrHandle, "DAMP_SINE")

M.53: Main/output the selected arb
 Device Type              : VXIplug&play
 Transactions             : ag33250a_funcShap(instrHandle, ag33250a_OUTPUT_FUNC_USER)

M.54: Main/Enable Output
 Device Type              : VXIplug&play
 Transactions             : ag33250a_outpSetup(instrHandle, ag33250a_OUTPUT_SETUP_ON)
