KCL-BMEIS / spectrumdevice

Python library for communicating with digitisers manufactured by Spectrum Instrumentation
MIT License
6 stars 2 forks source link

Implement pulse generator functionality #42

Closed crnbaker closed 9 months ago

crnbaker commented 9 months ago

There is an optional firmware feature for both AWGs and digitisers that enable the multipurpose IO lines to be used as pulse generators. From the manual:

"The module consists of four pulse generators, where each generator allows for (in)dependent generation of individual pulses, pulse trains or a continuous stream of pulses that can be output on a Multi-Pur- pose I/O Line, greatly enhancing the versatility of the XIO lines." [page 143].

Each IO line (AbstractSpectrumIOLine in spectrumdevice) has its own pulse generator. It is enabled by settings the SPCM_X0_MODE, SPCM_X1_MODE, SPCM_X2_MODE, SPCM_X3_MODE registers to SPCM_XMODE_PULSEGEN. This must be configured before M2CMD_CARD_START (or M2CMD_CARD_WRITESETUP)