Scrolling Memory


The object provides a kind of fifo memory. On each call a new floating point value is appended to an internal buffer, which appears as a floating point data vector on the output side. The length of the internal buffer is specified via the property dialog. If the buffer is full and another data value should be appended, the oldest value is discarded and the new value is appended. So the object works as a kind of plotter, which only has a limited memory.

The object can hold multiple data vectors, on each call all of the data vectors must be assigned so that all vectors have the same length. This is useful when multiple values are recorded at the same time.

The names of the vectors are specified in the property dialog. For each name a floating point variable appears on the input side and a floating point vector appears on the output side. The internal buffer is cleared when calling the "Clear" action. Next to the output vectors there are more output variables: "DataLength" returns the actual length of the data buffer, "Full" returns 1 if the internal memory is full and data values are discarded and 0 if internal length is shorter than the specified maximum length. The floating point array "Timescale" returns the time when each of the data points were stored in the scrolling memo. The time is given in milliseconds and relative to the actual time, so that the last value has a time value of nearly 0 and older values have negative time. This time scale can be used as scale when displaying the contents of a scrolling memo.
Fig. 1: Usage for plotting measurement data

Fig. 1 shows a usage example: Plotting the history of measurement readings. This can be done by using only 4 objects.

The Vimms User Manual