Record generator

The record generator help you to prepare a record with all its contents. If you create a reader, your class will be derived from IRecordGenerator, if you are working with recJs scripts or a scripted reader, a IRecordGenerator variable (generator) will be provided. The "Signal Script" production does not require to use a record generator, as the signal and reader setup is done internally.

To create a record , the following steps are required:

Initialize the record

Add the record content (scopes, signals and proxies)

Acquire writers for the signals you want to fill

Open the writer

Write samples

Close the writer

The ISingleDomainRecordGenerator interface provides a more comfortable interface when using records with only 1 domain base. Open JavaDoc Reference

Experimenting with records

If you want to experiment with records and signals, just create a file/resource with file ending "recJs" (e.g. my_wave.recJs) and put the following text into the header of the file ("//-recjs" is important to get the file identified) :

Defining signals

After defining a signal, you can create a writer to add samples. To define a signal you need a signal and process type. The signal type defines the data type of a signal (text, integer, float, ...). The process type defines how the samples are organized on the domain (Discrete: at any position; Continuous: at fixed positions with equal distance).
impulse supports the following signal types:

Logic (1..N bits — the bits are stored as 2-state, 4-state or 16-state data (usually nine states are used).

Transaction Event (a group of structures — a transaction can consist of multiple events)

Binary (can contain images,… )

The signal descriptor contains additional information about the signal.
The domain of a signal may be Time,Frequency,Index,... . The domain base represents the the minimum distance between two samples (e.g. ns or ps).
If "createWriter" is set to true (the default value), a writer is generated in background.

container: Parent of new signal, or null (for root).

name: Name of the new signal.

description: Signal description (just comments).

processType: Discrete or Continuous process type (ProcessType. ...).

signalType: One of the defined signal types (SignalType. ...).

signalDescriptor: Extended definition of the signal type, usually set to SignalDescriptor.DEFAULT.

Adding proxies

Proxies are signals that contains the identical content of a another signal. To create a proxy, you just need a container (or null for the root), a name, a descritpion (or null) and the referenced signal (must not be null).