Commit Graph

50 Commits

Author SHA1 Message Date
cf465dae0c tools/file_import: make sure sys.path is always restored 2016-01-31 20:33:17 +01:00
3cf67afeb1 generalize multiline logging to remote logs and controllers 2016-01-26 21:59:37 +01:00
d1119d7747 artiq_dir: move out of tools to unlink dependencies 2016-01-25 18:15:50 -07:00
c9da5f4ecb frontend: bind v4 and v6 localhost addresses by default, support multiple bind 2015-12-27 18:03:13 +08:00
183e855229 remove workaround_asyncio263 2015-12-20 23:26:48 +08:00
93317d48c9 gui/explorer: file selector for experiments outside repos 2015-12-09 19:13:57 +08:00
whitequark
c14299dca8 Merge branch 'new-py2llvm' 2015-11-24 03:01:54 +08:00
4166f4e928 frontend: use atexit_register_coroutine in other tools 2015-11-11 16:22:12 +08:00
whitequark
d6d0a3e3e9 Merge branch 'master' into new-py2llvm 2015-11-07 12:57:18 +03:00
e26147b2ac gateware,runtime: use new migen/misoc 2015-11-04 00:35:03 +08:00
whitequark
f70f7fb89b Merge branch 'master' into new-py2llvm 2015-10-30 04:29:35 +03:00
50809e02c2 tools/short_format: display shape of ndarrays 2015-10-21 11:13:46 +08:00
1bc4061620 protocols: better workaround for asyncio issue 263 2015-10-20 00:35:33 +08:00
661b9bfbfa tools/short_format: increase max string length 2015-10-18 13:32:29 +08:00
d7b41207da tools/short_format: display booleans directly 2015-10-18 13:31:36 +08:00
whitequark
bd5b324fc2 Merge branch 'master' into new-py2llvm 2015-10-13 19:24:45 +03:00
5c4ed7a9bd fix imports 2015-10-12 19:46:14 +08:00
22bffa98b5 client: use short_format in dataset display 2015-10-12 18:10:58 +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
a059ebf36a tools/get_experiment: do not autodetect experiments starting with _ 2015-09-01 13:21:03 -06:00
whitequark
6b8ef8c490 artiq_run: use "artiq_run_" as user code module prefix, not "file_import_". 2015-08-28 02:22:59 -05:00
06badd1dc1 scheduler: refactor, fix pipeline hazards 2015-08-10 21:58:11 +08:00
f81b2eba43 master: better repo scan error handling 2015-08-08 23:36:12 +08:00
e078dabd3c tools/TaskObject: do not suppress exceptions raised by terminating task 2015-08-06 22:14:49 +08:00
bd2bd68a54 gui,client: do now show arguments 2015-07-22 05:47:14 +08:00
32d141f5ac refactor ddb/pdb/rdb 2015-07-13 22:21:32 +02:00
Yann Sionneau
0109821078 tools: change asyncio_process_wait_timeout to handle cases where process.stdout is None. close #56 2015-07-07 19:30:36 +02:00
9f9079589e gui: send monitor requests to core device 2015-06-05 14:52:41 +08:00
a6a476593e worker: wait for process termination
This prevents stray SIGCHLDs from crashing the program e.g. if the asyncio event loop is closed before the process actually terminates.
2015-06-05 00:37:26 +08:00
737f6d4485 scheduler: support pipeline flush 2015-05-28 17:20:58 +08:00
a670b9f660 tools/asyncio_wait_or_cancel: wait for cancellation 2015-05-21 16:41:27 +08:00
b74b8d5826 Scheduling TNG 2015-05-17 16:11:00 +08:00
5e046dc5ce artiq_run: move parse_arguments and get_experiment to tools 2015-04-07 13:04:47 +08:00
bd145bbabc use %(default) in argparse 2015-03-23 20:02:14 +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
0abd41a04a pc_rpc: trace support in server 2015-02-27 00:17:11 -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
614a96a3d7 tools/file_import: use python 3.4 importlib API 2015-02-17 13:07:09 -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
0ba07e67b8 artiq/tools/verbosity_args: add help 2015-02-04 19:09:37 +08:00
Yann Sionneau
526887140d Set WARNING as default log level + update documentation 2015-01-30 19:04:04 +08:00
939236a1b5 tools: fix logging config 2015-01-29 18:47:07 +08:00
Yann Sionneau
5ba7218cc1 Factorize argparser for debug level 2015-01-29 10:07:12 +08:00
3e22fe86b5 reorganize files as per discussion with Robert 2015-01-17 19:38:20 +08:00