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

Reply via email to