2
0
mirror of https://github.com/m-labs/artiq.git synced 2024-12-26 11:48:27 +08:00
Commit Graph

620 Commits

Author SHA1 Message Date
fb91955260 tests: make hardware-in-the loop flags positive logic
Explicitly having to disable unittests that require hardware
(ARTIQ_NO_HARDWARE) is cumbersome.
There is not even a sensible default for the
device or serial number of the devices requiring additional
variables (ARTIQ_LDA_DEVICE etc).

This patch reverts the logic by skipping unittests that
can not automatically determine whether the required hardware
is present and where it is.
2015-04-03 11:51:03 +08:00
Florent Kermarrec
2995f0a705 remove use of _r prefix on CSRs 2015-04-02 18:30:44 +08:00
5bd8d414cf gateware/amp: add kernel CPU and mailbox modules 2015-04-02 16:49:36 +08:00
Yann Sionneau
e7be00baa8 Add support for automatic build and upload of dev conda artiq packages to binstar by travis-ci
- SoC+BIOS are also built and integrated in the conda package
- artiq_flash.sh script is embedded to allow flashing ppro board
2015-03-30 19:51:52 +08:00
3108ffeef6 coredevice/comm_serial: use lazy formatting in logging 2015-03-27 18:54:19 +01:00
f4cb97b709 comm_serial: fix baud rate change logging 2015-03-25 17:57:53 -06:00
bd2f6ea9f9 thorlabs_tcube_controller: use simple_network_args 2015-03-25 16:20:08 +01:00
Yann Sionneau
5ca5a3602e novatech409b: cleanup 2015-03-25 16:11:11 +01:00
03139808bd [WIP] wavesynth/interpolate: wavesynth programming tools
* interpolate(t, v) will generate the channel data subset of a wavesynth
program

