Isomet Modular Synthesiser (iMS) API  v1.4.2
iMS API
Classes | Typedefs | Enumerations | Variables
iMS Namespace Reference

The entire API is encapsulated by the iMS namespace. More...

Classes

class  Auxiliary
 Provides auxiliary additional functions not directly related to Synthesiser operation. More...
 
class  AuxiliaryEvents
 All the different types of events that can be triggered by the Auxiliary class. More...
 
class  CompensationEvents
 All the different types of events that can be triggered by the Compensation and CompensationTableDownload classes. More...
 
class  CompensationFunction
 Class for performing Compensation related functions with the Synthesiser. More...
 
class  CompensationFunctionList
 A List of CompensationFunction's used as a container by ImageProject. More...
 
class  CompensationPoint
 Stores 4 data fields containing amplitude, phase, sync analogue and sync digital compensation data. More...
 
class  CompensationPointSpecification
 Completely specifies the desired compensation at a spot frequency. More...
 
class  CompensationTable
 A table of CompensationPoints storing look-up data that can be transferred to memory in the Synthesiser. More...
 
class  CompensationTableDownload
 Provides a mechanism for downloading and verifying Compensation Tables to a Synthesiser's Look-Up memory. More...
 
class  ConnectionList
 Creates iMS Connection Interfaces and scans them to discover available iMS Systems. More...
 
class  DDSScriptDownload
 Provides a mechanism for transferring DDS Scripts into Filesystem memory. More...
 
class  DDSScriptRegister
 Create a register write to send to the DDS IC. More...
 
class  Degrees
 Type Definition for all operations that require an angle specification in degrees. More...
 
class  DequeBase
 Template Class encapsulating a deque object and acting as a base deque class for other classes in the library to inherit from. More...
 
class  Diagnostics
 Provides a mechanism for retrieving diagnostics data about the attached iMS System. More...
 
class  DiagnosticsEvents
 All the different types of events that can be triggered by the Diagnostics class. More...
 
struct  FAP
 FAP (Frequency/Amplitude/Phase) triad stores the instantaneous definition of a single RF output. More...
 
class  FileSystemManager
 Provides user management operations for working with Synthesiser FileSystems. More...
 
struct  FileSystemTableEntry
 Contains all the parameters that uniquely locate a File within the Synthesiser FileSystem. More...
 
class  FileSystemTableViewer
 Provides a mechanism for viewing the FileSystemTable associated with an iMS System. More...
 
class  Frequency
 Type Definition for all operations that require a frequency specification. More...
 
struct  FWVersion
 Stores the version number of firmware running on iMS hardware. More...
 
class  IBulkTransfer
 Interface Specification class for sending large binary data objects to the iMS. More...
 
class  IEventHandler
 Interface Class for an Event Handler to be defined in User Code and subscribed to library events. More...
 
class  Image
 A sequence of ImagePoints played out sequentially by the Controller and driven by the Synthesiser. More...
 
class  ImageDownload
 Provides a mechanism for downloading and verifying Images to a Controller's memory. More...
 
class  ImageDownloadEvents
 All the different types of events that can be triggered by the ImageDownload class. More...
 
class  ImageGroup
 An ImageGroup collects together multiple associated images and a single ImageSequence for controlling Image playback order. More...
 
class  ImageGroupList
 A List of ImageGroup's used as a container by ImageProject. More...
 
class  ImagePlayer
 Once an Image has been downloaded to Controller memory, ImagePlayer can be used to configure and begin playback. More...
 
class  ImagePlayerEvents
 All the different types of events that can be triggered by the ImagePlayer class. More...
 
class  ImagePoint
 Stores 4 FAP Triads containing frequency, amplitude and phase data for 4 RF channels. More...
 
class  ImageProject
 An ImageProject allows the user to organise their data and store it on the host computer. More...
 
class  ImageSequence
 An ImageSequence object completely defines a sequence to be played back on an iMS Controller in terms by containing a list of ImageSequenceEntry 's plus a terminating action and optional value. More...
 
