Commit Graph

668 Commits

Author SHA1 Message Date
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
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
965dd89b61 master: reorganize result output code 2015-02-21 14:28:18 -07:00
65555a3a09 artiq_run,master: introduce __artiq_unit__ attribute to mark and name experiments 2015-02-20 14:01:34 -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
656099a331 artiq_run: sort result output alphabetically 2015-02-17 16:12:21 -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
79a5d8a12a tools,frontend: common network arguments 2015-02-15 14:55:43 -07:00
6d4b9e5fca frontend: remove lda_client (use artiq_rpctool instead) 2015-02-12 09:34:17 +08:00
Yann Sionneau
af4be9a2e2 rpctool: change call syntax 2015-02-12 09:31:04 +08:00
Yann Sionneau
b396f5dd43 pc_rpc: support for method listing, frontend: artiq_rpctool, +fixes by SB 2015-02-12 00:38:30 +08:00
c91705c5d1 ctlmgr: support hostnames in DDB 2015-02-09 20:03:34 +08:00
542e047f5a ctlmgr: clean shutdown 2015-02-08 21:44:49 +08:00
a50c74523f ctlmgr: split command arguments properly 2015-02-08 12:18:57 +08:00
abb7d9f911 ctlmgr: catch create_subprocess_exec errors and retry 2015-02-08 12:15:22 +08:00
96a01efc48 ctlmgr: wait for processes to terminate before starting new ones 2015-02-08 00:59:08 +08:00
e7d85c5b87 ctlmgr: basic working implementation 2015-02-07 23:52:05 +08:00
aba749093b ctlmgr: get local bind address, format commands 2015-02-07 01:14:27 +08:00
f9d3bd107e ctlmgr: retry connection to master, print received ddb 2015-02-06 18:58:54 +08:00
17685d1e98 controller manager skeleton 2015-02-06 12:17:51 +08:00
8df1b03f0f artiq_run: add verbosity config 2015-02-04 19:09:54 +08:00
0e65f71705 artiq_run: HDF5 output support 2015-02-04 18:46:55 +08:00
2f4a83b97a gui: access to parameter DB from GUI files 2015-02-04 16:13:56 +08:00
1b122dd887 sync_struct,gui: refactor Subscriber data distribution to support access to parameter DB from GUI file 2015-02-04 15:06:25 +08:00
186aa7fdb7 style 2015-02-04 14:44:39 +08:00
Yann Sionneau
fc92a66e51 asyncio: Use ProactorEventLoop on Windows 2015-02-03 22:29:03 +08:00
2fbe22e15e master,client: support changing real-time results group 2015-01-30 20:36:54 +08:00
Yann Sionneau
526887140d Set WARNING as default log level + update documentation 2015-01-30 19:04:04 +08:00
9aa7155502 gui: use experiment registry 2015-01-29 19:59:44 +08:00
e7dac4ab43 master: experiment registry 2015-01-29 19:59:16 +08:00
Yann Sionneau
5ba7218cc1 Factorize argparser for debug level 2015-01-29 10:07:12 +08:00
71c5115c11 gui: handle exit in explorer 2015-01-27 23:51:23 +08:00
db3114f79b serve GUI and Glade file from master 2015-01-26 23:37:33 +08:00
8904d963d2 gui: add explorer window + rough prototype of control widgets defined with glade 2015-01-26 19:56:15 +08:00
82330b3c2a gui: save layout 2015-01-23 19:00:09 +08:00
9fb42e4952 doc: use sphinx-argparse 2015-01-23 00:52:13 +08:00
47aa634ab5 replace periodic schedule with timed schedule 2015-01-23 00:23:00 +08:00
569600b607 frontend/pdq2_client: fix entry point 2015-01-22 10:38:47 +08:00
0c2e960c85 frontend: restore artiq_ prefix 2015-01-17 19:41:00 +08:00
3e22fe86b5 reorganize files as per discussion with Robert 2015-01-17 19:38:20 +08:00
6cc3a9d973 frontend/*: move to artiq.frontend, make entry_points
* solves the trouble of having to setup PATH and PYTHONPATH in a project
  specific way and keep them changing
* works well with virtualenvs
* works under windows where the shebang is meaningless
* works if your python is not named "python3"

* can use "pip3 install --user --editable ."
  * creates an egg-link in ~/.local/share/... pointing to $PWD
  * generates the scripts and copies them to ~/.local/bin which is likely
    already in your $PATH
  * analogously under windows

* or call scripts as "python3 -m artiq.frontend.master"
2015-01-17 16:02:43 +08:00