Recent technical history of Spike2 for Mac

See also: Script library, History menu, Latest for 68K Mac

Date Version Summary
02/012.33This version works with the Micro1401 Mk II.
02/012.31aNew 1401 commands to allow cosine output rates on DACs to be controlled with variables.
01/012.31The SampleSeqVar() script command now works for the Power1401.
The FilePathSet() command can now create new folders.
08/992.29First version to work with Power1401. CursorDelete(-1) added. Correct 1401plus commands.
06/992.28New
  1. HCursorDelete(-1) now deletes all horizontal cursors in a view.
Fixes
  1. The Window() command now sets the size of windows that are both minimised and hidden. Previously it had no effect on a window in this state.
  2. When SetEvtCrlShift() is set, a shift in an auto-correlation data was subtracted from the bin at time 0 rather than from the bin at the correct time shift.
  3. In the Output sequencer SET command, if the DACs were given a non-zero offset, the offset was used in the calculation of values for the ADDACn command when it should not have been.
  4. Spike2 could "leak" memory each time you sampled data. If you sampled often enough this would lead to progressively slower operation and eventual program failure. Restarting Spike2 would restore normal operation.
03/992.27Sonfix now shipped with Spike2. ChanTitle$() no longer gives false "Out of memory". FileSaveAs("",1) now works.
12/982.26Can now double click a config file. Keypresses work in sequencer dialog.
10/982.25The first release of PPC version.
 
01/03 2.12 This version works with the Micro1401 Mk II.
01/01 2.11a New 1401 commands to allow cosine output rates on DACs to be controlled with variables.
01/012.11The SampleSeqVar() script command now works for the Power1401.
07/992.10 New
  1. HCursorDelete(-1) now deletes all horizontal cursors in a view.
Fixes
  1. The Window() command now sets the size of windows that are both minimised and hidden. Previously it had not effect on a window in this state.
  2. When SetEvtCrlShift() is set a shift in an auto-correlation data was subtracted from the bin at a time 0 rather than from the bin at a correct time shift.
  3. In the Output sequencer SET command, if the DACs were given a non-zero offset, the offset was used in the calculation of values for the ADDACn command when it should not have been.
  4. Spike2 could "leak" memory each time you sampled data. If hyou sampled often enough this would lead to progressively slower operation and eventual program failure. Restarting Spike2 would restore normal operation.
This version supports Power1401.
06/982.09
  1. We have added two new modes to the Cursor regions window: Sum and Area (scaled). Sum mode returns the sum of all the bins in a result view or data values in a waveform channel. For any other channel it is the same as Area. Area(scaled) is the same as Area, except that if a zero column is set, zero column values are scaled to allow for relative column width before being subtracted.
  2. The script language has been extended with four new assignment operators: +=, -+, *= and /=. These can be used like := but they have the following effect:
    a += b; is the same as a := a + b
    += b$; is the same as a$ := a$ + b$
    a -= b; is the same as a := a - b
    a *= b; is the same as a := a * b
    a /= b; is the same as a := a / b

    It is more efficient (faster) to use these new operations than the equivalent old format, but scripts that use these new operators will not work on older versions of Spike2. These operators are particularly useful with arrays: arrayVal[23+4*inc%] += 1; for example.

  3. MemSetItem() no longer forces a redraw of the entire channel. Only the changed data is redrawn.
  4. The ArrFFT() command and associated documentation has been changed. The major change is that the power (mode 5) is now a factor of two smaller. This means that given an array of data, the sum of the power from ArrFFT() is now equal to the sum of the squares of the original data values divided by the number of data values. Previously the results were simply the squares of the amplitudes.
  5. Documentation: ArrIntgl() is a proc, not a func.
  6. The Analysis menu Power spectrum command was returning the DC power a factor of two too large. It is now correct. The power at other frequencies was correct.
  7. SerialCount() no longer waits one second for characters if there are none.
01/982.08Fixes
  1. LastTime() command when used on a memory buffer waveform channel gave incorrect results.
  2. MemImport() command now works as documented. Previously you could not import a WaveMark channel into an event channel.
12/972.07Improvements:
  1. FileSaveAs now works if type is set to -1.
  2. Fitline returns the correct error code.
  3. Wavemark channels set up with an odd number of data points on a micro1401 now works.
  4. MemsetItem now works properly when you place data in channel using the index rather than the start time.
  5. Waveform memory channels don't redraw themselves completely when just a little bit has been added to the end.
  6. Number of columns to export data in an ASCII format extended from 99 to 255.
  7. Toolbar(1, expression with a function call, func-name%) no longer gives a compiler error.
10/972.06Improvements:
  1. MemImport() of a WaveMarkchannel into memory WaveMark channel insisted on having 5 arguments.
  2. MemImport() using the "extract WaveMark from waveform" version of the command with non-zero number of points before the time, would shift the extracted waveform by a small number of clock ticks.
  3. Event ToWaveform() with meanF argument that is not zero sets the scale incorrectly in the result.
  4. MemChan() was not checking if there were enough arguments.
  5. SampleWaveMark() modified. Now it allows to set an even number of data points.
  6. TextMark channels allowed in the list of triggering channels.
  7. A bug, which prevented cursors on the right hand side of the picture being drawn when saved or exported as a picture or copied to the clipboard, has been fixed.
07/972.05 BRead()and BWrite() much faster now when used with integer and real array arguments.
06/972.04
  1. The XRange command in a result view now accepts arguments in X axis units. NextTime() and LastTime() no longer return negative values for code values greater than 127.
  2. ProcessTriggereg will accept triger code of 0.
  3. SampleSeqVar can be used as soon as you have a data file opened.
  4. In triggered mode activating enable or disable saving to disk will no longer trigger sampling.
  5. RealMark channels can now have their units set.
  6. Bug fixed in the slope calculation function for the cursors region and for the FitLine() command.
06/972.03 New:
  1. MARK a new output sequencer command added.
  2. Implementation of a hexadecimal numbers in the script language.
Fixes:
  1. Waveform cross-correlation: If you correlated more than 8000 points, only the final 8000 points counted in the correlation.
  2. Memory channel script commands. Scripts that made extensive use of memory channels could lose memory, which caused scripts to fail. Other fixes (for example TextMarks to a memory channel could hang the system).
  3. Horizontal cursors didn't erase properly when dragged, now they do. Output sequencer format command for SET command now allows two decimal places.
05/972.01b Rebuilt to work with issue C of the Micro. This version should also work with the PCI interface.