* still broken
2015-03-23 20:38:33 -06:00
6a0bc19279 pdq2/driver: document a few units 2015-03-23 20:31:37 -06:00
768fa21488 lda_controller: show default product type 2015-03-23 20:02:36 +01:00
bd145bbabc use %(default) in argparse 2015-03-23 20:02:14 +01:00
b597483913 thorlabs_tcube: spelling, fix ping 2015-03-23 17:24:12 +01:00
Yann Sionneau
91336f974d lda_controller: replace serial argument with device one 2015-03-23 17:02:39 +01:00
Yann Sionneau
2651050c83 Controller cleanups 2015-03-23 17:02:39 +01:00
0b174085c8 pdq2/mediator: rewrite, adapt to new PDQ RPC format, support anonymous segments, support uploading to controllers 2015-03-22 22:30:59 +01:00
c18efa11b3 wavesynth: fix frame/segment terminology 2015-03-22 10:56:34 +01:00
1b7f71bda9 controllers: consistent device/simulation specification 2015-03-22 00:48:15 +01:00
7e61f66493 pdq2/mediator: get pdq devices from pdb 2015-03-22 00:24:42 +01:00
8cb77b0336 pdq2: rename url parameter to device and require it 2015-03-21 00:33:50 -06:00
05781699b8 pdq2: driver and unittest
* parses wavesynth style programs
* verified with cosimulated gateware
2015-03-21 00:29:00 -06:00
200e20fb39 worker: close devices immediately after run and before analyze 2015-03-20 12:01:34 +01:00
577754c38f pdq2: fix argparser 2015-03-19 22:26:12 -06:00
222d0a9d37 pdq2_controller: add dump option 2015-03-19 21:38:46 -06:00
5ab3290ed4 pdq2: add refactored client code 2015-03-19 20:34:29 -06:00
fae7246f30 pdq2: merge from main pdq2 repo 2015-03-19 14:34:37 -06:00
2257cfa952 wavesynth/compute_samples/: demonstrate dds clear 2015-03-15 18:13:47 +01:00
40bd101de0 wavesynth/compute_samples/SplinePhase: fix reduction 2015-03-15 18:13:09 +01:00
1d0fde7f13 wavesynth: program decoding 2015-03-15 18:05:03 +01:00
327448977c wavesynth/compute_samples: use set_coefficients 2015-03-15 16:48:24 +01:00
0d8260af6e wavesynth: basic sample computation 2015-03-15 16:30:07 +01:00
2b3641ac0a db,worker: fix realtime result initialization 2015-03-13 15:12:55 +01:00
7a1d60ee15 coredevice,runtime,language: add parameters to runtime exceptions, include information with RTIO errors 2015-03-13 14:55:18 +01:00
84732a469d coredevice/gpio: fix indentation 2015-03-13 14:31:50 +01:00
3122623c6f rtio: make 63-bit timestamp counter the default [soc] 2015-03-12 13:13:35 +01:00
f158711f7e test/worker: test watchdog in build() 2015-03-11 19:07:04 +01:00
43a05c783d worker: split write_results action 2015-03-11 19:06:46 +01:00
4ba54ac929 test: do not close/recreate the asyncio event loop (WA for asyncio bugs when multiple tests are run) 2015-03-11 19:05:01 +01:00
e037b930d8 test: add worker unittest 2015-03-11 18:26:04 +01:00
5ca4821a29 ctlmgr: use workaround for asyncio.wait_for(process.wait()... Python bug 2015-03-11 16:48:16 +01:00
d5795fd619 master: watchdog support
Introduces a watchdog context manager to use in the experiment code that
terminates the process with an error if it times out. The syntax is:

with self.scheduler.watchdog(20*s):
   ...

Watchdogs timers are implemented by the master process (and the worker
communicates the necessary information about them) so that they can be
enforced even if the worker crashes. They can be nested arbitrarily.
During yields, all watchdog timers for the yielding worker are
suspended [TODO]. Setting up watchdogs is not supported in kernels,
however, a kernel can be called within watchdog contexts (and terminating
the worker will terminate the kernel [TODO]).

It is possible to implement a heartbeat mechanism using a watchdog, e.g.:

for i in range(...):
    with self.scheduler.watchdog(...):
        ....

Crashes/freezes within the iterator or the loop management would not be
detected, but they should be rare enough.
2015-03-11 16:43:14 +01:00
f2134fa4b2 master,worker: split prepare/run/analyze 2015-03-09 23:34:09 +01:00
4c280d5fcc master: use a new worker process for each experiment 2015-03-09 16:22:41 +01:00
ec1d082730 remove timeout from run_params (to be replaced by a better mechanism) 2015-03-09 10:51:32 +01:00
d95a9cac9a move realtime result registration into dbh, simplify syntax 2015-03-08 17:27:27 +01:00
f2e3dfb848 Experiment base class, replace __artiq_unit__ with docstring 2015-03-08 15:55:30 +01:00
407477bc5a test: add ARTIQ_NO_PERIPHERALS environment variable to disable tests requiring non-core devices 2015-03-08 11:40:50 +01:00
0f007cb1a7 language/db: remove implicit_core 2015-03-08 11:37:53 +01:00
ac697e3248 test/thorlabs_tcube: fix default serial port 2015-03-08 11:37:24 +01:00
28bce9ee40 artiqlib -> artiq.gateware 2015-03-08 11:00:24 +01:00
9fad01d967 test/thorlabs_tcube: fix test discovery and style 2015-03-04 23:53:49 +00:00
Yann Sionneau
c2831db253 thorlabs_tcube: add realistic values for status bits and dc status in driver sim 2015-03-04 23:45:22 +00:00
Yann Sionneau
5091098eb0 thorlabs_tcube: driver PEP8 fix 2015-03-04 23:45:21 +00:00
Yann Sionneau
bc19d6f7a8 thorlabs_tcube: add unit tests 2015-03-04 23:45:21 +00:00
Yann Sionneau
5b8691f7f5 thorlabs_tcube: fix driver spelling issues 2015-03-04 23:45:21 +00:00
Yann Sionneau
14c759ff89 add Thorlabs T-Cube NDSP 2015-03-04 14:30:49 +00:00
f307897bec units: fix strip_unit 2015-02-27 10:43:03 -07:00
0abd41a04a pc_rpc: trace support in server 2015-02-27 00:17:11 -07:00
3e46a36a4d lda: do not print attenuation value in simulation 2015-02-27 00:16:56 -07:00
ee9d616733 language/units: add strip_unit function 2015-02-26 23:31:07 -07:00
f855834810 gui/tools/DictSyncer: remove dead code 2015-02-26 22:10:53 -07:00
Yann Sionneau
b672a99174 lda: add support for ping 2015-02-26 09:30:30 -07:00
d51493fb5d language/core: fix interpreter implementations of time/cycle conversions 2015-02-25 21:15:46 -07:00
Yann Sionneau
1b5944257e units: add support for V (Volt) 2015-02-24 14:15:38 -07:00
Yann Sionneau
9485372277 units: add support for abs() on Quantity 2015-02-24 14:15:23 -07:00
651ed71b79 master: basic automatic experiment list 2015-02-21 20:34:31 -07:00
4267e0deab master,artiq_run: simplify unit autodetection 2015-02-21 20:26:58 -07:00
387de11e56 artiq_run: fix import 2015-02-21 20:09:46 -07:00
6601bebcfe master: make RIDs unique across restarts 2015-02-21 18:41:07 -07:00
ceb02b42cb master: use full year in result folder name 2015-02-21 18:34:31 -07:00
965dd89b61 master: reorganize result output code 2015-02-21 14:28:18 -07:00
1aec6a0462 master: name results 'year-month-day/hour-minute/runid-experiment' 2015-02-21 13:42:26 -07:00
cc172699ea master: use RID + unit class name for HDF5 filenames 2015-02-20 14:11:55 -07:00
65555a3a09 artiq_run,master: introduce __artiq_unit__ attribute to mark and name experiments 2015-02-20 14:01:34 -07:00
Yann Sionneau
5cfdac9c7c Lda: replace assert with direct exception raising 2015-02-20 10:21:15 -07:00
0dd5692c32 master,run: pass run_params to experiment 2015-02-19 20:05:12 -07:00
4d21b78314 master,client,gui: factor timeout into run_params 2015-02-19 20:03:55 -07:00
d01ba8e644 artiq_run: provide dummy scheduler API 2015-02-19 12:09:37 -07:00
c69c4d5ce9 master: expose scheduler API to experiments 2015-02-19 12:09:11 -07:00
9ffc370416 master,run: automatically call analyze function 2015-02-19 09:40:15 -07:00
5bb6a3d8a6 style 2015-02-18 11:34:00 -07:00
de4a15c315 lda: add unit tests 2015-02-18 11:33:25 -07:00
05824fd3be lda: style 2015-02-18 11:31:44 -07:00
Yann Sionneau
dc132bd248 lda: fixes 2015-02-18 11:23:24 -07:00
Yann Sionneau
3c50610f3d pyon: bytes support 2015-02-18 11:19:03 -07:00
e10390d142 coredevice: add get_rtio_time 2015-02-18 09:56:30 -07:00
ec84726858 py2llvm: support conversion of fractions to float 2015-02-18 09:56:07 -07:00
d484b3a548 tools: add missing import 2015-02-18 08:52:31 -07:00
3543dc30c7 Revert "tools/file_import: use python 3.4 importlib API"
This reverts commit 614a96a3d7.

Conflicts:
	artiq/tools.py
2015-02-18 08:51:44 -07:00
170a626c76 tools/file_import: support import of modules importing from their directory 2015-02-17 16:13:00 -07:00
656099a331 artiq_run: sort result output alphabetically 2015-02-17 16:12:21 -07:00
614a96a3d7 tools/file_import: use python 3.4 importlib API 2015-02-17 13:07:09 -07:00
4558fb3e33 clarify controller terminology 2015-02-16 08:57:15 -07:00
61dc177bce units: support direct float conversion 2015-02-16 07:48:05 -07:00
021d0d312e novatech409b: do not specify type info in docstrings 2015-02-16 04:43:30 -07:00
8c4fb2d534 novatech409b: add sim mode help 2015-02-16 04:39:41 -07:00
17611e9899 lda_controller: add description 2015-02-15 17:32:08 -07:00
Joe Britton
a3494c57cc add Novatech 409B controller 2015-02-15 17:31:37 -07:00
e196ef9c48 lda_controller: style 2015-02-15 15:00:55 -07:00
17596f4ad8 tools,frontend: print default ports 2015-02-15 14:58:57 -07:00