Hello Joe, Le 21/01/15 19:08, Joe Britton a écrit : > Thank you for the question Yann. I spoke with John Gabler and Dan Slichter > here at NIST and came up with the following advice. > > There's no need for the 6733 controller to run on a Linux machine. Ok > I've found the NI libraries on Windows to be reasonably straightforward > (NI-DAQmx libraries with C++). I recommend building to a binary.dll then > writing a python interface (using e.g. ctypes) for artiq. Actually I was thinking about using the PyDAQmx project ( http://pythonhosted.org/PyDAQmx/ ) and provide a direct access to the PyDAQmx API through the ARTIQ RPC mechanism. The PyDAQmx API being itself a direct wrapping/binding of the NI DAQ mx ANSI C driver API.
So for instance you would be able in your ARTIQ client to directly call the following methods of the RPC'd object: - DAQmxCreateTask() - DAQmxCreateAIVoltageChan() - DAQmxCfgSampClkTiming() - DAQmxStartTask() - DAQmxReadAnalogF64() - DAQmxStopTask() - DAQmxClearTask() ... and so on. Would this be acceptable? > > I'll send you a copy of the code we currently use as part of our HFgui > environment. I recommend taking a look at QC-DAQ\src\6733wfm to see how > this was coded in the past; reuse as much as you can. From an interface > perspective it would be excellent if the 6733 looked identical to the PDQ > interface. See above for what I had in mind for the API. You mean you want the interface/API to look like the current ARTIQ PDQ2 driver API? ( https://github.com/m-labs/artiq/blob/master/artiq/devices/pdq2/driver.py ). It seems pretty low level. > Some differences: > * 6733 doesn't support waveform branching > * The "waveform advance" pulse to the 6733 is what causes its output to > transition from one ADC channel (voltage) to another. We usually generate > this pulse from the FPGA not from a periodic clock (eg crystal oscillator). > This makes it possible to a) conserve memory on the 6733 when a static > output is desired and b) reduce noise on the 6733 analog outputs (its more > noisy when being clocked). > > -Joe > > > > On Tue, Jan 20, 2015 at 3:55 AM, Yann Sionneau <y...@m-labs.hk> wrote: > >> Hello, >> >> I'm trying to implement a controller for NI PXI 6733 even if I didn't >> receive the hardware yet. >> First task was to pick a library/driver to control it. >> >> So far I found 4 python libraries: PyDAQmx, pylibdaqmx, pycomedilib >> (debian package name python-comedilib) and pycomedi. >> I wasn't able to make any of them work under Linux for various reasons >> (python 3 vs python 2, or crashing while loading some shared library). >> I was able to import and call a few functions (under Windows 7) of PyDAQmx >> which makes it a potential candidate. >> >> Is the PXI 6733 used on Linux machines? Is there a real need for a Linux >> controller? >> >> Thanks! >> >> Regards, >> >> -- >> Yann >> _______________________________________________ >> ARTIQ mailing list >> https://ssl.serverraum.org/lists/listinfo/artiq >> _______________________________________________ ARTIQ mailing list https://ssl.serverraum.org/lists/listinfo/artiq