Commit Graph

220 Commits

Author SHA1 Message Date
whitequark 009d396740 Move mu_to_seconds, seconds_to_mu to Core. 2016-11-21 05:37:30 +00:00
Robert Jördens 0e41725e2d pdq2: sync with pdq2 2016-10-18 09:43:46 +02:00
Sebastien Bourdeauducq fac0c68cd1 novatech409b: fix get_status 2016-09-23 11:03:50 +08:00
Sebastien Bourdeauducq c7c8ad126f pc_rpc: raise AttributeError immediately for nonexistent RPC methods. Closes #534 2016-09-14 11:22:07 +08:00
Robert Jördens 586f071756 lda: fix windows path 2016-08-11 14:13:20 +02:00
Kelly Stevens 4077613020 doc: re-formatting a directory path in lda driver comments so it will display correctly in the sphinx documentation 2016-08-01 23:34:49 +02:00
Sebastien Bourdeauducq 114b305203 use recommended asyncio.ensure_future instead of asyncio.Task 2016-05-22 16:36:29 -07:00
Robert Jördens 13b4929dd8 wavesynth: silence is a channel property (closes #348) 2016-04-07 21:51:29 +08:00
Sebastien Bourdeauducq 3c09577ed0 device/thorlabs_tcube: fix port read 2016-03-29 14:39:55 +08:00
Sebastien Bourdeauducq b5441fd107 devices/novatech409b: convert to asyncserial 2016-03-22 21:55:58 +08:00
Sebastien Bourdeauducq 7657b67ea6 devices/thorlabs_tcube: cleanup, convert to asyncserial 2016-03-22 21:55:37 +08:00
Robert Jördens 01e919dad8 novatech409b: log sim commands, style 2016-03-10 16:50:18 +01:00
Robert Jördens aa50c5b4d9 pdq2.mediator: minor tweaks 2016-02-24 18:11:05 +01:00
Robert Jördens f2acf95f98 pdq2.mediator: err on short segments 2016-02-24 18:11:05 +01:00
Robert Jördens 269e9c600c pdq2.mediator: use channel numbers from subdevices, track segment duration 2016-02-22 15:29:27 +01:00
Robert Jördens b327c50f14 pdq2: do not emit frame-initial trigger line (segments are triggered) 2016-02-22 15:29:27 +01:00
Robert Jördens 1b410abc2c pdq2: move initialization and park/unpark to driver 2016-02-22 15:29:27 +01:00
Robert Jördens 7c246b3559 pdq2: redo program serialization, cleanup 2016-02-21 17:34:18 +01:00
Robert Jördens 294eac19fe pdq2.mediator: cleanup/style 2016-02-21 17:33:45 +01:00
Robert Jördens fef72506e4 ctlmgr/gui/master: start subprocesses in new pgroup
This only makes a difference on POSIX. It prevents subprocesses
from receiving the signals that the parent receives. For ctlmgr
and master is cuts down on spam on the console (KeyboardInterrupt
tracebacks from all controllers) and enforces that proper
termination is followed.

This does not help if the parent gets SIGKILL (subprocesses
may linger).
2016-02-18 23:51:12 +01:00
Sebastien Bourdeauducq 155c2ec2ef ctlmgr,worker: set PYTHONUNBUFFERED for subprocesses 2016-02-18 12:41:08 +01:00
Robert Jördens ab81dbbd19 Merge remote-tracking branch 'm-labs/master' into subprocess-termination
* m-labs/master:
  remove pxi6733 support (now lives at https://github.com/m-labs/aq_ni6733
  setup.py: remove stale import
  remove stale dependency on pyelftools
2016-02-02 23:34:37 -07:00
Robert Jördens 7636952496 ctlmgr: fix import 2016-02-02 15:32:39 -07:00
Robert Jördens 55006119c8 subprocesses: unify termination logic 2016-02-02 15:32:36 -07:00
Sebastien Bourdeauducq b7de92e96c remove pxi6733 support (now lives at https://github.com/m-labs/aq_ni6733 2016-02-02 18:41:57 +01:00
Robert Jördens 17ac64a65e ctlmgr: fix the fix (107e2fe) 2016-01-29 17:52:12 -07:00
Robert Jördens 107e2fedf4 ctlmgr: reinstate lost changes 2016-01-29 17:20:07 -07:00
Robert Jördens 1b7020dff3 hardware_testbench: run Crontrollers loop in thread, not the test 2016-01-27 18:45:08 -07:00
Robert Jördens f78eecb81b hardware_testbench: run controllers 2016-01-27 14:24:32 -07:00
Robert Jördens cda4a0765d artiq_ctlmgr: refactor into artiq.devices.ctlmgr 2016-01-26 15:24:29 -07:00
Robert Jördens 641ef57458 pdq2/mediator: raise instances, not classes 2016-01-19 20:16:27 -07:00
Robert Jördens f0860beffd pdq2: wire up more of the pipeline 2016-01-19 20:09:10 -07:00
Sebastien Bourdeauducq e1e082e2ec devices/thorlabs_tcube: minor cleanup 2015-11-25 21:43:22 +08:00
Sebastien Bourdeauducq 178f3cd815 devices/thorlabs_tcube: improve debug logging 2015-11-25 15:28:34 +08:00
Sebastien Bourdeauducq bda11149df devices/thorlabs_tcube: fix more style issues 2015-11-24 17:10:31 +08:00
Sebastien Bourdeauducq 76eadc0a61 devices/thorlabs_tcube: remove unnecessary {read,write}_exactly functions 2015-11-24 16:55:18 +08:00
Sebastien Bourdeauducq 2503dcd837 devices/thorlabs_tcube: remove unnecessary attribute 2015-11-24 15:51:55 +08:00
Sebastien Bourdeauducq d708002fb9 devices/pdq2: add RPC getter functions 2015-10-28 09:46:17 +08:00
Sebastien Bourdeauducq 36c3f022aa devices/novatech409b: remove unwanted calls to set_simultaneous_update 2015-10-12 16:15:04 +08:00
Joe Britton b5cc680fdb devices/novatech409b: improve simultaneous update API 2015-10-12 16:13:51 +08:00
Robert Jördens 01416bb0be copyright: claim contributions
These are contributions of >= 30% or >= 20 lines (half-automated).

I hereby resubmit all my previous contributions to the ARTIQ project
under the following terms:

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

Closes #130

Signed-off-by: Robert Jordens <jordens@gmail.com>
2015-09-06 16:08:57 -06:00
Sebastien Bourdeauducq 2921bd6501 pxi6733: minor mediator fixes 2015-09-04 18:53:50 -06:00
Yann Sionneau 63d4907c65 pxi6733: replace print by logger.debug 2015-09-05 01:22:57 +02:00
Yann Sionneau 7dfd11e2f0 pxi6733: try to fix ping method 2015-09-05 00:07:58 +02:00
Joe Britton b790fb093d add ping() to novatech driver 2015-08-26 12:05:10 +08:00
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
Yann Sionneau 966d0ee3f2 pxi6733: fix verification of the number of buffered sample values 2015-08-14 10:36:03 +02:00
Sebastien Bourdeauducq 479175870f pdq2/driver: implement ping 2015-08-09 17:30:01 +08:00
Sebastien Bourdeauducq 32d141f5ac refactor ddb/pdb/rdb 2015-07-13 22:21:32 +02:00
Yann Sionneau 706bf2b4b4 pxi6733: allow usage of 2-dimensional arrays. close #66 2015-07-07 15:42:08 +02:00