The signals used in Impulse are usually written into wave files (records) and a serializer (reader) must be available to import signals into the program.
Impulse uses the eclipse content management to identify a readable wave file. Name and extension are the criteria for the first selection. Afterwards the first N bytes of the file can be used for identification.
Impulse registers extensions for all readable wave files, makes them visible as such (the icon) and Impulse is assigned as default editor.
For some formats (like tabular files) there is no common extension available. In this case, the user needs to register his extension within the content management (Eclipse Preferences).
If the file is read, it is represented within eclipse as a record element. In the Project Explorer all scopes and signals are visible as child elements. The possible child elements are:
The possible child elements are:
- Scope (Can be a module, subsystem,...)
- Signal Proxies (are references to other signals)
A Scope is a generic element used by the reader to organized the elements in a useful way, usually inspired by the wave file (e.g it uses modules). Scopes don't have any other meaning.
Impulse supports the following signal types:
- Logic (1..N bits - the bits are stored as 2-state, 4-state or 16-state (usually 9 states are used) data.
- Float (32bit or 64bit)
- Integer (any length)
- Event (Enumeration)
- Text (any length)
- Structure (unlimited properties per struct (Text/Binary/Integer/Enumeration)
- Transaction Event (are grouped structure - a transaction can consist of multiple events)
- Binary (can contain images,..)
Signals can be discrete or continuous. The domain may be time,frequency or index.
Proxies are used to share equal signal data between different logical or physical signals. They are links that give an existing signal a new name or existence somewhere else within the record hierarchy.