62 #ifndef IMS_COMPENSATION_H__
63 #define IMS_COMPENSATION_H__
76 #if defined _WIN32 || defined __CYGWIN__
78 #define DLL_EXPORT __attribute__ ((dllexport))
79 #define DLL_IMPORT __attribute__ ((dllimport))
81 #define DLL_EXPORT __declspec(dllexport) // Note: actually gcc seems to also supports this syntax.
82 #define DLL_IMPORT __declspec(dllimport) // Note: actually gcc seems to also supports this syntax.
87 #define DLL_EXPORT __attribute__ ((visibility ("default")))
88 #define DLL_IMPORT __attribute__ ((visibility ("default")))
89 #define DLL_LOCAL __attribute__ ((visibility ("hidden")))
97 #if defined(_EXPORTING_IMS)
98 #define LIBSPEC DLL_EXPORT
99 #define LIBLOCAL DLL_LOCAL
100 #define EXPIMP_TEMPLATE
101 #elif defined(_STATIC_IMS)
104 #define EXPIMP_TEMPLATE
106 #define LIBSPEC DLL_IMPORT
107 #define LIBLOCAL DLL_LOCAL
108 #define EXPIMP_TEMPLATE extern
184 void Amplitude(
const Percent& ampl);
193 const Percent& Amplitude()
const;
201 void Phase(
const Degrees& phase);
213 void SyncDig(
const unsigned int& sync);
216 const std::uint32_t& SyncDig()
const;
226 void SyncAnlg(
const double& sync);
229 const double& SyncAnlg()
const;
277 void Freq(
const MHz& f);
445 const std::size_t Size()
const;
455 const MHz FrequencyAt(
const unsigned int index)
const;
460 const bool Save(
const std::string& fileName)
const;
521 bool StartDownload();
528 int GetVerifyError();
534 void CompensationTableDownloadEventSubscribe(
const int message,
IEventHandler* handler);
558 void CompensationTableDownloadEventUnsubscribe(
const int message,
const IEventHandler* handler);
593 #undef EXPIMP_TEMPLATE
Not used.
Definition: Compensation.h:129
Events
List of Events raised by the Compensation Class and Compensation Table Downloader.
Definition: Compensation.h:127
Class for performing Compensation related functions with the Synthesiser.
Definition: Compensation.h:305
All the different types of events that can be triggered by the Compensation and CompensationTableDown...
Definition: Compensation.h:123
Type Definition for all operations that require an angle specification in degrees.
Definition: IMSTypeDefs.h:314
Classes for reading, writing and managing the file system built into an iMS Synthesiser.
FileDefault
Default flag tags a file entry for execution at startup (only one per filetype)
Definition: FileSystem.h:141
Interface Specification class for sending large binary data objects to the iMS.
Definition: IBulkTransfer.h:102
Template Class encapsulating a list object and acting as a base list class for other classes in the l...
Definition: Containers.h:91
Interface Class for User Application code to receive and process events from the iMS library...
Event raised on completion of a download verify, if the download was successfully verified...
Definition: Compensation.h:135
Stores 4 data fields containing amplitude, phase, sync analogue and sync digital compensation data...
Definition: Compensation.h:156
Provides a mechanism for downloading and verifying Compensation Tables to a Synthesiser's Look-Up mem...
Definition: Compensation.h:489
An object representing the overall configuration of an attached iMS System and permits applications t...
Definition: IMSSystem.h:361
Event raised each time the CompensationTableDownload class registers an error in the download process...
Definition: Compensation.h:133
int FileSystemIndex
FileSystemIndex represents the entry number for a particular file in the FileSystemTable.
Definition: FileSystem.h:150
The entire API is encapsulated by the iMS namespace.
Definition: Auxiliary.h:95
Type Definition for all operations that require a percentage specification.
Definition: IMSTypeDefs.h:241
Classes within this group are used to store information about an iMS System and to Connect / Disconne...
Container Classes for storing various types of data related to Image classes and others.
A table of CompensationPoints storing look-up data that can be transferred to memory in the Synthesis...
Definition: Compensation.h:361
Type Definition for all operations that require a frequency specification in MegaHertz.
Definition: IMSTypeDefs.h:191
Interface Class for an Event Handler to be defined in User Code and subscribed to library events...
Definition: IEventHandler.h:146
Interface Specification class for sending large binary data objects to the iMS.
Template Class encapsulating a deque object and acting as a base deque class for other classes in the...
Definition: Containers.h:302
Completely specifies the desired compensation at a spot frequency.
Definition: Compensation.h:252
Event raised on completion of a download verify, if the download failed. param contains the number of...
Definition: Compensation.h:137
Event raised when CompensationTableDownload has confirmed that the iMS Controller received all of the...
Definition: Compensation.h:131
Useful Type Definitions for working with iMS Systems.