A leading-edge control system for quantum information experiments
Go to file
Yann Sionneau da1398b183 pxi6733: fix crash when samples are all the same
When samples are all the same, min = max, which PyDAQmx does not like.
This avoids the following crash reported by Kathie:

C:\Users\rabi\artiq\artiq\frontend [master]> python .\artiq_rpctool.py ::1 3256
call load_sample_values 100000 'np.array([0.0,0.0],dtype=float)'
Traceback (most recent call last):
  File ".\artiq_rpctool.py", line 112, in <module>
    main()
  File ".\artiq_rpctool.py", line 107, in main
    call_method(remote, args.method, args.args)
  File ".\artiq_rpctool.py", line 79, in call_method
    ret = method(*[eval(arg) for arg in args])
  File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq-
0.0+dev-py3.4.egg\artiq\protocols\pc_rpc.py", line 142, in proxy
    return self.__do_rpc(name, args, kwargs)
  File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq-
0.0+dev-py3.4.egg\artiq\protocols\pc_rpc.py", line 134, in __do_rpc
    return self.__do_action(obj)
  File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq-
0.0+dev-py3.4.egg\artiq\protocols\pc_rpc.py", line 128, in __do_action
    raise RemoteError(obj["message"])
artiq.protocols.pc_rpc.RemoteError: Traceback (most recent call last):
  File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq-
0.0+dev-py3.4.egg\artiq\protocols\pc_rpc.py", line 476, in _handle_connection_cr

    ret = method(*obj["args"], **obj["kwargs"])
  File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq-
0.0+dev-py3.4.egg\artiq\devices\pxi6733\driver.py", line 117, in load_sample_val
ues
    byref(num_samps_written), None)
  File "<string>", line 3, in WriteAnalogF64
  File "<string>", line 2, in function
  File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\pydaqm
x-1.3.1-py3.4.egg\PyDAQmx\DAQmxFunctions.py", line 28, in mafunction
    raise DAQError(error,errBuff.value.decode("utf-8"), f.__name__)
PyDAQmx.DAQmxFunctions.DAQError: Minimum is greater than or equal to the maximum
. Ensure the maximum value is greater than the minimum value. If using a custom
scale, ensure that the scaled maximum is greater than the scaled minimum.
Property: DAQmx_AO_Min
Corresponding Value:  0.0

Property: DAQmx_AO_Max
Corresponding Value:  0.0

Channel Name: Dev1/ao1

Task Name: _unnamedTask<4>

Status Code: -200082
 in function DAQmxWriteAnalogF64
2015-08-19 12:49:33 +02:00
.travis travis: dont overwrite conda env PATH, escape dollar signs, fixes #84 2015-08-14 19:00:08 +02:00
artiq pxi6733: fix crash when samples are all the same 2015-08-19 12:49:33 +02:00
conda conda: make aiohttp testing not depend on gunicorn on Windows platform 2015-08-17 22:02:27 +02:00
doc doc: units 2015-08-18 23:31:06 +08:00
examples kc705: add TTL channel on SMA GPIO N 2015-08-18 15:20:42 +08:00
misc Add binutils patch. 2015-08-09 23:33:00 +03:00
soc kc705: add TTL channel on SMA GPIO N 2015-08-18 15:20:42 +08:00
.gitignore gitignore: ignore static libs 2015-04-17 16:39:36 +08:00
.gitmodules git: ignore untracked files in lwip submodule 2015-05-03 20:48:20 +08:00
.travis.yml Revert "travis: use more recent libstdc++" 2015-08-17 17:51:36 +02:00
README.rst doc: minor cleanup 2015-08-09 14:14:55 +08:00
setup.py add InfluxDB bridge 2015-08-17 15:44:40 +08:00

README.rst

.. image:: doc/logo/artiq.png
.. image:: https://travis-ci.org/m-labs/artiq.svg
    :target: https://travis-ci.org/m-labs/artiq

ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is a
next-generation control system for quantum information experiments. It is
developed in partnership with the Ion Storage Group at NIST, and its
applicability reaches beyond ion trapping.

The system features a high-level programming language that helps describing
complex experiments, which is compiled and executed on dedicated hardware with
nanosecond timing resolution and sub-microsecond latency.

Technologies employed include Python, Migen, MiSoC/mor1kx, LLVM and llvmlite.

ARTIQ is licensed under 3-clause BSD.

Website:
http://m-labs.hk/artiq