struct  ImageSequenceEntry
 An ImageSequenceEntry object can be created by application software to specify the parameters by which an Image is played back during an ImageSequence. More...
 
struct  ImageTableEntry
 An ImageTableEntry is created by the SDK on connecting to an iMS System, one for each Image that is stored in Controller memory and allocated in the Image Index Table. Further ImageTableEntries are added to the table each time an Image is downloaded to the Controller. More...
 
class  ImageTableViewer
 Provides a mechanism for viewing the ImageTable associated with an iMS System. More...
 
class  IMSController
 Stores Capabilities, Description, Model & Version Number of an iMS Controller. More...
 
class  IMSOption
 An iMS Synthesiser can support one iMS Option, which adds an additional hardware function to the capabilities of the Synthesiser. More...
 
class  IMSSynthesiser
 Stores Capabilities, Description, Model & Version Number of an iMS Synthesiser. More...
 
class  IMSSystem
 An object representing the overall configuration of an attached iMS System and permits applications to connect to it. More...
 
class  kHz
 Type Definition for all operations that require a frequency specification in kiloHertz. More...
 
class  LibVersion
 Access the version information for the API. More...
 
class  ListBase
 Template Class encapsulating a list object and acting as a base list class for other classes in the library to inherit from. More...
 
class  MHz
 Type Definition for all operations that require a frequency specification in MegaHertz. More...
 
class  Percent
 Type Definition for all operations that require a percentage specification. More...
 
class  RFChannel
 Type that represents the integer values 1, 2, 3 and 4, one each for the RF Channels of an iMS Synthesiser. More...
 
class  SequenceDownload
 This class is a worker for transmitting an ImageSequence to an iMS Controller and joining it to the back of the sequence queue. More...
 
class  SequenceEvents
 All the different types of events that can be triggered by the SequenceManager class. More...
 
class  SequenceManager
 
class  SignalPath
 Controls Signal routing and other parameters related to the RF output signals. More...
 
class  SignalPathEvents
 All the different types of events that can be triggered by the SignalPath class. More...
 
struct  StartupConfiguration
 The Synthesiser stores in its non-volatile memory a set of configuration values that are preloaded on startup. More...
 
class  SystemFunc
 Provides System Management functions not directly related to RF signal generation or signal path control. More...
 
class  SystemFuncEvents
 All the different types of events that can be triggered by the SystemFunc class. More...
 
class  ToneBuffer
 An array of 4-channel FAP Tones stored in memory on the Synthesiser. More...
 
class  ToneBufferDownload
 Provides a mechanism for downloading ToneBuffer's to a Synthesiser's LTB memory. More...
 
class  ToneBufferEvents
 All the different types of events that can be triggered by the ToneBuffer and ToneBufferDownload classes. More...
 
class  ToneBufferList
 A List of ToneBuffer's used as a container by ImageProject. More...
 
class  UserFileReader
 Provides a mechanism for retrieving User File data from the Synthesiser FileSystem. More...
 
class  UserFileWriter
 Provides a mechanism for committing User File data to the Synthesiser FileSystem. More...
 
struct  VelocityConfiguration
 Sets the parameters required to control the operation of the Encoder Input / Velocity Compensation function. More...
 

Typedefs

using DDSScript = std::vector< DDSScriptRegister >
 DDSScript stores the sequence of register writes to be loaded onto the Synthesiser. Can be manipulated using the normal container operations provided by std::vector
 
using FileSystemIndex = int
 FileSystemIndex represents the entry number for a particular file in the FileSystemTable.
 
using ImageIndex = int
 Each ImageIndex is an offset into the Image Index Table that uniquely refers to an Image stored in Controller Memory.
 
typedef ImageGroup ImageFile
 For backwards compatibility with code written against SDK 1.2.6 or earlier.
 
using TBEntry = ImagePoint
 TBEntry is synonymous with ImagePoint An entry in the Tone Buffer contains four FAPs, one per output channel and is therefore comparable to a single ImagePoint making up one entry in an Image. More...
 

