11/2009 |
4.06 |
New
- Virtual channels have been added, these hold waveforms derived from other channels by using a user-supplied expression. The channel data is automatically recalculated for each frame. Channel list string parsing has been extended to allow "v1" and the like to specify virtual channels.
- The sequencer language that is used to generate outputs during sampling or interact with data acquisition has been extended to provide more variables, indirect jumps, logical and ABS instructions, defined constants and the ASz(), VSz(), TabPos() and DRange() expression functions. Defined constants and constant expressions can be used anywhere that would previously have only accepted a simple integer number.
- Added support for making use of the mouse and manipulating the mouse pointer while script toolbars and dialogs are in use. This support consists of the ToolbarMouse(), DlgMouse() and MousePointer() script functions, plus the ChanPixel() function which is used to obtain the size of a pixel in terms of the channel X and Y axes.
- The interface between the sequence editor and the help system has been improved so that the help obtained by pressing F1 should go directly to the required help page.
- The script language has been extended to support array resizing, the break and continue statements have been added to manipulate loop execution.
- The MultiClamp telegraph support is now fully integrated with the clamping support. In addition to retrieving the ADC port names, units and calibrations, the clamping mode and the external command DAC units and scaling can now be retrieved; options in the clamp setup page allow the current MultiClamp settings to be retrieved without sampling.
- There is a new preference to enable the display of decorated view titles - the text added to the title to show the progress of sequencing through the various states. If an auxiliary states device is in use this sequencing information was replaced by the auxiliary device settings, but this can now be disabled, so you have complete control of what or any view title decoration is done. In addition, the view title decoration (being associated with the currently sampled sweep) is not shown if any frame other than frame 1 is being viewed and is never shown in the main Signal window title.
- All text-based views can optionally display line numbers. The new ViewLineNumbers() script function can be used to show or hide line numbers.
- All text-based views have view menu items for Show gutter, Show line numbers and Standard display.
- The script language has a new function, ViewZoom(), which increases or decreases the displayed font size in text-based views.
- All text-based views now have a maximum lines limit which can be used to ensure that they do not become too bulky, the new ViewMaxLines() script command provides access to this limit. The Edit menu Preferences dialog provides control over the maximum lines allowed in the Log window in the Scripts section.
- The Val() script function has an extra argument that can be used to get it to accept hexadecimal (base 16) input.
- There is a new sampling preference to select the 1401 ADC voltage range. This is used to check and (when appropriate) automatically adjust sampling configuration information and is checked against the 1401 hardware in use at startup and whenever sampling is started. The items in the telegraph configuration dialogs that previously set the ADC range now display the ADC range in use.
- Reloading a script include file will restore the breakpoints to their previous state if this was closed while the script was running.
- The outputs page of the sampling configuration now contains a checkbox to adjust the sampling to maximise the arbitrary waveform output rates possible. The SampleOutClock() script function has been altered to give access to this feature.
- There is a new item in the display preferences to prevent the generation of compressed metafiles, which can give problems in some situations.
- An over-type mode indicator has been added to the status bar for use with all text-based views.
- Signal attempts to deal better with the memory and view handle shortages that can occur when viewing many documents each containing many channels.
- The Seconds() script function can now take two parameters and is more accurate.
- The DebugList() script function has been extended to provide extra information, including timing of function execution.
- The DlgValue$() script function gives access to the prompt string for checkbox items when used with both the item number and the item number plus 1000 - previously there was no access via either route.
- The DlgButton() and ToolbarSet() script functions can be used to get the number of the last button pressed.
- The new XYInChan() script function detects which points in an XY channel lie inside a polygon defined by another XY channel.
- The XYInCircle() and XYInRect() script functions have been extended to return an array holding the indices of the data points that lie inside the circle or rectangle.
- Signal tries harder to prevent Windows going into standby or hibernation mode while sampling is in progress.
Fixes
- Copying and pasting frames of data now also copies the frame state code and associated label.
- The active cursor dialog only updates the cursors when OK is pressed, and displays the appropriate channel units rather than the channel name.
- Processing to a memory view online does not set the frame state code if LastN mode is being used.
- Online processing sets the destination frame state if states-based processing is used.
- Processed memory and XY view titles do not include any states sequencing information or other decoration taken from the source view title.
- The control of data acquisition has been adjusted so that the display of previous sweep data is not cleared too early when there are pre-sweep outputs.
- Initial DAC levels set at the start of the sweep using the pulse outputs now correctly take any built-in pulse variations into account. Start-of-sweep outputs initialisation has been improved.
- Replacing values in a fixed-length XY view that was sorted (either by the X or Y values) now works, previously this would have crashed Signal.
- Faults that could cause Signal version 4.05 to crash when finishing sampling (if no data was saved to disk), or when closing a sampled data view by clicking on the "x" in the top-right corner, have been corrected.
- The signal names that are retrieved from the MultiClamp 700A by the auxiliary telegraph support have been corrected.
- Resetting the sampling configuration parameters now also initialises the signal conditioner, auxiliary telegraph and auxiliary states settings.
- Pressing the Escape key will not halt an executing script if Signal is not the active application.
- The pulses dialog now avoids incorrect 'value out of range' messages from the vary steps or trigger time items that were seen in some circumstances.
- The display of incorrect and meaningless error messages such as "CallAsProc" in the filter dialogs has been prevented.
- FiltCreate() and FiltApply() now work correctly with a filter index of -1 for the special filter not in the bank.
- Frame list strings including the number zero are handled correctly when used online.
- XY views in earlier versions did not redraw correctly when data was changed if the y axis was inverted.
- When a script is run by the ScriptRun() command and the script was not already open in Signal, when the script terminates it is closed. However, such scripts were closing even if there was an error. Now the script will stay open, with the error line highlighted. If you have set the flag in ScriptRun() to continue running even if an error occurs, the next script will run, as before.
- If you compiled a script, closed it and reopened it, Signal assumed it was unchanged and did not recompile it when it was run (Signal keeps the last compiled script in memory to avoid unnecessary recompiles). Now, unless the script is running when you reopen it, the previously compiled version is deleted, forcing a recompile. This does not apply to included files, which are assumed not to have changed if they are opened.
- The ternary script operator now works correctly even if the first item is a constant.
- The SetPower() script function now correctly rounds FFT sizes down to the next integral power of 2.
- The draw mode dialog now copes correctly with idealised trace channels once again.
- A script editor folding error when proc or func is used to introduce an argument in a function definition is now fixed.
- Y-axis labels now redraw the bottom tick label if it is only partly covered then uncovered again.
- XY views generated online by processing a memory view (itself generated by online processing) now work correctly for all types of memory view. Previously only Auto-average and Leak subtraction memory views would behave sensibly.
- The script recorder for trend plots now correctly records Maximum measurement mode, no longer records unused parameters and records start and end times the right way round.
- Using SetMemory() to create a memory view then using Alt-click-drag to measure will now use the correct font to show the measurements.
- The cursor menu section for vertical cursors always shows only the cursor position regardless of the label mode.
- The subsidiary frame selection item (such as un-tagged) is obeyed when processing a frame list string that specifies frames with or without specified states.
Changes
- The serial-line support used in the script language & elsewhere has been altered to use new, advanced, serial-line I/O mechanisms. This should not cause any significant effects, but the SerialWrite() command has changed slightly.
- Frame state information shown in the status bar shows the state label first, if available.
- Scripts run from a command line are not closed if a compile error occurs.
- The new document selection dialog has been adjusted to remove the annoying scroll bar and to behave better when sampling is already in progress.
- The control for synchronised pulses in the outputs page of the sampling configuration dialog has been removed as it was redundant.
- The control in the script preferences for saving modified scripts before running them now also controls the saving of output sequence text before starting sampling.
- Signal is now built using Visual Studio settings that create applications requiring at least Windows 98 to run.
- The default initial filter type selected in the FIR filter dialog is now a low-pass filter.
- The maximum ADC port number allowed in a sampling configuration is now 127.
- The limits to the number of keyboard and digital markers per frame (128 and 1024 respectively) have been removed.
- The text editor has changed to allow multiple selections and virtual space, so may behave differently.
- Time strings using the e (exponential) number format will now parse correctly.
- The upper limit for the FFT size for power spectra has been increased to 262144, both for the SetPower() script function and for integrated power spectrum processing.
- The dialog used to select a directory in the preferences, sampling configuration and FilePathSet() has been changed to a new-style resizable version.
|