10/2024 |
8.03 |
New
- Added support for the YINGCHI M series TMS stimulator.
Fixes
- Signal no longer crashes when importing into a file that is already open.
- DuoMag can once again deliver two pulses in independent triggers mode.
- In script defined dialogs, slider controls in integer mode had two problems: if a slider started at a value other than 0 it was incorrect and if you had a change function it would move after calling it. This also caused a tick to be missed.
- No longer crashes Signal if you try to sample with a configuration with pulse repeats not defined.
- Errors in the initial level for outputs are now reported correctly.
- Reject button now works between sweeps.
- The Magventure support now has more protection against spontaneous disarm if not fired for 5 minutes.
- The D360R conditioner dialog can no longer get stuck showing the wrong port after switching channels used for sampling.
- The Magstim Rapid could sometimes go into an error state when being used as an auxiliary states device. This was due to being sent commands too frequently.
- The Draw mode dialog for virtual channels now correctly initialises the check box to draw full width.
- Virtual channel wizard dialogs now cope better with changes to the preferred time units.
- Changes made to the state label online are now reflected in the State bar immediately.
- Using the Analogue trigger mode for peri-triggered sampling would cause sampling to hang if the waveform dropped below the lower threshold.
Changes
- RMT is now referred to as just MT as the motor threshold can used in either resting or active scenarios.
- Increasing the number of states no longer copies the state label to the new states.
- Active cursor dialogs now accept longer expressions.
- The x-axis dialog no longer tries to quote units if there are none.
- State labels are now used in state lists for auxiliary devices.
|
|
03/2024 |
8.02 |
New
- Added Meas() function to the virtual channel system.
- Multiple frames uses Save changes dialog with stop button.
- Auxiliary states device settings are now saved in experimenter's notebook.
- Frame tagging, show buffer, frame overdrawing and changing the current frame can now be undone.
- Deleting cursors (vertical and horizontal) can now be undone.
- Info windows can now display state labels.
- Signal now attempts to prevent a user logging off or shutting down while sampling is in progress.
- Conditioner controls can now be accessed while sampling for multiple conditioners.
- It is now possible to drag attachments from an email in Outlook directly onto Signal, to have it open them. The files are copied to a folder in Downloads called Outlook (or Outlook(n) if a folder already exists there of that name).
- It is now possible to specify lists of states where a frame list would previously only allow one state.
- A new type of pulse item for additional actions has been added to the pulses dialog. Currently this only supports turning dynamic clamping models on or off.
- Pulse dialog now indicates the X zero position in the sampled data with a z below the control track.
- SampleStatus() has been enhanced to allow more detailed information about the status to be obtained.
- An error message is now given if a talker fails to run.
- Talker channels can now be duplicated in the sampling configuration.
- A warning is now given if you attempt to set up more than one conditioner on a given port.
- Adding channels from multiple talkers is now possible.
Fixes
- Dragging a pulse when using very fine timing resolution could fail to draw the new pulse location correctly during the drag.
- Can now change input for 1902 and have updated gain list online.
- Talker data could be missing after restarting sampling.
- PulseWaveSet() will truncate the number of waveform points if it would exceed the available 1401 memory when being used online.
- Arbitrary waveform points and DACs cannot be changed online.
- SampleStatus() could return incorrect information when used in a triggered script.
- Drift compensation strings have been corrected for talkers.
- Talker channels are now always listed correctly.
- Some USB/RS232 adaptors would fail to enter themselves into the registry and thus be excluded from the com port lists. Signal now checks for this and includes them with a basic COMn name.
- You can no longer drop files onto Signal when the File menu is unavailable.
- Triggered scripts were being run too early.
- Restarting sampling could, on some computers using a long USB cable, sometimes cause the 1401 device driver to unload and Signal to stop working.
- Closing the D360R control dialog while sampling could crash Signal.
- If a conditioner control dialog failed to open for any reason while sampling, the menu options to open any conditioner would be greyed out for the remainder of the sample run.
- It would sometimes take two attempts to close a conditioner control dialog while sampling.
- You can now import Intan rhd files that contain temperature sensor data.
- Protection has been added to prevent arbitrary waveforms being defined that would use more than the available space in the 1401 to store them.
- The 1902 setup dialog now initialises correctly when there is no configuration file.
- When using the D360R with a port offset applied, changes made by Digitimer software are reflected in Signal dialog.
- The SampleStop() script command now returns correct error codes if it fails for any reason.
- Tooltips now work again in script views.
- Previously, the automatic MEP detection mechanism available as part of the MTAT threshold measurement system would usually give incorrect results due to it analysing the wrong channel. This has now been fixed.
Changes
- When using the D360R conditioner setup with no configuration file, the dialog is populated with the current settings of the conditioner rather than default settings being used to change the conditioner.
|
|
06/2023 |
8.01 |
New
- A new peri-trigger mode has been added for remaining inside a pair of levels for a specified time.
- A new script command, SamplePeriDwell() has been added to allow the dwell time for the new peri-trigger mode to be set.
- It is now possible to use more than one signal conditioner at a time; e.g. the CED 1902 and Digitimer D360R can both be used simultaneously.
- Units have been added to the threshold items in the peri-trigger page.
- Utility programs can now be run from the File menu.
Fixes
- Virtual channels now cope with frames of different lengths.
- More time is now allowed for switching from monophasic to biphasic pulses with a MagPro.
- COM ports of number greater than 9 can now be used for conditioner control, auxiliary states devices and when opened from a script.
- The space occupied by the Wait/Trigger check box in the sampling control panel has been increased to avoid truncated text in some circumstances.
- You can now drag the hysteresis cursor if the hysteresis is initially zero when doing downward crossing peri-trigger.
- Calling ChanfitCoef() for a non-existent XY channel no longer crashes Signal.
- COM ports are no longer left open after loading the signal conditioner dlls. This could cause problems when changing conditioner type or trying to use the port for something else.
- The MTAT RMT message given at the end of the process could be lost behind the application window. This is no longer the case.
- The Channel Information dialog now allows the full 20 characters for a title and 8 characters for units.
- Now correctly ignores the interlock switch on a Magstim Rapid2.
- Magstim Rapid2 no longer disarms before the trigger is sent when it has new firmware.
- Cursor(0) no longer appears in active mode dialogs for cursors in XY views.
- Extended markers in non-native files now import as markers correctly.
- Signal no longer crashes after importing smr files.
- You can no longer access the pulses dialog from auxiliary device dialogs when not in pulses mode. This was causing confusion as the pulses defined here are not used unless in pulses mode.
- In user defined dialogs generated from a script, focus would be set to the first control when there was a default button but no fields (so focus ended up on first button and not on the default one). In a dialog with only buttons, focus is not on the default button when the dialog is displayed.
- Signal now recognises if a talker fails and tidies up so that the next connection attempt succeeds.
- Signal could sometimes crash if active cursors were being used online and were feature-searching a talker channel.
- Clicking on Finish twice at the end of sampling could leave Signal in a confused state. Clicking once now immediately disables to button.
- The list of configuration files in the Load configuration menu item is now greyed while sampling.
- Both the experimenter's notebook and the talker information were showing the drift as a value in s/s, but the units were shown as ms/s (which was what was wanted and what we see now).
- It is now possible to make changes to the D360R settings while sampling. Previously changes would be lost when attempting to apply them.
- The Sample bar menu item is now greyed out when there are no buttons to display and the bar is hidden.
- Data could be lost from the start of a talker channel if the frame started too soon after the previous one.
- Pre-trigger talker data is now drawn correctly in peri-trigger mode after adjusting the trigger levels.
- The number of pre-trigger points used for peri-triggered sampling will now automatically reduce if the total number of points is set to less than the pre-trigger points.
- Closing a sampling window while sampling a talker channel non longer crashes Signal.
- Errors in the ADC port list in the General tab of the Sampling Configuration dialog are now only reported once per edit.
- An error is now generated if you attempt to sample markers when the outputs resolution and sweep length are such that they could be lost.
Changes
- The error level for a log message warning of a power level not being set on a MagPro has been reduced to INFO as it was quite common and worked on an automatic retry.
|
|
10/2022 |
8.00 |
New
- Signal can now collect data from talkers, separate programs which manage alternative data acquisition devices and can supply data sampled from these devices to a host program. If Signal is using a sampling configuration which requires a talker, and Signal has previously used this talker, the talker program can be run automatically.
- The Signal script language now supports objects; user defined variable types which can contain multiple values.
- Signal sampling configurations can now include a triggered script which is executed automatically at specified points during sampling.
- MTAT 2.0 mechanisms have been added to generate an optimised RMT value in conjunction with an auxiliary states device.
- XY views are now able to support measurements and searches as long as the X data values are monotonic. This allows cursor values and measurements windows, active vertical and horizontal cursors and the ChanSearch(), ChanValue(), and ChanMeasure() script functions to be used in XY views.
- The File menu Load configuration command now offers you a list of up to 10 recently used sampling configurations.
- Un-selected channels are now available as an option in user dialogs and channel specifiers.
- The horizontal and vertical active cursor mode dialogs can activate each other for ease with complex arrangements.
- Virtual channel expressions can now include cursor positions.
- Virtual channel expressions can now use the mean and standard deviation of data.
- Virtual channels can now be drawn at full width while sampling.
- When sampling using peri-triggered mode, Signal now displays the current pre-trigger data while waiting for a trigger.
- Signal now has an option to fill backgrounds for cursor labels.
- Added full control of grid colours and overall grid view text colour.
- The ChanList() script function has been extended with a string argument which can be parsed to give a list of channels.
- New SampleTalk(), SampleTalkAdd(), SampleTalkDel() and SampleTalkTrig() script functions have been added to access and change talker information in the sampling configuration.
- New TalkerSendStr() and TalkerReadStr() script functions have been added to allow specialised interaction with talkers.
- A new SampleScript() script function has been added to provide access to the triggered script settings.
- A new FileStatus() script function has been added to allow file attributes to be read.
- The ToolbarEnable() script function can count enabled buttons and report if an idle function has been set.
- New Reverse$() and Replace$() script functions have been added to provide extra string manipulation mechanisms.
- A new Selection() script function has been added to return selected cell information for grid views and cursor windows.
- The ChanOrder() script function has been extended to match Spike2.
- Signal now supports GIF graphics interchange format picture files.
- Grid view column optimisation has been added.
- A new grid size dialog is available in the view menu and when using File New to generate a grid view.
- The DlgValue() script function has been extended to allow it to change the range of allowed values for real and integer items and the numeric precision for real items.
- You can now edit column titles in grid views by double-clicking on the column header.
- A new DrawModeCopy() script function has been added.
- Channel selection items in dialogs are able to display visible channels at top of the list.
- The Tip of the Day dialog now scales the Icon and sets the size of "Did you know..." text according to the screen resolution and also protects itself against a corrupted Tip file.
- The maximum string variable length in the script language has been increased to 100,000,000 chars to match arrays.
- The grid view now has Cut, Copy, Paste, Grid size and Fit to Grid items in the context menu obtained by right clicking.
- The Open/Closed channel list display now shows the event start time in the top row.
- The FileList() script function has been extended to optionally provide the standard file selection dialog in which the user may select one or more files or type in the names of one or more files.
- A new EditImageLoad() script function has been added to read an image file into the clipboard.
- Recording of FrontView() could be imperfect; this has been made much more robust.
- The cursor values and cursor regions dialogs now record changes to check boxes, radio button and measurement modes.
- Buttons in the script toolbar and interact bar now try not to steal the input focus.
- The colour selection dialogs now remember the last used context and positions.
- You can now click on the label for an output in the Pulses dialog to edit it.
- Screen print output now includes any cursor windows.
- F1 help support has been added to the grid view.
- EditPaste() can now return information about alpha (transparency information) existing in bitmaps.
- The methods used to allow the user to select a folder have been updated at the cost of the New Folder button always being present.
- A sampling configuration updated by sampling does not have its full name hidden; instead an * character is appended as for changes made by the user.
- The XY Draw Mode dialog has been extended by adding a sort mode selector.
- XY views can now hold up to 2000 channels.
- A new ArrRev() script function has been added. It reverses the order of items in the first dimension of an array.
- The DlgValue$() script function can now set x values that match list items as text.
- The DlgValue$() script function now preserves legal strings that do not match the list.
- The limits to channel points per sweep is now 400 million; previously it was 40 million.
- A new SampleClampHP() script function has been added to provide access to the clamping holding potential during sampling.
- The system error logging level can now be set in the preferences.
- The FileName$() script function can now also be used on a string holding a path & file name.
- The Local, Global, Watch, Call stack & Object debug windows check if they are on screen; selecting a relevant object brings the window to the front.
- The context menu for cursor 0 now includes options to search right or left if active.
- The WindowTitle$() script function has been extended by adding a flags% argument.
- The file information dialog now remembers its window position and column widths.
- The text setup dialogs can now set the selection colour and enable highlighting of the line with the text cursor and any matching text.
- The context menu for an overdrawn channel can be obtained by right-clicking on the channel number beside the Y axis.
- Pressing F1 in the File Open and File Import dialogs will display the relevant help pages.
- The About Signal dialog now shows the computer name.
- The installation folder, operating system and computer name have all been added to the About Signal dialog Copy clipboard info.
- Cursor labels now support differences with a second cursor.
- A new dialog to set cursor labels for position differences has been added.
- The PowerMAG auxiliary states device can now operate in Flex mode.
- The start of sampling can now be delayed using a new Automation option.
- A new SampleStartDelay() script function has been added.
- A checkbox has been added to the sampling configuration to enable E1 start.
- A new SampleStartE1() script function has been added.
- The System$() script function has been extended to return Signal version and build information.
- The XYKey() script function now allows the key to be moved outside the visible area.
- The WEnv() virtual channel function has been extended to include cosine and raised cosine rise and fall phases.
- A new WindowTile() script function has been added to tile all Signal views.
- In dialogs created by a script, spinners for integer items now generate values that are quantized to the spin step in the same manner as real items.
- A new option has been added to the automation section of the sampling configuration to provide automatic copying of newly sampled data to the frame buffer at the end of a sweep.
- A new SampleCopyToBuffer() script function has been added.
- The MagStim auxiliary states device now has a specific theta burst mode for use with Rapid hardware.
- Auxiliary states devices that are TMS stimulators now all save the RMT value with the frame variables if RMT mode is in use.
- The online artefact detection system has been extended with new tests for artefacts which use the amplitude or RMS amplitude of the data.
- The SampleArtefactSet() and SampleArtefactGet() script functions have been extended to support the new tests for artefacts.
- You can now right click on the title bar of the sampling configuration dialog to copy the sampling configuration filename to the clipboard.
- A new MenuCommand() script function has been added to simulate the user using a menu.
- The state selector used to choose a state for setting individual repeats now shows the current repeat count.
- New GrdColourSet() and GrdColourGet() script functions have been added to allow scripted manipulation of individual grid view cell colours.
Changes
- The startup progress text box has been enlarged to provide space for the file path in case the initial configuration load hangs.
- The draw mode context menu item has been moved up higher in the menu.
- The draw mode dialog shows all channels with visible ones at the top.
- The Window() script function now rounds the positions when setting the window position to avoid truncation.
- Dialogs are generally generated relative to the context click position,when appropriate.
- Old-style non-XML resource files are no longer supported.
- View axes behave better when the YAxisMode() or XAxisMode() script functions are used to turn off the line & big ticks.
- The SampleStart() script function now obeys the start on E1 flag in the sampling configuration unless it is used to force an E1 start.
- The deferred online optimisation preferences option now only takes effect if data is currently being sampled. Optimisation during the intervals between sampling sweeps will take effect immediately.
- When changing the X axis during sampling using the scroll bar, Signal now updates the axis and display dynamically as you move the scroller 'thumb' instead of only updating when you release it.
- When adding marker data to channels using memory channel import or measurements, if a new marker is at the same time as an existing marker the new data now replaces the old marker rather than the time of the new marker being incremented to avoid a clash.
|
|