Enumerations

enum  FileSystemTypes : std::uint8_t {
  FileSystemTypes::NO_FILE = 0, FileSystemTypes::COMPENSATION_TABLE = 1, FileSystemTypes::TONE_BUFFER = 2, FileSystemTypes::DDS_SCRIPT = 3,
  FileSystemTypes::USER_DATA = 15
}
 All of the different (up to 15) types of file available to the filesystem. More...
 
enum  FileDefault : bool { FileDefault::DEFAULT = true, FileDefault::NON_DEFAULT = false }
 Default flag tags a file entry for execution at startup (only one per filetype) More...
 
enum  ImageRepeats { ImageRepeats::NONE, ImageRepeats::PROGRAM, ImageRepeats::FOREVER }
 Each Image can be repeated, either a programmable number of times, or indefinitely. More...
 
enum  SequenceTermAction : std::uint8_t {
  SequenceTermAction::DISCARD = 0, SequenceTermAction::RECYCLE = 1, SequenceTermAction::STOP_DISCARD = 2, SequenceTermAction::STOP_RECYCLE = 3,
  SequenceTermAction::REPEAT = 4, SequenceTermAction::REPEAT_FROM = 5
}
 Operation to perform on the completion of the last repeat of the last entry in a Sequence. More...
 

Variables

const unsigned int MAX_FST_ENTRIES = 33
 Maximum number of entries that may be stored in the FileSystem.
 

Detailed Description

The entire API is encapsulated by the iMS namespace.

In User application code, either add the line 'using namespace iMS;' at the start of your application, or prefix all classes, functions etc with 'iMS::'

Author
Dave Cowan
Since
1.0

Typedef Documentation

using iMS::TBEntry = typedef ImagePoint

TBEntry is synonymous with ImagePoint An entry in the Tone Buffer contains four FAPs, one per output channel and is therefore comparable to a single ImagePoint making up one entry in an Image.

Since
1.1

Enumeration Type Documentation

enum iMS::FileDefault : bool
strong

Default flag tags a file entry for execution at startup (only one per filetype)

Since
1.1
Enumerator
DEFAULT 

Default indicates the Synthesiser should attempt to execute that file during its startup procedure.

NON_DEFAULT 

Non-default is the normal state for most files.

enum iMS::FileSystemTypes : std::uint8_t
strong

All of the different (up to 15) types of file available to the filesystem.

Since
1.1
Enumerator
NO_FILE 

No file stored at this FileSystemTable entry.

COMPENSATION_TABLE 

File contains Compensation table data.

TONE_BUFFER 

File contains ToneBuffer data.

DDS_SCRIPT 

File contains a DDS Script for manual programming of the DDS.

USER_DATA 

File contains user data for application use.

enum iMS::ImageRepeats
strong

Each Image can be repeated, either a programmable number of times, or indefinitely.

Since
1.2.1
Enumerator
NONE 

The Image is played back only once.

PROGRAM 

The Image is played back a programmable number of times according to the value set in the PlayConfiguration table.

FOREVER 

The Image is played back repeatedly until stopped by the application.

enum iMS::SequenceTermAction : std::uint8_t
strong

Operation to perform on the completion of the last repeat of the last entry in a Sequence.

Since
1.2.4
Enumerator
DISCARD 

Delete the ImageSequence from the Sequence Queue and move on to the next Sequence, if it exists, otherwise Stop.

RECYCLE 

Move the ImageSequence to the end of Sequence Queue and move on to the next Sequence, if it exists, otherwise repeat this ImageSequence.

STOP_DISCARD 

Delete the ImageSequence from the Sequence Queue and stop playback.

STOP_RECYCLE 

Move the ImageSequence to the end of Sequence Queue and stop playback.

REPEAT 

No effect on the Sequence Queue. Repeat the current Sequence.

REPEAT_FROM 

No effect on the Sequence Queue. Repeat the current Sequence starting from the ImageSequenceEntry index specified in the Termination Value.