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

700 Commits

Author SHA1 Message Date
e45c089428 master, dashboard: support applet requests from experiments 2016-09-05 00:53:44 +08:00
whitequark
f26f446724 artiq_run: unbreak 2016-08-17 10:20:04 +00:00
84f4725015 cache source on import of modules that may contain kernels. Closes #416 2016-08-06 12:01:49 +08:00
e7d6ad2595 browser: cleanup dir/file restore, closes #527 2016-07-31 22:56:45 +02:00
5fc3a52189 artiq_flash: expose scripts_path 2016-07-25 10:05:10 +08:00
0590021790 artiq_flash: support using alternative OpenOCD config files 2016-07-19 15:35:50 +08:00
1877329fd1 dashboard: style 2016-07-18 16:51:17 +02:00
bb706c1fe2 browser/dashboard: use appdirs, closes #438 2016-07-18 16:50:27 +02:00
a7e101af8d artiq_flash: fix openocd scripts path (#513) 2016-07-15 15:31:33 +02:00
7ce9fc714a browser: permanently show results' metadata, closes #471 2016-07-09 18:29:01 +02:00
b7cca38f72 browser: let the state manager handle the subcomponents 2016-07-07 16:16:32 +02:00
77f60a3e63 browser: support uploading datasets to master. Closes #480 2016-07-03 12:21:36 +08:00
cc9edc1555 frontend/client: support keeping persist flag 2016-07-03 12:19:46 +08:00
6ee0f65b12 browser: ditto 11930228fd 2016-07-01 18:47:04 +08:00
11930228fd dashboard: kill the Qt built-in main window closing mechanism
When the main window is closed, Qt makes QApplication.exec() return, which conflicts with Quamash's implementation of loop.run_until_complete(). The conflict causes Quamash's run_forever() to return earlier than it should, and cause "RuntimeError('Event loop stopped before Future completed.')".

Closes #475
2016-07-01 18:39:26 +08:00
03a69ec5b7 scheduler: add check_pause function 2016-06-27 14:37:29 +08:00
88d6d0db06 browser: also support loading arguments by button and activation, closes #479 2016-06-21 13:14:33 +02:00
490bb6ef2d gui: save/restore last folder outside repository. Closes #476 2016-06-12 13:18:22 +08:00
whitequark
57be065c15 artiq_flash: explicitly pass path within conda env to openocd datarootdir.
By default, openocd searches for scripts in DATAROOTDIR/openocd/scripts.
This of course makes it not relocatable. Conda has a flag to try to
detect and fix such hardcoded paths, but it does not work on openocd
(likely because the .rodata contains an already concatenated path,
which cannot be padded with zeroes from the right).

So, we pass the path explicitly instead.
2016-06-06 19:01:39 +00:00
7851391666 artiq_compile: adapt to code changes 2016-05-28 12:57:04 -05:00
ab749560c2 dashboard: forward local log messages to docks, replace status bar (#411) 2016-05-28 11:10:25 -05:00
10267f39c9 log: use broadcast instead of sync_struct, filter on new messages only (#411) 2016-05-27 23:43:29 -05:00
8c1f1d8f2a rpctool: make readline optional, add to conda dependencies. Closes #442 2016-05-25 11:11:59 -05:00
ec34a552b0 browser: add cascade and tile 2016-05-25 17:34:01 +02:00
78de2a7d5c browser: MainWindow -> Browser and refactor 2016-05-25 17:34:01 +02:00
26e98a13d0 browser: refactor log 2016-05-25 15:14:04 +02:00
b8e7ea8443 browser: cleanup 2016-05-23 11:19:30 +02:00
a46d3ff366 browser: remove unnecessary loop.call_soon 2016-05-22 10:22:29 -07:00
852ddb7796 bit2bin: close input file explicitly 2016-05-21 21:50:08 +08:00
65c835e991 Revert "flash: close tempfile before deleting (#256)"
This reverts commit 5f11dbf319.
2016-05-21 00:19:54 +08:00
5f11dbf319 flash: close tempfile before deleting (#256) 2016-05-21 00:09:31 +08:00
5f7f4ed398 browser: wire up log dock 2016-05-20 16:12:11 +02:00
3db1a7cf01 browser: log stub 2016-05-20 16:12:11 +02:00
7a71939201 dashboard.log -> gui.log 2016-05-20 16:12:11 +02:00
8ab6011ddb browser: move 'open experiment' to menu 2016-05-20 16:12:11 +02:00
109ddf919e flash: tcl-quote paths (c.f. #256) 2016-05-16 23:15:12 +02:00
18878ba050 flash: use the handle 2016-05-16 22:02:11 +02:00
3ae44e762f flash: close files (c.f. #256) 2016-05-16 21:30:53 +02:00
whitequark
640022122b embedding: refactor some more. 2016-05-16 14:38:09 +00:00
633c36336c browser: rm status bar 2016-05-13 15:28:36 +02:00
260390b75f browser: set objectName for toolbar 2016-05-12 19:20:52 +02:00
5e094528c1 browser: toolbar, rm mdiarea tooltip (closes #433) 2016-05-12 19:06:33 +02:00
1480bb5630 browser: style 2016-05-12 18:43:05 +02:00
4016e5adaa browser: support opening experiments 2016-05-07 23:22:39 +02:00
ee8160863a browser: experiment dock stubs 2016-05-07 12:53:37 +02:00
77b84a7979 browser: move exp mgmt to mdi area 2016-05-07 12:53:37 +02:00
9ef282636a browser: don't open experiments from data list view 2016-05-07 12:53:37 +02:00
9f1bef1c81 browser: open experiments from mdiarea 2016-05-07 12:53:37 +02:00
d99d19dd3a browser: stubs for experiment editors 2016-05-07 12:53:37 +02:00
bcfb01bc7e gui: set application name in Gnome task switcher
Non-hacky suggestions welcome.
2016-05-06 17:23:44 +08:00
fc4effb91d update logo 2016-04-30 00:30:24 +08:00
aee4859982 influxdb: fix numpy scalar bool, uints, str
* use types from the numpy hierarchy because e.g. np.issubtype(np.uint64, int) == False
* streamline influxdb formatting
* tested with influxdb 0.12
2016-04-24 15:15:16 +02:00
86681dccff influxdb: use queue insertion time 2016-04-24 13:11:46 +02:00
aadcf0fe98 influxdb: consistency is gone 2016-04-24 12:38:47 +02:00
6c5382d43f influxdb: ms precision
* better compression
* we don't timestamp the change any better (network, queue, http)
2016-04-24 12:36:00 +02:00
06b8666a53 influxdb: just strip() response 2016-04-24 12:35:30 +02:00
3cfef4264b frontend: upper-case positional arguments in help messages 2016-04-22 16:33:44 +08:00
9a01d38439 browser: cleanup late select, align options with variables 2016-04-20 19:16:19 +02:00
c9daa50591 browser: PATH metavar 2016-04-20 16:23:47 +02:00
3d393e4654 browser: add root dir option, load only one file on restore 2016-04-20 13:46:03 +02:00
686f670a3c browser: redo tree/list models 2016-04-20 13:20:57 +02:00
1f92e034da Revert "browser: various fixes, handle startup path, connect activated"
This reverts commit c80510287b.
2016-04-20 13:20:33 +02:00
c80510287b browser: various fixes, handle startup path, connect activated 2016-04-20 18:25:43 +08:00
caf774579a environment: refactor 2016-04-16 19:31:07 +08:00
d4ba525c9d gui,browser: save state in home folder 2016-04-15 19:05:12 +08:00
4a297f0c42 browser: s/results/files/ 2016-04-14 17:55:44 +08:00
0cca2bbef6 artiq_run: style 2016-04-12 15:16:48 +08:00
d9e918be49 dashboard/moninj: use thread instead of asyncio UDP (#39) 2016-04-11 18:09:41 +08:00
5e5f94a0f8 browser: WIP for experiment replay 2016-04-10 20:07:46 +08:00
6c200b1418 browser: make results a dock again 2016-04-10 16:29:29 +08:00
3472e1abd3 browser: rm mdi area 2016-04-07 20:22:06 +08:00
7e2e182315 put dashboard-specific files in separate directory 2016-04-06 15:45:02 +08:00
1f152bceb2 browser: own package, own datasets dock 2016-04-05 18:50:29 +08:00
aaa81a63d1 browser: use LocalModelManager, make the 'explorer' the central widget 2016-04-05 17:22:16 +08:00
670e8907a5 artiq_browser: load from hdf5 2016-04-05 17:22:16 +08:00
fa63637a2e gui/browser: local model manager 2016-04-05 17:22:16 +08:00
91a362c898 add artiq_browser 2016-04-05 17:22:16 +08:00
1ff01a43ff artiq_flash: clear error message when bin directory is absent 2016-04-05 16:09:41 +08:00
ed1c368e73 gateware: name targets consistently. Closes #290 2016-04-05 16:07:29 +08:00
3efb841557 client: add --async option to scan-repository, recommend usage in git post-receive 2016-04-04 22:17:39 +08:00
7453d85d5e GUI -> dashboard 2016-04-04 22:12:45 +08:00
aa61c29efb transfer Python builtin exceptions over pc_rpc and master/worker 2016-04-04 22:02:42 +08:00
a53d32c24e master: always expose full set of worker handlers (#368) 2016-04-02 23:05:16 +08:00
29a76bb02d influxdb: simplify and document pattern matching. Closes #166 2016-03-31 00:28:28 +08:00
b6232aea86 gui: better default layout 2016-03-29 16:59:43 +08:00
bebd89c959 gui: redesign table/trees to avoid slow and buggy qt/pyqt autosize. Closes #182. Closes #187. 2016-03-25 18:33:22 +08:00
b5441fd107 devices/novatech409b: convert to asyncserial 2016-03-22 21:55:58 +08:00
2cbe47e26f protocols/pc_rpc: document coroutine methods, support locking 2016-03-22 21:55:06 +08:00
2859382e11 gui: display repository scanning status and revision. Closes #274 2016-03-18 00:40:54 +08:00
4bf0db32be master: publish repository status 2016-03-18 00:40:17 +08:00
a142d403ea gui: handle better changing MDI area background colors 2016-03-15 18:36:34 +08:00
ea523c765b frontend/coreanalyzer: do not attempt to print obsolete decoded_dump attribute. Closes #324 2016-03-10 11:33:21 +08:00
763a4d3011 rpctool: use pprint in interactive mode 2016-03-02 11:47:34 +08:00
d0d50d74eb rpctool: interactive mode 2016-03-02 11:45:51 +08:00
6dd1eb2e92 artiq_flash: use term 'gateware' 2016-02-29 20:45:41 +01:00
572c49f475 use m-labs setup for defaults 2016-02-29 21:35:23 +08:00
whitequark
914bc9f360 artiq_run: allow running LLVM IR/bitcode files, even with trivial RPCs. 2016-02-24 22:50:45 +00:00
c3cdce9d02 style 2016-02-25 01:22:43 +08:00
1b410abc2c pdq2: move initialization and park/unpark to driver 2016-02-22 15:29:27 +01:00
e177bbd480 frontend/client: fix screen clear on Windows 2016-02-22 01:25:48 +08:00
ac6e31d655 frontend/rpctool: fix -t/--target. Closes #283 2016-02-22 00:55:45 +08:00
d713c62b50 pdq2 frontends: adapt to new program, cleanup 2016-02-21 17:35:10 +01:00
95dbafd662 gui: add logo to MDI area 2016-02-21 08:06:52 +08:00
3b81dd5adc gui: workaround for Qt failing to embed applets in hidden and detached QDockWidgets 2016-02-19 18:13:25 +01:00
6830703ec6 artiq_master: directly log, explicit imports 2016-02-18 15:35:02 +01:00
0edde9f4d3 master: inform when running 2016-02-18 14:13:40 +01:00
87574193d4 gui: autoscroll MDI area 2016-02-16 00:19:50 +01:00
aa5f6a5aba gui: basic MDI area 2016-02-15 23:58:44 +01:00
b9bce92bbb Revert "gui: Qt wants a central widget in the main window, use explorer"
This reverts commit d81ce15869.
2016-02-15 23:20:06 +01:00
72a993afe0 master: cache last RID. Closes #234 2016-02-15 18:20:50 +01:00
d30fe60edd gui: remove pyqtgraph 2016-02-15 00:23:47 +01:00
3ab35f7f8d gui: get rid of pyqtgraph.LayoutWidget 2016-02-15 00:05:30 +01:00
df16a1da73 gui: remove PyQt5 assertion (break mock modules) 2016-02-14 23:30:39 +01:00
15515f33ef gui: better default placement of docks 2016-02-14 23:15:18 +01:00
cd732718ad gui: save/restore main window geometry 2016-02-14 23:08:14 +01:00
d81ce15869 gui: Qt wants a central widget in the main window, use explorer 2016-02-14 23:04:14 +01:00
3c12c13a67 gui: dock state save/restore 2016-02-14 13:46:15 +01:00
daf49efa04 gui: rough conversion to the Qt docking system 2016-02-14 12:15:57 +01:00
6b6393ff56 gui: remove console 2016-02-13 22:48:38 +01:00
fb2f53ea9b gui/datasets: support deleting datasets without console 2016-02-13 22:46:29 +01:00
338e5fe3fc Merge branch 'applets_pipeipc' 2016-02-08 22:25:36 +01:00
d873c25b8b Use Qt5 2016-02-08 19:32:40 +01:00
de99e7f830 applets: handle dataset mutations 2016-02-08 19:20:07 +01:00
dc955d46c9 Merge branch 'applets' 2016-02-08 14:55:53 +01:00
741b11c26d applets: basic embedding OK 2016-02-08 09:59:15 +01:00
70a67a0e38 Merge branch 'applets' into applets_pipeipc 2016-02-05 13:29:20 +01:00
b7de92e96c remove pxi6733 support (now lives at https://github.com/m-labs/aq_ni6733 2016-02-02 18:41:57 +01:00
10d78a5d0b flash: grow runtime limit to 512 kB 2016-01-30 14:50:15 -07:00
e92d52314b flash storage: move to flash + 0x70000
This requires recompiling and flashing the runtime and the entire
storage area file system (ip address and idle kernel).

* with ppp the runtime is larger than 0x40000 now
* 0x60000 for the runtime should give enough space for a while,
  even including a fatter scheduler or runtime components
  in other languages
* for both pipistrello and kc705 this leaves the unused space
  starting at a nice round number
* the relevant flashes nowadays are 0x1000000 large
2016-01-28 18:08:30 -07:00
cda4a0765d artiq_ctlmgr: refactor into artiq.devices.ctlmgr 2016-01-26 15:24:29 -07:00
5aa4de8e89 refactor logging and implement in worker 2016-01-26 20:31:42 +01:00
d1119d7747 artiq_dir: move out of tools to unlink dependencies 2016-01-25 18:15:50 -07:00
f4c7f02127 CoreException: store at 'py_exn.artiq_core_exception'
... and fix a few imports
2016-01-25 17:24:00 -07:00
2beaf23e6c language...ARTIQException -> coredevice...CoreException
gets rid of a cross import
is only used there
2016-01-25 17:24:00 -07:00
cf17be92e3 doc: add artiq_flash 2016-01-18 21:41:42 -07:00
whitequark
e0d5b77e27 Commit missing parts of 127b117. 2016-01-15 17:11:26 +00:00
whitequark
127b117113 Add @host_only function decorator (#172). 2016-01-15 16:42:08 +00:00
e6e6b27ba9 gui: remove displays (use applets instead) 2016-01-10 18:32:46 +08:00
597c2e4b17 gui/applets: startup and embedding working 2016-01-08 13:04:36 +08:00
e106ee3f90 gui: basic applet dock editing 2016-01-07 20:23:17 +08:00
358ad2e927 artiq_flash: drop redundant instruction, tweak doc 2016-01-06 11:24:05 -07:00
9aff99568d artiq_flash: use openocd, python 2016-01-05 10:20:41 +08:00
b10da212ab bit2bin: add small bitstream conversion tool 2016-01-05 10:20:24 +08:00
whitequark
03dd1c3a43 Refactor the logic of printing diagnostics to solely rely on Engine. 2016-01-04 22:11:54 +08:00
e41b9db787 gui: minor cleanup 2016-01-03 00:47:43 +08:00
whitequark
8aa34ee952 compiler: don't require exceptions to inherit ARTIQException. 2015-12-31 21:54:54 +08:00
c9da5f4ecb frontend: bind v4 and v6 localhost addresses by default, support multiple bind 2015-12-27 18:03:13 +08:00
5f3b69dd19 frontend/coreconfig: simplify action names 2015-12-24 18:54:23 +08:00
179c50480f frontend: split coretool into coreconfig, corelog and coreanalyzer 2015-12-24 18:51:11 +08:00
e41e2c088d analyzer: encapsulate decoded dump, get onehot sel from header 2015-12-24 00:31:21 +08:00
4be5df9802 coredevice/analyzer: DDS decoding 2015-12-23 18:57:53 +08:00
whitequark
ac5c86bfdc artiq_compile: add missing import. 2015-12-21 21:15:18 +08:00
2ae63570dd frontend/coretool: verbosity control 2015-12-20 23:17:31 +08:00
cdcb57effe coredevice/analyzer: basic VCD writing 2015-12-20 19:32:52 +08:00
46f59b673f coredevice: analyzer message decoding 2015-12-20 14:34:16 +08:00
10d4bfba38 frontend/coretool: basic analyzer dump 2015-12-18 18:23:16 +08:00
80172f9548 frontend/coretool: minor cleanup 2015-12-18 00:18:39 +08:00
93317d48c9 gui/explorer: file selector for experiments outside repos 2015-12-09 19:13:57 +08:00
7b2580583a master: allow remote listing of directories 2015-12-08 19:24:04 +08:00
5e14afde3e scheduler: use current (last scanned) repo revision instead of HEAD 2015-12-06 19:00:41 +08:00
f99c53d179 client: block until end of repository scan 2015-12-06 18:41:20 +08:00
ea6dcb2743 master: repository -> experiment_db 2015-12-06 18:39:27 +08:00
8467013160 master,gui: support recomputation+reset of arguments 2015-12-06 17:27:15 +08:00
f73c967b3e gui/shortcuts: fix status bar usage 2015-12-01 18:22:12 +08:00
ff4c03014c gui/shortcuts: integrate with experiment manager 2015-12-01 17:10:44 +08:00
afa8148b2b gui/experiments: save/restore state 2015-11-30 11:40:50 +08:00
c382fac8f2 gui: experiment docks (WIP) 2015-11-27 19:30:05 +08:00
whitequark
c14299dca8 Merge branch 'new-py2llvm' 2015-11-24 03:01:54 +08:00
whitequark
af43c66149 artiq_compile: set file_import prefix, like in artiq_run. 2015-11-21 17:37:14 +08:00
whitequark
28fa68730a Merge branch 'master' into new-py2llvm 2015-11-20 15:55:29 +08:00
3cbd7c4c13 gui: support multiple log docks 2015-11-12 01:13:57 +08:00
62c0eb85b1 gui/console: use network clients directly 2015-11-11 17:02:51 +08:00
4166f4e928 frontend: use atexit_register_coroutine in other tools 2015-11-11 16:22:12 +08:00
c3f99eda8f gui: centralize subscribers 2015-11-11 12:13:19 +08:00
whitequark
51f04f6311 Explicitly use the python3.5 binary everywhere. 2015-11-07 13:39:39 +03:00
whitequark
0b5e1d174c Unbreak artiq_flash.sh. 2015-11-07 13:26:14 +03:00
whitequark
d6d0a3e3e9 Merge branch 'master' into new-py2llvm 2015-11-07 12:57:18 +03:00
whitequark
da622937f6 Merge commit 'd0b5c3ba7fb' into new-py2llvm 2015-11-07 09:41:34 +03:00
a7c9c95085 gui/explorer: support requesting termination of all instances 2015-11-05 19:04:10 +08:00
3404a6565b frontend/artiq_flash: reorganize device binaries 2015-11-04 10:40:46 +08:00
e26147b2ac gateware,runtime: use new migen/misoc 2015-11-04 00:35:03 +08:00
644a410c90 thorlabs_tcube: fix -P case handling 2015-11-03 17:55:00 +08:00
a2c074cc33 gui: fix RPC client teardown 2015-11-01 00:03:46 +08:00
f57145c4f3 gui: support triggering repository rescan 2015-10-31 23:58:39 +08:00
58f55fc630 artiq_flash: check that xc3sprog is found. closes #162 2015-10-30 15:52:03 +08:00
2c77c80b4f master: expose more scheduler APIs to the experiments 2015-10-30 13:41:18 +08:00
whitequark
f70f7fb89b Merge branch 'master' into new-py2llvm 2015-10-30 04:29:35 +03:00
0d53f7ab0d ignore ProcessLookupError when killing subprocesses. Closes #167 2015-10-28 20:57:28 +08:00
4e35a247d1 pdq2_client: remove unnecessary calls 2015-10-28 09:48:14 +08:00
3789273e29 pdq2_client: remove init call 2015-10-28 09:47:01 +08:00
whitequark
30842a7174 conda: include udev rules and artiq_flash.sh in artiq package. 2015-10-22 17:18:59 +03:00
ec02bea054 controllers/thorlabs_tcube: accept any case for -P. Closes #150 2015-10-21 09:17:39 +08:00
d13b368a65 build logging into worker 2015-10-20 18:11:50 +08:00
5947f54855 pc_rpc: autotarget support 2015-10-18 14:34:30 +08:00
7f5e264971 ctlmgr: add hostname to log source 2015-10-17 10:58:15 +08:00
f332c1d3cc ctlmgr: forward controller logs 2015-10-16 20:08:11 +08:00
9e96a687e2 ctlmgr: forward log to master 2015-10-16 18:35:58 +08:00
cbda753f44 master: TCP server for remote logging 2015-10-16 00:53:35 +08:00
f3b3bf3036 gui: log filtering 2015-10-14 21:21:19 +08:00
whitequark
e9adfd639e Merge branch 'master' into new-py2llvm 2015-10-14 16:09:57 +03:00
c00bce3967 master,client,gui: logging sources, timestamps, levels 2015-10-14 01:06:57 +08:00
whitequark
bd5b324fc2 Merge branch 'master' into new-py2llvm 2015-10-13 19:24:45 +03:00
3cec176318 get_ddb -> get_device_db 2015-10-12 19:46:31 +08:00
b51910fa42 compile,coretool: use new dataset API 2015-10-12 19:32:16 +08:00
a83ffb3dce protocols: move FlatFileDB into pyon 2015-10-12 18:19:28 +08:00
22bffa98b5 client: use short_format in dataset display 2015-10-12 18:10:58 +08:00
97accd2540 merge parameters and results into datasets 2015-10-12 17:18:23 +08:00
139072d402 Graceful experiment termination. Closes #76 2015-10-06 13:50:00 +08:00
b3584bc190 language,master,run: support raw access to DDB from experiments. Closes #123 2015-10-04 18:29:39 +08:00
0e3927b01a master: support DDB rescan 2015-10-04 17:38:07 +08:00
50a5a3baf0 environment: attr_* -> setattr_* 2015-10-04 00:18:21 +08:00
f552d62b69 use Python 3.5 coroutines 2015-10-03 19:28:57 +08:00
b117b9320d asyncio.async -> asyncio.ensure_future 2015-10-03 14:37:02 +08:00
125503139e remove workaround for Python bug in asyncio process.wait(). Requires Python 3.5. Closes #58 2015-10-03 14:33:18 +08:00
whitequark
3e1348a084 Merge branch 'master' of github.com:m-labs/artiq into new-py2llvm 2015-09-27 18:22:28 +03:00
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
whitequark
2df8b946f9 Factor out the code to pretty-print diagnostics. 2015-08-31 22:52:39 -06:00
whitequark
98bb570aec log.c: fix off-by-one error. 2015-08-28 03:06:40 -05:00
whitequark
6b8ef8c490 artiq_run: use "artiq_run_" as user code module prefix, not "file_import_". 2015-08-28 02:22:59 -05:00
whitequark
ed236eb7f2 artiq_run: pretty-print diagnostics. 2015-08-28 01:54:51 -05:00
whitequark
d473d58b41 artiq_{compile,run}: adapt to new compiler. 2015-08-28 01:43:46 -05:00
Yann Sionneau
7db0498a9a artiq_flash: dont prepend the runtime file with mezzanine board directory if using -d 2015-08-27 11:02:06 +02:00
1c96f258b1 gui: show server in window title 2015-08-25 00:37:49 +08:00
84b07607ad gui: do not attempt moninj on windows 2015-08-24 20:20:33 +08:00
Yann Sionneau
34771ade67 artiq_flash.sh: fix runtime programming and allow usage of -d . -r 2015-08-22 15:28:55 +02:00
Yann Sionneau
5fc5d0b672 artiq_flash: replace wrong wording 'carrier' with 'mezzanine' 2015-08-21 09:38:15 +02:00
Yann Sionneau
646721d3e9 artiq_flash: add missing semicolons 2015-08-20 18:28:00 +02:00
Yann Sionneau
df7489ff61 travis/conda: add automated builds for kc705 nist_qc2 subtarget 2015-08-20 16:31:48 +02:00
600e8335f2 influxdb: tag-based schema, better type support 2015-08-18 14:49:23 +08:00
ed00ca1485 influxdb: do not crash on parameter deletion 2015-08-18 13:35:05 +08:00
2ac8c53bbe influxdb: use types 2015-08-18 13:34:42 +08:00
2275017651 influxdb: better error reporting 2015-08-18 13:34:15 +08:00
66b5ca99d8 influxdb: better filtering 2015-08-18 09:59:48 +08:00
324cafae3d rpctool: use pprint 2015-08-17 15:45:08 +08:00
abbf5eb059 gui: minor cleanup 2015-08-17 15:44:54 +08:00
fd3fefec52 add InfluxDB bridge 2015-08-17 15:44:40 +08:00
34a9c8c12d artiq_run: add dummy pause method (closes #100) 2015-08-15 09:16:00 +08:00
998db5121b pc_rpc: id_parameters -> description 2015-08-11 23:29:52 +08:00
a6ab066c87 ctlmgr: support immediate controller retry 2015-08-11 23:22:36 +08:00
54b11a392a ctlmgr: graceful controller termination 2015-08-09 20:41:11 +08:00
a21049d779 ctlmgr: exponential backoff 2015-08-09 18:28:56 +08:00
3f68d0ba8f ctlmgr: ping controllers 2015-08-09 17:30:46 +08:00
400b414885 master,client: support scanning specific repo revisions 2015-08-08 23:23:25 +08:00
whitequark
4efae2b67d Formatting. 2015-08-08 13:48:25 +03:00
whitequark
ecdebc0b8a session.c: refactor. 2015-08-08 13:21:43 +03:00
1818e8173b client: log display support 2015-08-08 18:02:42 +08:00
c80f0fa07a master: delete head repository checkout on exit 2015-08-08 11:44:19 +08:00
585bb236f8 master: add ddb/pdb args 2015-08-08 11:13:36 +08:00
7ed8fe57fa Git support 2015-08-07 15:51:56 +08:00
968760d48f gui: save geometry of main window 2015-08-06 22:27:46 +08:00
cddb5b9ae4 gui: save explorer state 2015-08-05 13:35:28 +08:00
c8db83b11f gui: add verbosity args for debugging 2015-08-05 11:41:43 +08:00
whitequark
ad7cbc4394 Rename artiq_coreconfig → artiq_coretool; add log subcommand. 2015-08-02 16:40:58 +03:00
whitequark
8d0222c297 Rename artiq_coreconfig → artiq_coretool; add log subcommand. 2015-08-02 16:40:43 +03:00
8ad88438c7 gui: save display state 2015-08-01 19:37:16 +08:00
00cae1c23a gui: save dock area state 2015-08-01 16:48:44 +08:00
d14a31f443 artiq_run: fix ELF running 2015-07-25 15:52:38 +08:00
696bceb406 gui: feedback on run deletion 2015-07-25 15:08:27 +08:00
ef8b09d9bc gui: add console 2015-07-25 00:36:16 +08:00
3a06e22b67 master: handle logging while scanning repository 2015-07-23 23:06:15 +08:00
bd2bd68a54 gui,client: do now show arguments 2015-07-22 05:47:14 +08:00
8402f1cdcd master,gui: basic log support 2015-07-22 05:13:50 +08:00
179ca36d09 gui: basic scan support 2015-07-21 21:24:24 +02:00
1a0dc499dd gui: exit when main window is closed 2015-07-19 18:27:41 +02:00
dd7920f0c3 gui: basic argument support 2015-07-17 21:28:46 +02:00
6b36d93cc2 master,client: support repository rescan 2015-07-17 18:55:48 +02:00
39c6bc940c coreconfig: use new database API (closes #75) 2015-07-17 10:49:55 +02:00
9649e1837a gui: basic plotting 2015-07-16 20:52:53 +02:00
84de2fb28b expid: experiment -> class_name 2015-07-15 11:08:12 +02:00
9ed4dcd7d1 repository: load experiments in worker, list arguments 2015-07-15 10:54:44 +02:00
21e8596d8c gui: RT results overview 2015-07-14 17:31:18 +02:00
32d141f5ac refactor ddb/pdb/rdb 2015-07-13 22:21:32 +02:00
0e92cfe053 artiq_run: remove support for stale watchdog API 2015-07-11 22:26:37 +02:00
9d4073ef36 master: remove simple parameter history 2015-07-09 13:54:38 +02:00
Yann Sionneau
d7ef885d9e controllers: print+exit instead of raising exception for argparse error, better doc for --simulation
As long as you use --simulation, the driver will be in simulation mode.
Even if you specify a --device or --channels.

That can allow you to just switch to simulation mode by adding
--simulation in the device database without having to
remove the serial number or device path/name.
2015-07-01 11:54:28 +02:00
Yann Sionneau
652f3359a2 lda_controller: fix typo 2015-07-01 11:41:01 +02:00
Yann Sionneau
ffe1355b1a lda_controller: improve help message for --device argument 2015-06-29 19:24:55 +02:00
Yann Sionneau
a73776bd72 controllers: enforce the usage of either --simulation or --device 2015-06-29 19:21:32 +02:00
Yann Sionneau
515aa96819 controllers: use --simulation for simulation 2015-06-29 13:04:01 +02:00
07ceed9512 artiq_flash.sh: back down on verbosity 2015-06-26 11:09:26 -06:00
48e0a2ad37 artiq_flash: echo commands for a bit more verbosity 2015-06-25 13:28:05 -06:00
4ba8951ae1 rpc: fix indentation of class docstring 2015-06-23 19:31:52 +00:00
Yann Sionneau
71721a152e artiq_rpctool: list-methods also prints class docstring 2015-06-23 18:35:32 +02:00
Yann Sionneau
b8bb3d8ca7 manual: explain how to select TCube device from serial number 2015-06-19 17:06:50 +02:00
Yann Sionneau
4cdf1c4b81 manual: serial number explanations + udev rule for LDA 2015-06-19 16:41:44 +02:00
Yann Sionneau
77ca8bbf0f artiq_coreconfig: better arg parsing 2015-06-18 17:07:20 +02:00
Yann Sionneau
afc70926d7 artiq_coreconfig: use subparsers for arg parsing 2015-06-17 16:40:27 +02:00
Yann Sionneau
95ff21d829 gui: add ARTIQ icon 2015-06-16 17:01:53 +02:00
Yann Sionneau
4c8917afbd artiq_flash: use BIT files instead of BIN files 2015-06-16 01:39:41 +02:00
86fbe38371 gui: DDS monitor/injection (WIP) 2015-06-12 17:41:04 +08:00
Yann Sionneau
c251601204 pxi6733: refactor, allow multiple channels in one task, cancel any previous task 2015-06-05 20:12:46 +02:00
9f9079589e gui: send monitor requests to core device 2015-06-05 14:52:41 +08:00
aa242f7c66 scheduler: simplify priority policy
Remove overdueness. User must submit calibration experiments with higher priority values for them to take precedence.
2015-05-28 18:24:45 +08:00
4a7c6954c3 artiq_run: implement mockups of new scheduler API 2015-05-28 17:24:47 +08:00
737f6d4485 scheduler: support pipeline flush 2015-05-28 17:20:58 +08:00
Yann Sionneau
4bf7875b87 flash_storage: refactor + unit tests + artiq_coreconfig.py CLI + doc 2015-05-27 18:06:12 +08:00
5fb86af3a4 gui: support experiment cancellation 2015-05-24 23:20:52 +08:00
e611e17eeb gui: experiment submission 2015-05-24 20:24:07 +08:00
d6ced1c780 scheduler: support priorities 2015-05-24 01:09:22 +08:00
2f910921f5 gui: console -> log 2015-05-24 00:38:30 +08:00
d9c25130e3 gui: add explorer widgets 2015-05-23 01:25:33 +08:00
2570444941 gui: add empty explorer and console docks 2015-05-22 23:30:46 +08:00
ea53ed1af7 gui: switch to Qt 2015-05-22 17:06:31 +08:00
d8917fd94f Merge branch 'master' of github.com:m-labs/artiq 2015-05-17 16:11:16 +08:00
b74b8d5826 Scheduling TNG 2015-05-17 16:11:00 +08:00
Yann Sionneau
e9b166b199 artiq_flash.sh: some cleanup 2015-05-14 11:12:03 +02:00
4048568d8e support kernel handover with coherent time 2015-05-02 23:41:49 +08:00
62669f9ff2 soc: factor timer, kernel CPU and mailbox 2015-05-01 18:51:24 +08:00
109dfab76c frontend: add artiq_mkfs 2015-04-30 20:03:11 +08:00
8a796a6818 artiq_run/ELFRunner: create a core device object (necessary for runtime exception processing) 2015-04-30 10:16:24 +08:00
Zach Smith
5df446ec4b artiq_flash.sh: fix Pipistrello flash proxy filename 2015-04-30 09:24:13 +08:00
86c012924e targets: rename AMP->Top, merge peripherals 2015-04-28 00:18:54 +08:00
938e1c2842 Remove UP support.
The only advantage of UP is to support the Papilio Pro, but that port is also very limited in other ways and the Pipistrello provides a more reasonable platform that also supports AMP.

On the other hand, RPCs on UP are difficult to implement with the session.c protocol system (without an operating system or coroutines), along with many other minor difficulties and maintainance issues. Planned features such as watchdogs in the core device are also difficult on UP.
2015-04-27 20:43:45 +08:00
Yann Sionneau
69388ccc1a pxi6733: add driver and controller 2015-04-21 16:09:55 +08:00
Yann Sionneau
e19f8896f0 artiq_rpctool: document numpy availability in RPC call cmd line arguments 2015-04-21 15:57:29 +08:00
301a0e6447 rpctool: import numpy 2015-04-21 15:57:25 +08:00
Yann Sionneau
52fe66ee4d artiq_flash.sh: improve detection of flash proxy location
Flash proxy is now searched in ~/.migen /usr/local/share/migen
/usr/share/migen and in the directory specified by "-d" argument
or in artiq/binaries/<board_name>/ if "-d" is not specified.
2015-04-17 00:57:16 +08:00
c0213c9f69 artiq_flash.sh: add pipistrello 2015-04-14 22:37:08 -06:00
07b8e1292f artiq_flash: fix stderr redirections 2015-04-11 23:43:33 +08:00
8a2b8fc634 artiq_flash: do not always assume permission problems 2015-04-11 22:54:17 +08:00
Yann Sionneau
8a3be4eca0 artiq_flash: add support for kc705 2015-04-11 22:38:11 +08:00
efd1c24ed7 frontend: add artiq_compile tool to build default experiment 2015-04-07 15:41:32 +08:00
5e046dc5ce artiq_run: move parse_arguments and get_experiment to tools 2015-04-07 13:04:47 +08:00
9b46bc623a dbhub: do not use as context manager, turn close exceptions into warnings, do not close devices early in worker 2015-04-05 17:49:41 +08:00
0ec7e9a98c artiq_run: fix get_argparser() 2015-04-04 21:17:24 -06:00
1a1afd5410 artiq_run: refactor, support use from within experiments
You can always (under posix) use #!/usr/bin/env artiq_run as
shebang for experiments and make them executable.
Now, you can also do this (portable):

if __name__ == "__main__":
    from artiq.frontend.artiq_run import run
    run()

to make an experiment executable. The CLI options are all inherited.
Also:

* removed --elf: can be inferred from filename
* did some refactoring and cleanup
* use logging for all messages, except the result printing (use -v to get
parameter changes and dummy scheduler actions)
2015-04-04 20:51:48 -06: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
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
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
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
1b7f71bda9 controllers: consistent device/simulation specification 2015-03-22 00:48:15 +01:00
8cb77b0336 pdq2: rename url parameter to device and require it 2015-03-21 00:33:50 -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
2b3641ac0a db,worker: fix realtime result initialization 2015-03-13 15:12:55 +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
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
0f007cb1a7 language/db: remove implicit_core 2015-03-08 11:37:53 +01:00
Yann Sionneau
14c759ff89 add Thorlabs T-Cube NDSP 2015-03-04 14:30:49 +00:00
0abd41a04a pc_rpc: trace support in server 2015-02-27 00:17:11 -07:00
651ed71b79 master: basic automatic experiment list 2015-02-21 20:34:31 -07:00