Daqarta
Data AcQuisition And Real-Time Analysis
Scope - Spectrum - Spectrogram - Signal Generator
Software for Windows
Science with your Sound Card!
The following is from the Daqarta Help system:

Features:

Oscilloscope

Spectrum Analyzer

Signal Generator
(Absolutely FREE!)

Spectrogram

True RMS Voltmeter

Sound Level Meter

Frequency Counter

Period Counter

Event Counter

Spectral Event Counter

Waveform Averager

Histogram

Post-Stimulus Time
Histogram (PSTH)

Macro System

Multi-Trace Arrays

Trigger Controls

Auto-Calibration

Spectral Peak Track

Direct-to-Disk Recording

Accessibility

Applications:

Frequency response

Distortion measurement

Speech and music

Microphone calibration

Loudspeaker test

Musical instrument tuning

Animal sound

Evoked potentials

Rotating machinery

Vehicle pass-by noise

Product test

Contact us about
your application!

Macro Loops


Macro: LoopBreak

Any macro can be repeated an arbitrary number of times. The loop count is specified as a parameter to the overall macro, just as a parameter would be specified to a macro command.

Normally, to run a macro only once you just invoke it with an ' @' in front of it, and no '=' sign after it. For example, if you have a macro called MyMacro, then you would run it with @MyMacro. To run it 100 times, use instead @MyMacro=100.

Macros can include other macros that are themselves run as loops. These can be nested up 16 levels deep, with an arbitrary number of looped macros at any level.

As with conventional programming languages, macro loops can be exited early on the basis of some test within the looped macro. For example, suppose you want to run MyMacro up to 20 times, using @MyMacro=20. Each time, MyMacro will itself run another macro called MyTest that collects some data and saves it to a file.

After each MyTest finishes, MyMacro must increment the Left Stream 0 Tone Frequency by 500 Hz using a preset frequency step size. However, you want to allow MyMacro to be started from any arbitrary frequency, but never to go above 5000 Hz.

The definition of MyMacro would look like:

  @MyTest
  L.0.ToneFreq=>1
  IF.L.0.ToneFreq=>5000
      LoopBreak
  ENDIF.

If for some reason you want to keep track of how many times MyMacro actually runs, you can include a command that increments a macro variable which you can then test with later IF statements, or display in a Field that has been preset to watch for updates via Field1=?VarN.


GO:

Questions? Comments? Contact us!

We respond to ALL inquiries, typically within 24 hrs.
INTERSTELLAR RESEARCH:
Over 25 Years of Innovative Instrumentation
© Copyright 2007 - 2008 by Interstellar Research
All rights reserved