Commit Graph

2858 Commits

Author SHA1 Message Date
e1a229028d test/analyzer: clear analyzer buffer after IO init 2016-04-15 01:18:36 +08:00
848c86e8a4 master: group results by hour, not by minute 2016-04-15 01:13:53 +08:00
511913230f test_analyzer: loop_out.off() 2016-04-14 22:57:16 +08:00
b36eded2e1 remote_exec_processing: style 2016-04-14 19:06:01 +08:00
4a297f0c42 browser: s/results/files/ 2016-04-14 17:55:44 +08:00
212ee8ca35 gateware/nist_qc2: substitute FMC 2016-04-14 01:02:34 +08:00
dhslichter
f395a630e0 Updated qc2 pinouts for SPI and 2x DDS bus, update docs 2016-04-13 18:38:34 +08:00
5788c02a10 examples: move pdq2 frame selects away from TTLInOut ttl3 2016-04-12 19:41:06 +08:00
d42ef46471 test: set inputs to input(), should close #383 2016-04-12 18:17:53 +08:00
1f50b3428e coredevice: automatically close on pause 2016-04-12 15:46:21 +08:00
437b37b158 master/worker: pause/resume devices 2016-04-12 15:45:53 +08:00
3c70bc40a4 master/worker_db: add pause_devices and resume_devices 2016-04-12 15:45:30 +08:00
0cca2bbef6 artiq_run: style 2016-04-12 15:16:48 +08:00
3134106a11 gui/models: handle Qt calling DictSyncTreeSepModel.index with garbage inputs. Closes #388 2016-04-11 20:11:22 +08:00
7d590afd73 dashboard/moninj: use ephemeral UDP port 2016-04-11 18:54:25 +08:00
dbba41b042 dashboard/moninj: fix windows problems 2016-04-11 18:49:57 +08:00
d9e918be49 dashboard/moninj: use thread instead of asyncio UDP (#39) 2016-04-11 18:09:41 +08:00
1690cb11b3 dashboard/moninj: remove debug prints 2016-04-11 17:17:20 +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
cc77d5b791 ipython notebook example: datasets subgroup 2016-04-08 12:21:26 +08:00
01f2b6731c browser: robustify hdf5 read 2016-04-08 11:54:49 +08:00
6773d9e734 thumbnail: add example 2016-04-08 11:49:20 +08:00
88495f2ea9 browser: use thumbnail dataset 2016-04-08 11:44:37 +08:00
30d557a4f8 worker: run experiment in output directory 2016-04-08 10:53:13 +08:00
1ae8b8ffd1 worker_impl: save expid, rid, start_time 2016-04-08 10:21:53 +08:00
de002ac811 worker_db: factor get_output_prefix() 2016-04-08 10:21:53 +08:00
7205985f69 applets: style 2016-04-08 10:21:49 +08:00
38e225d053 applets/simple: fix error msg, style 2016-04-08 10:21:49 +08:00
37bcd5ab7e plot_xy: fix errorbar plot 2016-04-08 10:21:49 +08:00
3e6a8a20c3 plot_xy: un-randomize the fit plot 2016-04-08 10:21:49 +08:00
d6beec1a55 dashboard: allow more than 99 scan points 2016-04-08 10:21:49 +08:00
13b4929dd8 wavesynth: silence is a channel property (closes #348) 2016-04-07 21:51:29 +08:00
6a783ead24 test_wavesynth: use matplotlib 2016-04-07 21:36:30 +08:00
3472e1abd3 browser: rm mdi area 2016-04-07 20:22:06 +08:00
46273455c5 browser: use fresh models 2016-04-07 20:18:21 +08:00
9685771275 browser: link list and tree 2016-04-07 20:18:21 +08:00
d84bcfddbe browser: use suffix for thumbnails 2016-04-07 20:18:21 +08:00
762e0400c0 browser: handle only known errors, cleanup 2016-04-07 20:18:21 +08:00
506b5ec4b0 browser: add missing __init__.py 2016-04-07 20:02:44 +08:00
whitequark
12d6f1d963 Commit missing parts of bb064c67a. 2016-04-06 23:46:19 +00:00
whitequark
bb064c67a9 runtime: add kernel-accessible sqrt.
Fixes #382.
2016-04-06 23:17:42 +00:00
whitequark
9cc9e8b276 embedding: s/kernel_constant_attributes/kernel_invariants/g
Requested in #359.
2016-04-06 22:38:31 +00:00
eb68ab9ad0 doc: remote execution 2016-04-06 19:13:41 +08:00
364e3d48ab applets/TitleApplet: support hierarchical datasets in titles 2016-04-06 17:21:35 +08:00
356afb045c applets: support title for histogram and XY. Closes #376 2016-04-06 17:08:38 +08:00
485f82b53b applets/simple: add TitleApplet (#376) 2016-04-06 17:02:57 +08:00
f530815305 gui/applets: use templates instead of formats 2016-04-06 17:02:26 +08:00
7e2e182315 put dashboard-specific files in separate directory 2016-04-06 15:45:02 +08:00
1d94cfd8ed gui: save/restore geometry of applets when they are disabled/enabled. Closes #375 2016-04-06 15:18:21 +08:00
04d4067e7f gui/state: add debug logging 2016-04-06 15:14:33 +08:00
73795ff788 test_rtio: integer division 2016-04-06 02:26:20 +08:00
1a04cc0c24 browser: add thumbnail icon provider 2016-04-06 02:01:25 +08:00
4bc5eaf9e8 test_rtio: scale speed test results to 'event' intervals 2016-04-06 00:55:13 +08:00
76dcccb33b test_rtio: comments and correction
* add comments what is actually being measured in the two rate tests
* remove spurious factor of two
2016-04-05 20:51:03 +08:00
1f152bceb2 browser: own package, own datasets dock 2016-04-05 18:50:29 +08:00
1814f12152 gui/datasets: rm unused imports/style 2016-04-05 18:50:29 +08:00
fc524961b2 dashboard/moninj: fancy level setting and layout improvements. Closes #163 2016-04-05 18:38:05 +08:00
aaa81a63d1 browser: use LocalModelManager, make the 'explorer' the central widget 2016-04-05 17:22:16 +08:00
4edfd6caa4 qui/models: add LocalModelManager 2016-04-05 17:22:16 +08:00
826d529756 gui/results: add QListView 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
4759ea337b worker_impl: style 2016-04-05 17:22:16 +08:00
05c61465e0 worker: trust that h5py encodes strings 2016-04-05 17:18:15 +08:00
587a0f4565 worker: trust that h5py maps all types as we want 2016-04-05 17:18:15 +08:00
8078e59077 test_h5types: also test ndarrays 2016-04-05 17:18:15 +08:00
7a5b3a1167 test_h5types: use in-memory files 2016-04-05 17:18:15 +08:00
4e7b004a4e worker, hdf5: move datasets to subgroup 2016-04-05 17:17:18 +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
1459b393a0 examples/remote_exec_controller: implement ping 2016-04-05 13:59:54 +08:00
affe4d45aa ship examples with package 2016-04-05 13:59:39 +08:00
2dfc1a8d17 gui/explorer: display filenames and classes in tooltips. Closes #371 2016-04-05 13:26:00 +08:00
d9b2968426 gui/models/DictSyncTreeSepModel: support tooltips 2016-04-05 13:25:14 +08:00
whitequark
14caa2713c test_pulse_rate_dds: adjust bounds. 2016-04-05 01:52:34 +00:00
whitequark
8b1c5e3a26 llvm_ir_generator: add fast-math flags to fcmp.
This is allowed in 3.8.
2016-04-05 00:48:41 +00:00
whitequark
ad83b092fa llvm_ir_generator: change !{→unconditionally_}dereferenceable.
Since LLVM 3.8, !dereferenceable is weaker, so we introduce
!unconditionally_dereferenceable (http://reviews.llvm.org/D18738)
to regain its functionality.
2016-04-05 00:48:41 +00:00
whitequark
72b952e850 llvm_ir_generator: fix DICompileUnit.language. 2016-04-05 00:48:41 +00:00
d095d481ff gui.models: style 2016-04-04 23:38:56 +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
f860548396 protocols/pyon: minor cleanup 2016-04-04 21:34:37 +08:00
4ce00e3b7a protocols/remote_exec: add connect_global_rpc 2016-04-04 19:09:23 +08:00
059836c591 protocols/remote_exec: give access to controller_initial_namespace 2016-04-04 19:09:03 +08:00
69516136c4 protocols/pc_rpc: add get_local_host to clients 2016-04-04 19:07:08 +08:00
whitequark
a57aabb3ea compiler: purge generated functions from backtraces. 2016-04-02 18:29:36 +00:00
whitequark
712e16b79e ttl: mark constant attributes for TTL{In,InOut,ClockGen}. 2016-04-02 18:20:51 +00:00
whitequark
a1e98a4437 llvm_ir_generator: add TBAA metadata for @now. 2016-04-02 18:19:14 +00:00
whitequark
b1f371e578 llvm_ir_generator: update debug info emission for LLVM 3.8. 2016-04-02 18:05:40 +00:00
whitequark
132b55d6be coredevice: format backtrace RA as +0xN, not 0xN.
The absolute address is somewhere in the 0x4000000 range; the one
that is displayed is an offset from the shared object base.
2016-04-02 18:05:40 +00:00
774ecceaba master/worker_impl: use ParentDatasetDB in examine mode. Closes #368 2016-04-02 23:06:14 +08:00
a53d32c24e master: always expose full set of worker handlers (#368) 2016-04-02 23:05:16 +08:00
667aca8a1c gui/experiment: fix recompute argument error handling 2016-04-02 23:03:06 +08:00
1a288e07cc protocols/remote_exec: simplify, use global namespace 2016-04-02 22:44:27 +08:00
whitequark
df8018f0be compiler: emit verbose assembly via ARTIQ_DUMP_ASM. 2016-04-01 09:34:51 +00:00
whitequark
d9dd7df3b2 compiler: add analysis passes from TargetMachine.
This doesn't have any effect right now, but is the right thing to do.
2016-04-01 09:34:36 +00:00
whitequark
10108e6d64 compiler: mark loaded pointers as !dereferenceable.
Also, lower the bound for test_pulse_rate_dds, since we generate
better code for it now.
2016-03-31 12:04:38 +00:00
whitequark
2c04979727 compiler: update for LLVM 3.7. 2016-03-31 11:23:47 +00:00
whitequark
b8bd344e54 compiler: use correct data layout. 2016-03-31 11:22:29 +00:00
0173031487 test/PulseRateDDS: run more iterations 2016-03-31 16:04:55 +08:00
3c9e4074d5 runtime: fix ddstest help (#365) 2016-03-31 10:27:18 +08:00
29a76bb02d influxdb: simplify and document pattern matching. Closes #166 2016-03-31 00:28:28 +08:00
deb9a60ca3 gui: setParent(None) before deleteLater() to remove dock appears unnecessary and causes memory corruption on Windows. Closes #362 2016-03-30 11:40:00 +08:00
059aa2f83e gui: do 60114447 properly 2016-03-30 01:47:50 +08:00
010c68f0a1 Merge branch 'master' of github.com:m-labs/artiq 2016-03-30 01:45:16 +08:00
6011444789 gui: log error and bail out on artiq_gui.pyon write failure (#360) 2016-03-30 01:45:00 +08:00
whitequark
8a908a7656 llvm_ir_generator: do not use 'coldcc' calling convention.
First, this calling convention doesn't actually exist in OR1K
and trying to use it in Asserts build causes an UNREACHABLE.

Second, I tried to introduce it and it does not appear to produce
any measurable benefit: not only OR1K has a ton of CSRs but also
it is quite hard, if not realistically impossible, to produce
the kind of register pressure that would be relieved by sparing
a few more CSRs for our exception raising function calls, since
temporaries don't have to be preserved before a noreturn call
and spilling over ten registers across an exceptional edge
is not something that the code we care about would do.

Third, it produces measurable drawbacks: it inflates code size
of check:* functions by adding spills. Of course, this could be
alleviated by making __artiq_raise coldcc as well, but what's
the point anyway?
2016-03-29 15:19:46 +00:00
whitequark
586022023b llvm_ir_generator: mark loads as non-null where applicable. 2016-03-29 13:34:37 +00:00
whitequark
330b232672 test: relax lit/embedding/syscall_flags.
We currently have broken debug info. In either case, debug info
is irrelevant to this test.
2016-03-29 13:34:37 +00:00
whitequark
f6b391bb4e compiler: fix ARTIQ_DUMP_ELF. 2016-03-29 13:03:49 +00:00
whitequark
a9489246a4 llvm_ir_generator: don't mark non-constant attribute loads as invariant.
Oops.
2016-03-29 13:03:49 +00:00
dc2c19f08f gui/schedule: support terminating all experiments in a pipeline. Closes #262 2016-03-29 17:34:38 +08:00
b59283f85e gui/applets: use a better default size, make minimum size proportional to font 2016-03-29 17:10:37 +08:00
b6232aea86 gui: better default layout 2016-03-29 16:59:43 +08:00
84d50c4caf environment,worker_db: mutate datasets from experiments via dedicated method instead of Notifier. Closes #345 2016-03-29 16:26:14 +08:00
a545598d4c style 2016-03-29 16:19:03 +08:00
3c09577ed0 device/thorlabs_tcube: fix port read 2016-03-29 14:39:55 +08:00
50888865e7 doc/dds: fix init timing margin 2016-03-29 12:01:32 +08:00
ce57794e7f doc: fix comment about when and how DDS init should be done. Closes #353 2016-03-29 11:10:53 +08:00
whitequark
3ed852e077 Commit missing parts of 1d8b0d46. 2016-03-28 21:44:31 +00:00
whitequark
1038f1321f compiler: allow specifying per-function "fast-math" flags.
Fixes #351.
2016-03-28 21:44:08 +00:00
whitequark
f31249ad1c Commit missing parts of 6f5332f8. 2016-03-28 20:28:08 +00:00
whitequark
6f5332f892 compiler: allow flagging syscalls, providing information to optimizer.
This also fixes a crash in test_cache introduced in 1d8b0d46.
2016-03-28 19:56:56 +00:00
049bd11bd6 scanwidget: handle min, max, suffix (closes #352) 2016-03-28 16:59:49 +02:00
whitequark
1d8b0d46bc compiler: mark FFI functions as ModRef=Ref using TBAA metadata.
Fascinatingly, the fact that you can mark call instructions with
!tbaa metadata is completely undocumented. Regardless, it is true:
a !tbaa metadata for an "immutable" type will cause
AliasAnalysis::getModRefBehavior to return OnlyReadsMemory for that
call site.

Don't bother marking loads with TBAA yet since we already place
!load.invariant on them (which is as good as the TBAA "immutable"
flag) and after that we're limited by lack of !nonnull anyway.

Also, add TBAA analysis passes in our pipeline to actually engage it.
2016-03-28 02:52:15 +00:00
whitequark
418f0a5234 compiler: mark loads of kernel constant attributes as load invariant.
Also, enable LICM, since it can take advantage of this.
2016-03-28 00:44:32 +00:00
whitequark
507ad96db3 coredevice: add some kernel_constant_attributes specifications. 2016-03-28 00:06:00 +00:00
whitequark
ca7463a054 compiler: do not write back kernel constant attributes.
Fixes #322.
2016-03-28 00:05:57 +00:00
whitequark
f4e6b18690 compiler: implement kernel constant attributes.
Part of #322.
2016-03-27 16:10:07 +00:00
whitequark
42609d057e test_pulse_rate_dds: tighten upper bound to 400us. 2016-03-27 14:27:32 +00:00
whitequark
f81930ffd6 compiler: run IPSCCP.
This doesn't do much, only frees some registers.
2016-03-27 02:00:05 +00:00
whitequark
7213984330 compiler: raise inliner threshold to the equivalent of -O3. 2016-03-27 01:08:13 +00:00
whitequark
e75ad3d1aa compiler: extract runtime checks into separate cold functions.
This reduces register pressure as well as function size, which
favorably affects the inliner.
2016-03-27 01:02:15 +00:00
whitequark
2a210d74fb test_pulse_rate: tighten upper bound to 1500ns. 2016-03-26 22:45:24 +00:00
whitequark
20ad7629ac llvm_ir_generator: generate code more amenable to LLVM's GlobalOpt.
This exposes almost all embedded methods to inlining, with massive
gains.
2016-03-26 21:35:48 +00:00
whitequark
186a564ba8 compiler: make quoted functions independent of outer environment. 2016-03-26 20:46:45 +00:00
whitequark
f5c720c3ee compiler: tune the LLVM optimizer pipeline (fixes #315). 2016-03-26 13:20:23 +00:00
whitequark
3ee9834197 compiler: significantly increase readability of LLVM and ARTIQ IRs. 2016-03-26 12:21:02 +00:00
whitequark
8d0566661a compiler: quote functions directly instead of going through a local. 2016-03-25 22:35:55 +00:00
whitequark
39d23793a4 transforms.llvm_ir_generator: extract class function attributes.
This should give LLVM more visibility.
2016-03-25 19:01:39 +00:00
whitequark
39599d4508 compiler: get rid of the GetConstructor opcode. 2016-03-25 19:01:39 +00:00
8b00045c20 Merge branch 'master' of github.com:m-labs/artiq 2016-03-25 20:01:18 +08:00
3f333a58af gui/log: split lines correctly 2016-03-25 20:01:02 +08:00
5c6e2d7a3a gui/log: send Qt model notifications correctly 2016-03-25 20:00:52 +08:00
5b536d7c67 i2c: fix variable name (closes #347) 2016-03-25 12:51:55 +01:00
67ab8dbfa5 protocols/pc_rpc: short_exc_info 2016-03-25 19:43:34 +08:00
ca4e6e03fa master/worker: use only first line in short_exc_info 2016-03-25 19:43:12 +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
b190581102 Revert "runtime/i2c: more conservative timings"
This reverts commit 799c2c77c4.
2016-03-25 14:55:40 +08:00
e9ca125976 protocols/remote_exec: fix call 2016-03-25 14:55:29 +08:00
e6809397a3 protocols: add remote_exec 2016-03-24 00:49:02 +08:00
0d7d584f08 master/worker_db: add controller_aux_target device_db entry type 2016-03-24 00:48:12 +08:00
befbab5571 gui: add image applet 2016-03-23 17:04:22 +08:00
168113ce55 protocols/pc_rpc: support dynamic target creation 2016-03-23 15:13:56 +08:00
120db8ba08 protocols/pipe_ipc: raise line length limit 2016-03-23 15:12:29 +08:00
799c2c77c4 runtime/i2c: more conservative timings 2016-03-23 12:54:19 +08:00
2bb4ad189a test: fix controller simulations 2016-03-22 22:29:41 +08:00
abac5284a9 Merge branch 'master' of github.com:m-labs/artiq 2016-03-22 21:56:26 +08:00
b5441fd107 devices/novatech409b: convert to asyncserial 2016-03-22 21:55:58 +08:00
7657b67ea6 devices/thorlabs_tcube: cleanup, convert to asyncserial 2016-03-22 21:55:37 +08:00
2cbe47e26f protocols/pc_rpc: document coroutine methods, support locking 2016-03-22 21:55:06 +08:00
8f54a1e619 pipistrello: sys_clk 83 -> 75 MHz
This should close #341 once migen generates stable output.
2016-03-21 13:47:32 +01:00
1c9b8a1d52 test/coredevice/portability/pulses: compute time differences in MU 2016-03-20 15:29:31 +08:00
ffe4d81f3e runtime/net_server: restore connection close behavior when len<0 2016-03-19 22:46:42 +08:00
fc558bcd27 analyzer: adapt analyzer_poll to new network code 2016-03-19 22:08:08 +08:00
900b0cc629 analyzer: make byte_count 64-bit 2016-03-19 19:40:23 +08:00
4d22db1aff coredevice/exceptions/ClockFailure: improve description 2016-03-19 18:01:00 +08:00
ff697a47ce test/coredevice/cache: fix exception import 2016-03-19 18:00:10 +08:00
641831e0e1 dds: improve error reporting 2016-03-19 12:15:19 +08:00
d0af58d122 coredevice: only import common RTIO exceptions 2016-03-19 12:11:47 +08:00
whitequark
891e3cf1fe Commit missing parts of 501de306. 2016-03-18 22:48:26 +00:00
whitequark
501de30626 Report watchdog expiration and RTIO clock failure as exceptions.
Fixes #316.
2016-03-18 22:29:53 +00:00
80b13b1263 scanwidget: cleanup interactive behavior (48a0208) 2016-03-18 21:53:06 +01:00
d60eaa7b44 scanwidget: fix div by zero rubberband width (closes #335) (4b8fe1e) 2016-03-18 09:04:35 +01:00
223657fa63 gui/experiments: improve resilience to broken/outdated artiq_gui.pyon 2016-03-18 13:04:51 +08:00
whitequark
dbc0a89903 dds.c: turn off batch mode before an underflow can be raised.
Fixes #334.
2016-03-18 05:00:05 +00:00
whitequark
f4ab507ab2 Bring back target print function. 2016-03-18 04:42:06 +00:00
whitequark
ac5061c205 validators.escape: track region of arguments.
Fixes #232.
2016-03-18 03:08:14 +00:00
whitequark
9492464ed9 Commit missing parts of 78fa5be. 2016-03-18 02:15:36 +00:00
whitequark
78fa5becea compiler: refuse to embed a function from another core device.
Fixes #332.
2016-03-18 02:01:14 +00:00
whitequark
82ab21dbd5 transforms.inferencer: better message for BinOpT unification.
Fixes #311.
2016-03-18 01:22:01 +00:00
f816c7d8d8 scanwidget: add shift-lmb and ctrl-lmb drag modes (1d78c78) 2016-03-18 00:07:28 +01:00
33da27a749 experiment/gui: support reverse scan (closes #246) 2016-03-17 22:37:17 +01: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
fb8a5486e3 gui/moninj: compute size of widgets based on font sizes 2016-03-17 18:38:27 +08:00
f73934112b gui/moninj: flow layout 2016-03-17 18:18:31 +08:00
633bbc457d gui/schedule: work around Qt bug when first row is inserted with due date. Closes #329 2016-03-17 13:20:29 +08:00
61223fb053 scanwidget: min 3 ticks (f3b4cb2) 2016-03-17 00:30:13 +01:00
a4e916de73 scanwidget: scroll and code simplification (0cca4a3) 2016-03-16 23:47:28 +01:00
ec5c2b6699 scanwidget: shortcuts (4a21946) 2016-03-16 23:30:50 +01:00
fb31782b6f scanwidget: drag modes (9a7fcd4) 2016-03-16 23:05:23 +01:00
5d5ef356f4 scanwidget: just do QWidget (337af80) 2016-03-16 22:08:32 +01:00
a75ee76463 scanwidget: more adaptable sizing (8bc0c10) 2016-03-16 21:25:45 +01:00
11bfe33dd4 scanwidget: painting (3237d2b) 2016-03-16 21:13:14 +01:00
67db5f77cd scanwidget: lmb axis drag (9e6203c) 2016-03-16 21:11:40 +01:00
d858ad4180 scanwidget: rewrite, pending drawing area (3de1505) 2016-03-16 21:11:40 +01:00
0e1f75ec49 targets/kc705/qc2: hook up HPC backplane 2016-03-16 16:19:56 +08:00
cb8e497ff6 analyzer: fix DDSHandler setup 2016-03-15 22:14:44 +08:00
0076fc4216 analyzer: fix AD9914 FTW decoding 2016-03-15 22:14:21 +08:00
6a9957a2ac analyzer: fix get_dds_sysclk 2016-03-15 21:47:24 +08:00
9ffaf82877 test/analyzer: check that last message is StoppedMessage 2016-03-15 21:44:56 +08:00
1bbef94061 analyzer: fix byte_count (again) 2016-03-15 20:49:07 +08:00
85ea70a664 analyzer: fix byte_count 2016-03-15 20:33:08 +08:00
62ac4e3c2e analyzer: fix EOP generation 2016-03-15 20:25:02 +08:00
b5ec979db3 analyzer: drive wishbone cyc signal 2016-03-15 19:46:12 +08:00
a142d403ea gui: handle better changing MDI area background colors 2016-03-15 18:36:34 +08:00
a172d8b837 logo: use Unix EOLs 2016-03-15 18:35:30 +08:00
e13d424398 analyzer: strip final StoppedMessage for VCD output 2016-03-15 18:33:36 +08:00
8a6873cab2 analyzer: use EOP, flush pipeline on stop 2016-03-15 17:49:59 +08:00
fc60f3504c scanwidget: wheel event handling cleanup (380634e) 2016-03-14 18:06:18 +01:00
2e73d6c89c scanwidget: changes as of 1f9ab9b (resize) 2016-03-14 16:53:06 +01:00
1dc72635a0 scanwidget: changes as of 19a1d40 (closes #330) 2016-03-14 16:50:58 +01:00
Florent Kermarrec
8ad799a850 gateware/rtio/analyzer: use new Converter 2016-03-14 15:15:07 +01:00
5714ffe758 scanwidget: draw based on font metrics (closes #328) 2016-03-12 13:09:31 +01:00
5e7eff6c4d scanwidget: changes as of edaba53 2016-03-12 12:42:33 +01:00
78f2706aa8 scanwidget: apply changes as of 579bf5e 2016-03-11 21:37:55 +01:00
d34d83f35c Merge branch 'scanwidget' (closes #128)
* scanwidget:
  gui: fix scanwidget usage
  scanwidget: apply changes as of 10439cb
  scanwidget: apply changes as of 98f0a56
  missing parts of 59ac567
  scanwidget: disable unmodified wheel on axis and slider
  scanwidget: wire up signals better, set values late, take scanwidget from 7aa6397
  gui: use scanwidget
  scanwidget: add from current git
2016-03-11 18:31:25 +01:00
22b072699f gui: fix scanwidget usage 2016-03-11 18:30:27 +01:00
7f3e1c989d scanwidget: apply changes as of 10439cb 2016-03-11 18:29:21 +01:00
e4b854b8bf scanwidget: apply changes as of 98f0a56 2016-03-11 15:38:22 +01:00
01e919dad8 novatech409b: log sim commands, style 2016-03-10 16:50:18 +01:00
065cbfbb8a gui/moninj: fix datagram offset computation (#325) 2016-03-10 22:34:22 +08:00
bc9203457e Merge branch 'master' into scanwidget
* master: (38 commits)
  hardware_testbench: better message when skipping
  test_spi: drain errors and be more strict on where we expect errors
  monkey-patch asyncio.proactor_events to handle ConnectionAbortedError on Windows. Closes #247
  test/rtio/Loopback: ensure loop_out is low before starting test
  test/rtio: raise exception when pulse is not received
  rtio: fix different address collision detection
  frontend/coreanalyzer: do not attempt to print obsolete decoded_dump attribute. Closes #324
  coredevice: put cache into separate file/device
  gui: delete log/applet docks instead of hiding them
  gui/moninj: make DDS widgets look less like buttons
  rtio: remove NOP suppression capability
  rtio/wishbone: make replace configurable
  exceptions: clarify RTIOBusy
  gateware/rtio: factor _BlindTransfer
  test_spi: break_realtime
  test_spi: simplify test, add collision vs busy test
  hardware_testbench: clean up artiq_core_exeption printing
  coredevice: fix _DDSGeneric __init__ args
  hardware_testbench: also print artiq_core_exeption
  rtio/core: fix syntax
  ...
2016-03-10 12:46:07 +01:00
a618a6d03a hardware_testbench: better message when skipping 2016-03-10 12:34:06 +01:00
f68c24094f test_spi: drain errors and be more strict on where we expect errors 2016-03-10 12:25:10 +01:00
579168f06f monkey-patch asyncio.proactor_events to handle ConnectionAbortedError on Windows. Closes #247 2016-03-10 15:11:10 +08:00
d0cf589229 test/rtio/Loopback: ensure loop_out is low before starting test 2016-03-10 13:24:00 +08:00
f3a2b3a67e test/rtio: raise exception when pulse is not received 2016-03-10 12:16:18 +08:00
de718fc819 rtio: fix different address collision detection 2016-03-10 12:15:36 +08:00
ea523c765b frontend/coreanalyzer: do not attempt to print obsolete decoded_dump attribute. Closes #324 2016-03-10 11:33:21 +08:00
f4f95d330b Merge branch 'master' of github.com:m-labs/artiq 2016-03-10 11:15:30 +08:00
1739e0f2f8 coredevice: put cache into separate file/device 2016-03-10 10:46:19 +08:00
7f501820de gui: delete log/applet docks instead of hiding them 2016-03-10 10:35:44 +08:00
c5552f9009 gui/moninj: make DDS widgets look less like buttons 2016-03-10 10:20:26 +08:00
542a375305 rtio: remove NOP suppression capability
Back when RTIO was driving TTLs, this functionality made it simpler to use by removing some irrelevant underflows.

The same technique is not applicable to DDS and SPI, so the user will have to deal with such underflows.

This patch makes the behavior of RTIO more consistent and the code simpler.
2016-03-10 09:47:29 +08:00
2e39802a61 rtio/wishbone: make replace configurable 2016-03-10 09:44:05 +08:00
9edaf16735 exceptions: clarify RTIOBusy 2016-03-09 22:11:32 +01:00
107e5cfbd4 gateware/rtio: factor _BlindTransfer 2016-03-09 19:07:46 +01:00
10a09122ea test_spi: break_realtime 2016-03-09 18:23:27 +01:00
349a66124b Merge branch 'master' into rtiobusy
* master:
  coredevice: fix _DDSGeneric __init__ args
  rtio/core: fix syntax
  rtio: disable replace on rt2wb channels
  examples: dds_bus -> core_dds
  fix more multi-DDS-bus problems
  runtime: fix dds declarations
  support for multiple DDS buses (untested)
2016-03-09 17:58:58 +01:00
8f6653ef72 test_spi: simplify test, add collision vs busy test 2016-03-09 17:58:42 +01:00
9a661bd273 hardware_testbench: clean up artiq_core_exeption printing 2016-03-09 17:30:41 +01:00
b32217cc84 coredevice: fix _DDSGeneric __init__ args 2016-03-09 17:23:02 +01:00
b50e3fabb0 hardware_testbench: also print artiq_core_exeption 2016-03-09 17:16:55 +01:00
3f8e431de6 rtio/core: fix syntax 2016-03-09 17:10:21 +01:00
03b53c3af9 rtio: disable replace on rt2wb channels 2016-03-09 23:37:04 +08:00
58e0e670fc tests: test spi business 2016-03-09 15:40:26 +01:00
bf188d05bf rtio: cleanup RTIOBusy message 2016-03-09 13:42:32 +01:00
db5231216d rtio: remove unused include 2016-03-09 13:42:15 +01:00
0bd9add95e spi: fix frequency_to_div() 2016-03-09 12:32:31 +01:00
522ec60f6e hardware_testbench: don't allow unused *args 2016-03-09 12:28:07 +01:00
b0de9ee90a coredevice: add RTIOBusy to __all__ 2016-03-09 12:27:45 +01:00
861c4a9ae5 fix more multi-DDS-bus problems 2016-03-09 19:03:05 +08:00
446dcfbfbc Merge commit '9d1903a' into rtiobusy
* commit '9d1903a':
  coredevice/i2c,ttl,spi: consistent device get
  examples/device_db: remove --no-localhost-bind
  Monkey-patch asyncio create_server (fixes #253).
  pipistrello: drop ttls on pmod, add leds back in
  pipistrello: try with fewer leds/pmod ttl
2016-03-09 11:55:08 +01:00
de37487a5c runtime: fix dds declarations 2016-03-09 18:27:51 +08:00
f0b0b1bac7 support for multiple DDS buses (untested) 2016-03-09 17:12:50 +08:00
9d1903a4e2 coredevice/i2c,ttl,spi: consistent device get 2016-03-09 13:01:34 +08:00
whitequark
80e1cf5d78 Monkey-patch asyncio create_server (fixes #253). 2016-03-09 02:37:16 +00:00
f33baf339f pipistrello: drop ttls on pmod, add leds back in 2016-03-08 23:34:51 +01:00
f39208c95a pipistrello: try with fewer leds/pmod ttl 2016-03-08 22:10:47 +01:00
2cb58592ff rtio: add RTIOBusy 2016-03-08 18:04:34 +01:00
0d431cb019 pipistrello: make pmod extension header, cleanup 2016-03-08 17:07:44 +01:00
81bc99905c missing parts of 59ac567 2016-03-08 16:49:23 +01:00
59ac567048 scanwidget: disable unmodified wheel on axis and slider 2016-03-08 16:43:04 +01:00
285979cab6 Merge branch 'master' into scanwidget
* master:
  pipistrello: grow fifos a bit (may make ise happier)
  gui: don't scroll experiment editor on modified wheel (closes #303)
  gui: ignore only unmodified wheelevents
  pipistrello: shrink fifos a bit (may make ise happier)
  pipistrello: use ttl_simple for pmod[4:8]
  pipistrello: move the spi channel like kc705
  doc: kc705.clock: add spi bus mappings (closes #321)
  doc: add pipistrello spi bus
  doc: add pipistrello pmod ttl channels
  pipistrello: make pmod[4:8] available as ttls
  pipistrello: adhere to pmod interface type 2 layout
2016-03-08 16:18:50 +01:00
a8fe3f50c3 pipistrello: grow fifos a bit (may make ise happier) 2016-03-08 16:17:37 +01:00
c08881de5d gui: don't scroll experiment editor on modified wheel (closes #303)
If you try to target e.g. spinbox with a ctrl- or shift-wheel to change the value
and you don't aim well, the tree widget will scroll. We already have tree
scroll on unmodified wheel. Let's have the modified wheel events exclusively
target the smaller widgets.
2016-03-08 16:12:38 +01:00
41ca223c45 gui: ignore only unmodified wheelevents 2016-03-08 15:53:27 +01:00
00d4775da5 pipistrello: shrink fifos a bit (may make ise happier) 2016-03-08 15:40:12 +01:00
9c11cda7dc pipistrello: use ttl_simple for pmod[4:8] 2016-03-08 13:52:52 +01:00
104d641c59 pipistrello: move the spi channel like kc705 2016-03-08 13:30:05 +01:00
2180c5af7c pipistrello: make pmod[4:8] available as ttls 2016-03-08 13:07:58 +01:00
e809e89571 pipistrello: adhere to pmod interface type 2 layout 2016-03-08 13:01:52 +01:00
7e99780891 scanwidget: wire up signals better, set values late, take scanwidget from 7aa6397 2016-03-08 12:35:13 +01:00
ef217f7fe2 Merge branch 'master' into scanwidget
* master: (125 commits)
  rtio: when rtlink addresses are different, issue collision not replace (fixes #320)
  rtio: collision_error -> collision
  test/coredevice/time_keeps_running: start new session to prevent now_mu save/restore
  runtime: fix sloppy memory management in cache_put.
  test_loopback: bump RTT limit to 60ns.
  soc: use add_extra_software_packages, factor builder code
  doc/PCA9548: clarify channel selection
  doc: I2C/QC2
  test: I2C/PCA9548 unittest
  examples/device_db: add PCA9548
  runtime/i2c_read: fix MSB
  ad5360: add documentation and an example
  ad5360: t16 is a max
  ad5360: un-factor write_channels
  ad5360: add busy and update timings
  ad5360: style
  ad5360: add batched zero-length multi-channel set()
  spi/ad5360: refactor, small fixes
  coredevice/i2c: fix exception message
  coredevice/PCA9548: fix I2C address
  ...
2016-03-08 11:14:57 +01:00
2953b069dc rtio: when rtlink addresses are different, issue collision not replace (fixes #320) 2016-03-08 15:58:25 +08:00
71105fd0d7 rtio: collision_error -> collision 2016-03-08 15:38:35 +08:00
59d7f5f1e3 test/coredevice/time_keeps_running: start new session to prevent now_mu save/restore 2016-03-08 14:04:51 +08:00
whitequark
739568fcb8 runtime: fix sloppy memory management in cache_put. 2016-03-07 21:12:03 +00:00
whitequark
9ffa8cbb11 test_loopback: bump RTT limit to 60ns.
Turns out a short jumper wire on a backplane leads to RTT of 50ns
exactly.
2016-03-07 20:27:22 +00:00
e8b59b00f6 soc: use add_extra_software_packages, factor builder code 2016-03-07 00:18:47 +08:00
c73b080019 doc/PCA9548: clarify channel selection 2016-03-07 00:17:45 +08:00
2770d9c729 doc: I2C/QC2 2016-03-05 19:02:03 +08:00
683716017b test: I2C/PCA9548 unittest 2016-03-05 19:01:35 +08:00
125ab3e076 runtime/i2c_read: fix MSB 2016-03-05 19:00:14 +08:00
f2b4b975a3 ad5360: add documentation and an example 2016-03-04 23:36:17 +01:00
18ccac717b ad5360: t16 is a max 2016-03-04 19:46:18 +01:00
eb2ec40b3a ad5360: un-factor write_channels 2016-03-04 19:01:29 +01:00
725943fee2 ad5360: add busy and update timings 2016-03-04 18:53:05 +01:00
e834a88340 ad5360: style 2016-03-04 18:15:35 +01:00
710717ca9b ad5360: add batched zero-length multi-channel set() 2016-03-04 18:14:31 +01:00
4ae3ca5f23 spi/ad5360: refactor, small fixes 2016-03-04 18:14:31 +01:00
200cddc346 coredevice/i2c: fix exception message 2016-03-05 00:51:13 +08:00
70f0a7447f coredevice/PCA9548: fix I2C address 2016-03-05 00:47:24 +08:00
df71b82037 coredevice/i2c: fix imports 2016-03-05 00:43:13 +08:00
a8a74d7840 targets/kc705: enable I2C for all hardware adapters 2016-03-05 00:19:59 +08:00
6b8efd10fd runtime/i2c: fix artiq_raise_from_c invokation 2016-03-05 00:19:08 +08:00
2f1a2782d2 coredevice: add I2C, PCA9548, TCA6424A drivers 2016-03-05 00:17:41 +08:00
790269eee7 master/worker_db: make arguments optional in DDB entries 2016-03-05 00:17:08 +08:00
ff4a46c278 runtime/i2c: make syscalls more ARTIQ-Python-friendly 2016-03-05 00:16:23 +08:00
3364827744 ttl/TTLClockGen: fix FTW computation with ref_multiplier != 1 2016-03-04 16:59:59 +08:00
4352d15016 coredevice/core: add ref_multiplier and coarse_ref_period attributes 2016-03-04 16:59:35 +08:00
354a62f5d0 Merge branch 'master' of github.com:m-labs/artiq 2016-03-04 16:51:48 +08:00
whitequark
6e44c5424d coredevice.ttl: add missed int64 conversion. 2016-03-04 08:37:43 +00:00
7ff0c89d51 kc705.clock: add all spi buses 2016-03-04 00:03:48 +01:00
669fbaa4f1 ad53xx->ad5360 and refactor 2016-03-04 00:00:25 +01:00
dc6d116824 spi: have write() delay by transfer duration 2016-03-03 21:57:27 +01:00
c2fcefc31f runtime/rtio: cleanup include 2016-03-03 19:48:06 +08:00
423ca03f3b runtime: bit-banged i2c support (untested) 2016-03-03 17:46:42 +08:00
whitequark
73bfbe51db compiler: reject lambdas used as kernel functions (fixes #313). 2016-03-03 08:33:28 +00:00
cfe72c72a2 gateware/kc705: add I2C GPIO core for QC2 2016-03-03 15:32:10 +08:00
a901971e58 gateware/soc: factor code to connect CSR device to kernel CPU 2016-03-03 15:12:15 +08:00
b662a6fcbd gateware/nist_{clock,qc2}: do not conflict with KC705 I2C 2016-03-03 15:10:50 +08:00
9af12230c8 soc: add timer to kernel CPU system 2016-03-03 13:19:17 +08:00
b83b113f3c gui/moninj: make widgets look less like buttons 2016-03-03 10:48:17 +08:00
0c97043a20 gateware/nist_clock: pin assignment corrections from David Leibrandt 2016-03-03 10:03:49 +08:00
d3f36ce784 kc705: add false paths for ethernet phy
* vivado prefers rsys_clk over sys_clk (despite the assignment hierarchy)
  (We need DONT_TOUCH and/or KEEP verilog annotations to fix this)
2016-03-02 19:56:24 +01:00
9969cd85de ad53xx: ldac may be none 2016-03-02 15:50:02 +01:00
f5dee455f5 test/worker: test exception logging 2016-03-02 17:12:22 +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
946bd84b58 protocols/pc_rpc: support retrieving selected target 2016-03-02 11:45:31 +08:00
1e4bccae20 ad53xx: add 2016-03-02 00:12:01 +01:00
162ecdd574 spi: cleanup, add frequency_to_div() 2016-03-02 00:11:17 +01:00
d973eb879f coredevice.spi: docstring fix 2016-03-01 22:42:00 +01:00
f754d2c117 Merge branch 'spimaster'
* spimaster: (52 commits)
  runtime/rtio: rtio_process_exceptional_status() has only one user
  coredevice.spi, doc/manual: add spi
  kc705: move ttl channels together again, update doc
  runtime: rt2wb_input -> rtio_input_data
  examples/tdr: adapt to compiler changes
  bridge: really fix O/OE
  runtime: define constants for ttl addresses
  coredevice.ttl: fix sensitivity
  bridge: fix ttl o/oe addresses
  runtime: refactor ttl*()
  rtio: rm rtio_write_and_process_status
  coredevice.spi: unused import
  rt2wb, exceptions: remove RTIOTimeout
  gateware.spi: delay only writes to data register, update doc
  nist_clock: disable spi1/2
  runtime/rt2wb: use input/output terminology and add (async) input
  examples: update device_db for nist_clock spi
  gateware.spi: rework wb bus sequence
  nist_clock: rename spi*.ce to spi*.cs_n
  nist_clock: add SPIMasters to spi buses
  ...
2016-03-01 22:08:08 +01:00
5ba753425d runtime/rtio: rtio_process_exceptional_status() has only one user 2016-03-01 21:38:51 +01:00
0456169558 coredevice.spi, doc/manual: add spi 2016-03-01 21:29:09 +01:00
2cc1dfaee3 kc705: move ttl channels together again, update doc 2016-03-01 19:40:32 +01:00
f30dc4b39e runtime: rt2wb_input -> rtio_input_data 2016-03-01 19:22:42 +01:00
81b35be574 bridge: really fix O/OE 2016-03-01 18:49:04 +01:00
135643e3a6 runtime: define constants for ttl addresses 2016-03-01 18:22:42 +01:00
3aebbbdb61 coredevice.ttl: fix sensitivity 2016-03-01 18:22:03 +01:00
6f9656dcbe bridge: fix ttl o/oe addresses 2016-03-01 18:19:06 +01:00
8adef12781 runtime: refactor ttl*()
* remove rt2wb_output
* remove ttl_*() ttl.c ttl.h
* use rtio_output() and rtio_input_timestamp()
* adapt coredevice/compiler layer
* adapt bridge to not artiq_raise_from_c()
2016-03-01 16:36:59 +01:00
aa10791ddf rtio: rm rtio_write_and_process_status 2016-03-01 15:40:35 +01:00
29776fae3f coredevice.spi: unused import 2016-03-01 15:38:40 +01:00
324660ab40 rt2wb, exceptions: remove RTIOTimeout
Assume that rt2wb transactions either collide and are then
reported (https://github.com/m-labs/artiq/issues/308) or that
they complete and the delay with which they complete does not matter.

If a transaction is ack'ed with a delay because the WB core's downstream
logic is busy, that may lead to a later collision with another WB
transaction.
2016-03-01 14:44:07 +01:00
c2fe9a08ae gateware.spi: delay only writes to data register, update doc 2016-03-01 14:14:38 +01:00
whitequark
7e16da4a77 transforms.llvm_ir_generator: ignore assignments of None (fixes #309). 2016-03-01 12:26:42 +00:00
c7d48a1765 coredevice/TTLOut: add dummy output function 2016-03-01 19:03:10 +08:00
18efca0f0a Merge branch 'master' of github.com:m-labs/artiq 2016-03-01 14:49:16 +08:00
b0526c3354 protocols/pipe_ipc: fix resource leak on Windows 2016-03-01 14:49:04 +08:00
whitequark
dc70029b91 transforms.asttyped_rewriter: set loc for ForT (fixes #302). 2016-03-01 05:22:12 +00:00
f2ec8692c0 nist_clock: disable spi1/2 2016-03-01 01:52:46 +01:00
7d7a710a56 runtime/rt2wb: use input/output terminology and add (async) input 2016-03-01 00:35:56 +01:00
da22ec73df gateware.spi: rework wb bus sequence 2016-02-29 22:22:08 +01:00
12252abc8f nist_clock: rename spi*.ce to spi*.cs_n 2016-02-29 22:21:18 +01:00
7ef21f03b9 nist_clock: add SPIMasters to spi buses 2016-02-29 22:19:39 +01:00
7ab7f7d75d Merge branch 'master' into spimaster
* master:
  artiq_flash: use term 'gateware'
  targets/kc705-nist_clock: add clock generator on LA32 for testing purposes
  doc: insist that output() must be called on TTLInOut. Closes #297
  doc: update install instructions
  coredevice: do not give up on UTF-8 errors in log. Closes #300
  use m-labs setup for defaults
  fix indentation
2016-02-29 20:47:52 +01:00
6dd1eb2e92 artiq_flash: use term 'gateware' 2016-02-29 20:45:41 +01:00
6c899e6ba6 runtime/rtio: fix rtio_input_wait(), add RTIOTimeout 2016-02-29 19:49:15 +01:00
16537d347e coredevice.spi: cleanup 2016-02-29 19:48:26 +01:00
ecedbbef4c runtime/ttl: use rtio_output and rtio_input_wait 2016-02-29 19:20:07 +01:00
5dae9f8aa8 runtime: refactor rt2wb/dds 2016-02-29 19:16:29 +01:00
d3c94827eb runtime/ttl: simplify ttl_get() a bit 2016-02-29 17:58:54 +01:00
e11366869d coredevice/spi: clean up api 2016-02-29 17:54:42 +01:00
5fad570f5e targets/kc705-nist_clock: add clock generator on LA32 for testing purposes 2016-03-01 00:35:26 +08:00
dd570720ac gateware.spi: ack only in cycles 2016-02-29 17:29:37 +01:00
a1e1f2b387 doc: insist that output() must be called on TTLInOut. Closes #297 2016-03-01 00:28:40 +08:00
a0083f4501 Revert "gateware/rt2wb: only input when active"
This reverts commit 1b08e65fa1.
2016-02-29 16:44:11 +01:00
cb8815cc65 Revert "gateware/rt2wb: support combinatorial ack"
This reverts commit f73228f248.
2016-02-29 16:44:04 +01:00
f73228f248 gateware/rt2wb: support combinatorial ack 2016-02-29 15:40:55 +01:00
4467f91cbf coredevice: do not give up on UTF-8 errors in log. Closes #300 2016-02-29 22:21:10 +08:00
1b08e65fa1 gateware/rt2wb: only input when active 2016-02-29 14:56:29 +01:00
6903a1d88a runtime/rt2wb: accurate exception strings 2016-02-29 14:56:04 +01:00
c226aeb0d4 coredevice/spi: read_sync read bit 2016-02-29 14:55:29 +01:00
572c49f475 use m-labs setup for defaults 2016-02-29 21:35:23 +08:00
785691ab98 fix indentation 2016-02-29 21:32:48 +08:00
df7d15d1fe runtime: refactor spi into rt2wb 2016-02-29 13:54:36 +01:00
eb01b0bfee gateware.spi: cleanup doc 2016-02-29 12:41:30 +01:00
aeae565d35 runtime/spi: don't apply channel offset 2016-02-29 11:53:36 +01:00
948fefa69a gateware.spi: style 2016-02-29 11:48:29 +01:00
ad34927b0a spi: RTIO_SPI_CHANNEL -> RTIO_FIRST_SPI_CHANNEL 2016-02-29 11:35:49 +01:00
5480099f1b gateware.spi: rewrite counter bias for timing 2016-02-29 02:28:19 +01:00
9a1d6a51a4 gateware.spi: shorten counters 2016-02-29 01:51:33 +01:00
a4504905bd Merge remote-tracking branch 'm-labs/master' into spimaster
* m-labs/master:
  Fix tests.
  types.TypePrinter: don't waste screen space on empty attribute lists.
  Revert wrong parts of 6bd16e44.
  examples/notebook: cleanup, and fix spelling
  test/LoopbackCount: request correct devices
2016-02-29 00:49:13 +01:00
8b2b278457 spi: add coredevice support 2016-02-29 00:44:48 +01:00
d63a63531a spi: add runtime support 2016-02-29 00:38:36 +01:00
8d7e92ebae pipistrello: set RTIO_SPI_CHANNEL 2016-02-29 00:37:00 +01:00
9a881aa430 gateware.spi: simpler clk bias 2016-02-29 00:36:18 +01:00
d5893d15fb gateware.kc705: make xadc/ams an extension header 2016-02-28 22:41:17 +01:00
312e09150e kc705/clock: add spi bus for dac on ams101 2016-02-28 21:17:53 +01:00
f8732acece rtio.spi: drop unused argument 2016-02-28 21:06:20 +01:00
3b6999ac06 gateware.spi: refactor, sim verified 2016-02-28 20:40:06 +01:00
bd9ceb4e12 gateware.spi: add complete spi master logic 2016-02-27 22:47:16 +01:00
whitequark
8bbffab8c8 Fix tests. 2016-02-27 13:40:37 +00:00
whitequark
e421b22953 types.TypePrinter: don't waste screen space on empty attribute lists. 2016-02-27 13:29:47 +00:00
whitequark
63e0c7c07c Revert wrong parts of 6bd16e44. 2016-02-27 13:15:49 +00:00
ade3eda19a gateware.pipistrello: use pmod for spi 2016-02-27 11:29:40 +01:00
e7146cc999 gateware.spi: design sketch 2016-02-26 17:03:08 +01:00
fb929c8599 gateware/spi: stubs 2016-02-26 13:11:10 +01:00
a5bf502917 test/LoopbackCount: request correct devices 2016-02-26 14:29:51 +08:00
whitequark
82a8e819ac transforms.llvm_ir_generator: use private linkage instead of internal.
This reduces the size of symbol tables (internal adds an STB_LOCAL
symbol, but private doesn't).
2016-02-25 20:15:40 +00:00
whitequark
6bd16e448e Commit missing parts of 919a49b6. 2016-02-25 20:02:31 +00:00
whitequark
f838b8be49 compiler.embedding: cache attribute types (fixes #276). 2016-02-25 19:56:45 +00:00
whitequark
d899d7307e compiler.types: TDelay is always unifiable with self. 2016-02-25 19:56:12 +00:00
whitequark
919a49b6bc compiler: quell excessively detailed diagnostics. 2016-02-25 19:43:52 +00:00
485fc3bd27 gui: use scanwidget 2016-02-25 20:34:18 +01:00
3ed8288601 scanwidget: add from current git 2016-02-25 20:34:04 +01:00
whitequark
8e77e561cd test: bring back test_loopback_count (fixes #295). 2016-02-25 18:46:55 +00:00
whitequark
18274a09a1 Commit missing parts of 4426730. 2016-02-25 02:05:44 +00:00
whitequark
a1dd909bc4 Take alignment into account during attribute writeback (fixes #293). 2016-02-25 01:44:05 +00:00
whitequark
914bc9f360 artiq_run: allow running LLVM IR/bitcode files, even with trivial RPCs. 2016-02-24 22:50:45 +00:00
whitequark
da31d29897 compiler: fix ARTIQ_DUMP_*. 2016-02-24 21:43:46 +00:00
whitequark
652c2a185f test: rewrite tests using ttl_inout to use loop_{in,out} (#265). 2016-02-24 18:27:08 +00:00
whitequark
a829b8a6fc Commit missing parts of cf41890. 2016-02-24 17:53:13 +00:00
whitequark
cf41890255 Correctly display backtraces that contain inlined functions. 2016-02-24 17:44:19 +00:00
whitequark
442673076f compiler: setting ARTIQ_DUMP_* dumps to a file instead of stderr. 2016-02-24 17:44:19 +00:00
6b28b8e36e Merge branch 'master' of github.com:m-labs/artiq 2016-02-25 01:25:31 +08:00
dda0e0846c worker: print core device tracebacks. Closes #292 2016-02-25 01:25:26 +08:00
c3cdce9d02 style 2016-02-25 01:22:43 +08:00
aa50c5b4d9 pdq2.mediator: minor tweaks 2016-02-24 18:11:05 +01:00
f2acf95f98 pdq2.mediator: err on short segments 2016-02-24 18:11:05 +01:00
251aed047f worker: do not print redundant exception information 2016-02-25 01:10:31 +08:00
whitequark
950eaef08c coredevice: re-export more exceptions. 2016-02-24 15:09:22 +00:00
whitequark
956448bd8d test: skip RPC timing tests by default. 2016-02-24 15:09:22 +00:00
5599ec16ea sim: align API closer to non-sim
* add Output
* also clear timeline after it has been printed (multiple kernel invocations)

The sim core device API has diverged quite a bit from the non-sim API.
More work is needed.
2016-02-23 21:01:03 +01:00
467268a06e coefficients: fix constant zero 2016-02-23 17:56:38 +01:00
53d5a458a2 test/hardware_testbench: properly close devices 2016-02-23 16:00:53 +08:00
82f4fd1290 test/coredevice: convert to 'with parallel' 2016-02-23 15:48:12 +08:00
a8545fc1f7 targets/kc705: set up user_sma_gpio_n like other TTLs 2016-02-22 22:35:15 +08:00
94584bb8b1 wavesynth: handle short segments 2016-02-22 15:29:27 +01:00
269e9c600c pdq2.mediator: use channel numbers from subdevices, track segment duration 2016-02-22 15:29:27 +01:00
b327c50f14 pdq2: do not emit frame-initial trigger line (segments are triggered) 2016-02-22 15:29:27 +01:00
d7f5904d16 wavesynth: duration sign 2016-02-22 15:29:27 +01:00
1b410abc2c pdq2: move initialization and park/unpark to driver 2016-02-22 15:29:27 +01:00
whitequark
bc81be1345 Implement dumb 'with parallel' (#265). 2016-02-22 13:51:08 +00:00
whitequark
51a5910002 Rename 'with parallel' to 'with interleave' (#265). 2016-02-22 13:24:43 +00:00
whitequark
b0e7fddc32 lit: unbreak on non-conda. 2016-02-22 13:16:43 +00:00
whitequark
9db2be2b03 compiler: only use colors in diagnostics on POSIX (fixes #272). 2016-02-22 11:27:45 +00:00
4946a53456 Revert "targets/kc705: pre-divide input RTIO clock to improve non-50% duty cycle tolerance"
This reverts commit 04b0db1a91.
2016-02-22 17:52:40 +08:00
9a6354b959 protocols/pc_rpc: raise asyncio line length limit for client 2016-02-22 13:04:21 +08:00
25f6afd08a protocols/asyncio_server: raise asyncio line length limit. Closes #285 2016-02-22 12:06:23 +08:00
8da455d5db protocols/sync_struct: raise asyncio line length limit 2016-02-22 02:11:36 +08: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
7c246b3559 pdq2: redo program serialization, cleanup 2016-02-21 17:34:18 +01:00
294eac19fe pdq2.mediator: cleanup/style 2016-02-21 17:33:45 +01:00
e3e42216a2 applets: workaround 'garbage on sides of embedded windows' bug on Windows 2016-02-21 21:32:21 +08:00
95dbafd662 gui: add logo to MDI area 2016-02-21 08:06:52 +08:00
804592a3f7 gui/log: fix dock close tracking 2016-02-21 05:33:24 +08:00
3b81dd5adc gui: workaround for Qt failing to embed applets in hidden and detached QDockWidgets 2016-02-19 18:13:25 +01:00
5f5427f51f protocols/pipe_ipc: work around race condition with loop.start_serving_pipe/close on Windows 2016-02-19 17:39:30 +01:00
28c4d8c2a7 applets: attempt at fixing embedding bugs on Windows 2016-02-19 14:48:25 +01:00
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
6830703ec6 artiq_master: directly log, explicit imports 2016-02-18 15:35:02 +01:00
1891725e12 wavesynth: cleanup 2016-02-18 14:13:40 +01:00
b4ea318e6d coefficients: add comparison unittest 2016-02-18 14:13:40 +01:00
65824fc7f4 coefficients: cleanup 2016-02-18 14:13:40 +01:00
0edde9f4d3 master: inform when running 2016-02-18 14:13:40 +01:00
6973a9471b gui/explorer: fix 'parent folder' on Windows 2016-02-18 13:47:03 +01:00
155c2ec2ef ctlmgr,worker: set PYTHONUNBUFFERED for subprocesses 2016-02-18 12:41:08 +01:00
ca3cced0b4 test/ctlmgr: escape backslashes in sys.executable 2016-02-18 10:02:55 +01:00
4940e48d85 gui/log: scroll to bottom on startup 2016-02-18 01:09:51 +01:00
2ce3c08697 gui/applets: escape backslashes in {python} and {ipc_address} 2016-02-16 12:52:11 +01:00
6196aaf2f5 master/worker: increase timeouts. Windows VMs can be really slow. 2016-02-16 09:44:50 +01:00
f0e25991fe gui/experiments: set icon of MDI subwindows 2016-02-16 00:28:51 +01:00
87574193d4 gui: autoscroll MDI area 2016-02-16 00:19:50 +01:00
53076615f8 gui: save/restore geometry of MDI subwindows 2016-02-16 00:19:38 +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
whitequark
a5977a5b62 Commit missing parts of 1465fe6f8. 2016-02-15 21:42:51 +00:00
whitequark
1465fe6f81 Add channel name as the first argument to rtio_log (#206). 2016-02-15 21:17:54 +00:00
whitequark
f28b259b5f Commit missing parts of 74a75841. 2016-02-15 19:36:19 +00:00
1fc51f32ed test/scheduler: fix 2016-02-15 18:31:26 +01:00
72a993afe0 master: cache last RID. Closes #234 2016-02-15 18:20:50 +01:00
649f3b9094 Revert "Add workaround for analyzer core bug (#206)."
This reverts commit e94a9236aa.
2016-02-15 09:57:23 +01:00
whitequark
e94a9236aa Add workaround for analyzer core bug (#206). 2016-02-15 03:56:56 +00:00
whitequark
74a75841f6 Add rtio_log() and make print() an RPC (#206). 2016-02-15 03:56:56 +00:00
whitequark
b9448c069a Make rtio_log() accept variable number of arguments. 2016-02-15 03:56:56 +00:00
whitequark
cd7f12e4b1 Remove lognonl(); rename log() to core_log() to avoid math.h conflict.
Also, make core_log() exactly equivalent to printf(), since the lack
of a drop-in universally usable printf() equivalent annoys me.

Note that this breaks compiled experiments. They'll be fixed in
the following commits.
2016-02-15 03:56:56 +00:00
c63afae875 gui/moninj: add scrollbars 2016-02-15 00:57:15 +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
e4918a6e19 Merge branch 'master' of github.com:m-labs/artiq 2016-02-14 23:29:24 +01:00
b24146e680 Merge branch 'qtdocks' 2016-02-14 23:28:44 +01:00
9797acc964 gui/applets: prevent size from shrinking to zero when docked 2016-02-14 23:27:59 +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
579e789ad7 tools/QDockWidgetCloseDetect: simplify 2016-02-14 22:42:25 +01:00
055573a4af Merge branch 'subprocess-termination'
* subprocess-termination:
  test_ctlmgr: fix
  Client: add note about timeout sideeffects
  hardware_testbench: full shutdown sequence for controllers
  worker: flake8 style cleanup
  ctlmgr: fix import
  pc_rpc.Client: support socket timeouts
  subprocesses: unify termination logic
2016-02-14 22:28:11 +01:00
489f69f991 gui: reliable detection of dock close 2016-02-14 22:22:07 +01:00
b97be9c08d Merge branch 'newtesting' 2016-02-14 21:30:19 +01:00
ab1d85be53 gui: remove PyQt5 assertion (break mock modules) 2016-02-14 14:03:57 +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
e68d0d1ec7 gui: do not crash when deleting selected hierarchical dataset and its parents 2016-02-13 23:22:59 +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
4a03335850 protocols/pipe_ipc: fix read transport resource leak
This caused the "Exception ignored in:" message on exit.
2016-02-11 17:12:05 +01:00
29d4755567 gui/applets: prevent concurrent process start/stop 2016-02-11 16:25:44 +01:00
92c0ede689 applets: workaround for Qt window embedding initial size bug 2016-02-11 16:19:34 +01:00
cd9467a8df gui/applets: properly destroy container widget when process is terminated 2016-02-11 16:02:10 +01:00
c9a9d19182 test/serialization: fix syntax 2016-02-11 09:37:27 +01:00
6434a9cd5f Merge branch 'master' into subprocess-termination
* master: (44 commits)
  Revert "conda: restrict binutils-or1k-linux dependency to linux."
  manual/installing: refresh
  use https for m-labs.hk
  gui/log: top cell alignment
  master/log: do not break lines
  conda: fix pyqt package name
  gui/applets: log warning if IPC address not in command
  applets: make sure pyqtgraph imports qt5
  applets: avoid argparse subparser mess
  examples/histogram: artiq -> artiq.experiment
  gui/applets: save dock UID in state
  setup.py: give up trying to check for PyQt
  setup.py: fix PyQt5 package name
  Use Qt5
  applets: fix error message text
  applets: handle dataset mutations
  applets: properly name docks to support state save/restore
  applets: clean shutdown
  protocols/pyon: set support
  protocols/pyon: remove FlatFileDB
  ...
2016-02-11 09:24:45 +01:00
97ba77f4b5 gui/log: top cell alignment 2016-02-10 06:34:11 +01:00
2ce1e6a1e9 master/log: do not break lines 2016-02-10 06:33:41 +01:00
d1e54c86b1 gui/applets: log warning if IPC address not in command 2016-02-08 22:39:47 +01:00
338e5fe3fc Merge branch 'applets_pipeipc' 2016-02-08 22:25:36 +01:00
44a1efa601 applets: make sure pyqtgraph imports qt5 2016-02-08 22:25:20 +01:00
67327b1e61 applets: avoid argparse subparser mess 2016-02-08 22:25:02 +01:00
4733c4ba1e gui/applets: save dock UID in state 2016-02-08 21:57:07 +01:00
d873c25b8b Use Qt5 2016-02-08 19:32:40 +01:00
7584b02d66 applets: fix error message text 2016-02-08 19:23:50 +01:00
de99e7f830 applets: handle dataset mutations 2016-02-08 19:20:07 +01:00
f25b5442e7 applets: properly name docks to support state save/restore 2016-02-08 16:26:02 +01:00
dc955d46c9 Merge branch 'applets' 2016-02-08 14:55:53 +01:00
8844fba4c9 applets: clean shutdown 2016-02-08 14:35:37 +01:00
8be0696b39 protocols/pyon: set support 2016-02-08 14:08:14 +01:00
8a912105cb protocols/pyon: remove FlatFileDB 2016-02-08 14:05:00 +01:00
741b11c26d applets: basic embedding OK 2016-02-08 09:59:15 +01:00
912274c6af test_ctlmgr: fix 2016-02-05 15:08:49 -07:00
70a67a0e38 Merge branch 'applets' into applets_pipeipc 2016-02-05 13:29:20 +01:00
c52081ca0d Merge remote-tracking branch 'm-labs/newtesting' into subprocess-termination
* m-labs/newtesting:
  style
  assume 'import artiq' works before running tests
  test/ctlmgr: use sys.executable, use default localhost binding
2016-02-03 15:00:00 -07:00
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
c28b938471 Client: add note about timeout sideeffects 2016-02-02 15:42:47 -07:00
f7df393248 hardware_testbench: full shutdown sequence for controllers 2016-02-02 15:32:40 -07:00
53e5d0a7bb worker: flake8 style cleanup 2016-02-02 15:32:40 -07:00
7636952496 ctlmgr: fix import 2016-02-02 15:32:39 -07:00
c105949155 pc_rpc.Client: support socket timeouts
... and fix two flake8 errors.
2016-02-02 15:32:39 -07:00
55006119c8 subprocesses: unify termination logic 2016-02-02 15:32:36 -07:00
89f68f3470 style 2016-02-02 21:57:25 +01:00
9ca8b48bf9 assume 'import artiq' works before running tests 2016-02-02 21:52:33 +01:00
ca8a075f46 test/ctlmgr: use sys.executable, use default localhost binding 2016-02-02 21:08:51 +01:00
b7de92e96c remove pxi6733 support (now lives at https://github.com/m-labs/aq_ni6733 2016-02-02 18:41:57 +01:00
cf465dae0c tools/file_import: make sure sys.path is always restored 2016-01-31 20:33:17 +01:00
0d18942869 hardware_testbench: request controller termination 2016-01-30 20:04:32 -07:00
9fb5ef4d86 Merge branch 'increase-runtime-size'
closes #250

* increase-runtime-size:
  flash: grow runtime limit to 512 kB
  RELEASE_NOTES: update
  flash storage: move to flash + 0x70000
2016-01-30 18:58:32 -07:00
10d78a5d0b flash: grow runtime limit to 512 kB 2016-01-30 14:50:15 -07:00
68891493a3 analyzer: move common to artiq.protocols
migen was still pulled in through rtio.__init__.py
2016-01-29 20:26:48 -07:00
17ac64a65e ctlmgr: fix the fix (107e2fe) 2016-01-29 17:52:12 -07:00
d05d720b19 tests: misc fixes, cleanup 2016-01-29 17:32:59 -07:00
107e2fedf4 ctlmgr: reinstate lost changes 2016-01-29 17:20:07 -07:00
1d92c0874e gui/log: use QFontDatabase for fixed font 2016-01-29 23:21:22 +01: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
4a29f0702f test.ctlmgr: drop a redundant lambda 2016-01-28 16:59:59 -07:00
bb1db7d7fd test.ctlmgr: add basic test tooling 2016-01-28 16:54:14 -07:00
ab5e8fd8da hardware_testbench: fix timeout handling 2016-01-28 15:41:38 -07:00
982fbb0670 hardware_testbench: use plain subprocess to start controllers 2016-01-28 15:31:01 -07:00
1b7020dff3 hardware_testbench: run Crontrollers loop in thread, not the test 2016-01-27 18:45:08 -07:00
99f788965e Merge branch 'master' into testbench-controllers
* master:
  gui/experiments: float/bring into focus already open docks when opening experiments
  gui: reduce size of console dock
  protocols/logging,pc_rpc: do not print errors on Windows when clients disconnect
  gui: reduce size of schedule dock
  worker: Windows VMs are slow, increase send_timeout
  protocol/sync_struct: Windows also raises ConnectionAbortedError on disconnection
  gui: reduce size of log dock
  gui: reduce size of experiment dock
  protocols/logging/LogParser: handle Windows CRLF
  pyon: handle \r
  test/pipe_ipc: re-enable
  protocols/asyncio_server: minor cleanup
  protocols/pipe_ipc: Windows support
  Revert "Revert "test/pipe_ipc: temporarily skip test""
  Revert "try debugging weird unittest failure"
  try debugging weird unittest failure
  conda: restrict binutils-or1k-linux dependency to linux.
  transforms.iodelay_estimator: make diagnostics much more clear.
  Fix typo.
2016-01-27 14:26:35 -07:00
f78eecb81b hardware_testbench: run controllers 2016-01-27 14:24:32 -07:00