The @idds object provides a high-level interface by which to control one or more Isomet iDDS devices for random-access and ramp scan operations, such as those to be employed in the RandScan Plug-in application. Under the hood, it dispatches the serial port (via @serial) commands to configure the devices as well as the analog output commands (via @daqmanager) to control the output timing on two D/A channels in an appropriate manner to effect Chirp and/or Image operation on its various devices.

The @idds object can be multiply instantiated, and each object is associated with one or more COM ports, specified upon instantiation, onto which are attached physical iDDS devices. Each @idds object must also be associated with a pre-existing @daqmanager object, for which two D/A channels - to be used as the clock and trigger channels - must already be named. The @idds object is designed such that all the attached physical iDDS objects are controlled by these two shared digital control signals, implemented at present via analog output channels given the restrictions of the Data Acquisition toolbox. This is more liberating than restricting - control signal sequences have been designed such that these two signals can support operation of the iDDS devices in any combination of Image and Chirp modes without any alteration in the physical wiring. These combinations support each of the imagined use cases for the iDDS devices - including random-access scanning as well as various modes of raster scanning -- while using the minimum number of data acquisition channel resources.

Constructor idds()

The constructor syntax for the @idds object is

idds(comports, dm,  clockchan, trgchan) 
  • "comports" is an integer, or array of integers, identifying the COM port(s) which this
  • No labels