![]() Home Daqarta for DOS Contents Introduction Downloads Free Registration Contact Us |
| |
WAIT SECONDS DELAY (WaitS):The WaitS option can create delays of arbitrary duration. During the delay, all processing is suspended, although in RTime mode sample acquisition and stimulus generation continue. An optional message may be displayed during the wait. Any keypress will terminate the ongoing delay and resume normal processing, ignoring the keypress unless it is ESC to exit, or NUM-LOCK or the grey Pause/Break to halt the macro.Although one of the main functions of Key Macros is to speed operations, sometimes certain delays may be desired. One typical case is where you are recording responses to stimuli that must not come too close together, to allow time for the system under test to re-stabilize. Suppose you are looking at the initial transient response of a large gong-like structure, for example, which is driven by a hammer triggered by a digital output from the STIM3A Stimulus Generator or the Trigger Pulse source. You may need to wait several seconds between stimuli for the prior oscillations to decay adequately. Normally, the Trigger Cycle option would be your first choice, but it is limited to a delay equivalent to 32767 samples. This might easily be much less than a second at high sample rates. The WaitS option has no such limitation. There are several different ways to use WaitS. SHIFT-W will begin a previously-specified delay interval and show an optional message. To enter a different interval or message, hit CTRL-SHIFT-W instead. You will be prompted for the delay time in seconds. Enter any value, using the direct entry standard number formats. If you conclude the number entry with a normal ENTER, any prior wait message will be retained. The delay interval will begin immediately.
WAIT MESSAGE:If you conclude the WaitS seconds entry with ALT-ENTER, the message line will be cleared and a text cursor will appear. Enter any message, up to 64 characters, and it will be shown during the following delay and all subsequent WaitS delays until it is changed.If you don't enter any text but just accept the null line via an ENTER key, then any prior message will be cleared and the normal comment line will be shown during the delay instead. If you ESCape from message entry, there will be no change to the prior message, and the current delay will be cancelled... but the new delay value you just entered will be used on subsequent WaitS invocations. If you wish to copy the delay value to the normal comment line, you would usually end the value entry with CTRL-1 to CTRL-5 to specify the comment field. But if you also want to enter a wait message, you must use CTRL-ALT-1 to CTRL-ALT-5 instead. The comment will be sent to the indicated field, but it will not be seen during the delay since the wait message will be visible instead.
LONG DELAYS:The maximum delay duration is limited only by the number entry system, at just under 10^112 seconds. Since a year is only 3.15 × 10^7 seconds and the estimated age of the universe is only 10 to 20 billion years or under 10^18 seconds, this is probably longer than most users will ever need. But these effectively "infinite" delays are actually quite useful when used to wait for a keypress, which immediately ends the delay.For example, suppose your test sequence requires some changes in the external hardware between one part of the test and the next. A Key Macro to automate the test would need to alert the operator to make the changes, and wait for a keypress before proceeding to the next test phase. You could use the User Tone to give an audible alert, then begin a long wait with the message: 'Strap next lawyer to table, attach electrodes, hit SPACE:' This same approach can be used to create self-paced tutorials, or with a shorter delay setting to automatically advance after a reasonable time.
IDEA: Be creative: If one step has a long delay during which a user could be doing something else, provide an audible warning near the end of the interval to allow ample time to get back to the timed task before intervention is needed. You don't need to use ANY of Daqarta's data acquisition capabilities to make it useful! Use standard scientific prefixes to enter very large numbers for "infinite" delays with minimal keystrokes: '1k' gives 1000 seconds = 16.7 minutes '1M' 10^6 seconds = 11.6 days (note 'M', not 'm') '1G' 10^9 seconds = 31.7 years '1T' 10^12 seconds = 31710 yearsand so on...
TIP:
DELAY RESOLUTION:The minimum delay duration is dependent upon your system and the current operation mode. One of four distinct timing methods is selected automatically to give the best resolution in the current mode. All methods require a certain setup overhead of several microseconds minimum.The system timer is normally used, which gives 838 nsec resolution. If you are in unPaused RTime mode and interrupt-driven sampling is used, the delay is based instead on sample counting, so the resolution and minimum delay will be one sample period. This will be the case even with certain laboratory-type boards that are otherwise capable of DMA or FIFO operation, if the STIM3A Stimulus Generator is active. In unusual circumstances the system timer may be not be free for delay timing, due to ADC board requirements. In this case the system memory refresh timer port will be monitored, giving a resolution of about 15 µsec. If the system is a PC or XT (which lacks the port), then a software delay of about this same resolution is used instead. The actual delay for this software loop is calibrated at session start-up to control for differing system speeds.
RANDOM DELAYS:The normal random value entry system is available for WaitS, and may be used in macros to generate deliberate stimulus jitter. At larger values it can be used to give random stimulus presentation times to control subject "guessing". You must use the CTRL-SHIFT-W command format... the simple SHIFT-W command keeps re-using the previous setting.If you want to set a random delay, AND send it to a comment field, AND change the wait message, you must:
OTHER DELAY TECHNIQUES:Besides WaitS, there are other ways you can create delays that may sometimes serve your needs better, even if they lack the range and precision of WaitS. Here are some ideas to get you started:
|