Commit Graph

2993 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq b59283f85e gui/applets: use a better default size, make minimum size proportional to font 2016-03-29 17:10:37 +08:00
Sebastien Bourdeauducq b6232aea86 gui: better default layout 2016-03-29 16:59:43 +08:00
Sebastien Bourdeauducq 84d50c4caf environment,worker_db: mutate datasets from experiments via dedicated method instead of Notifier. Closes #345 2016-03-29 16:26:14 +08:00
Sebastien Bourdeauducq a545598d4c style 2016-03-29 16:19:03 +08:00
Sebastien Bourdeauducq 3c09577ed0 device/thorlabs_tcube: fix port read 2016-03-29 14:39:55 +08:00
Sebastien Bourdeauducq 50888865e7 doc/dds: fix init timing margin 2016-03-29 12:01:32 +08:00
Sebastien Bourdeauducq 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
Robert Jördens 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
Sebastien Bourdeauducq 8b00045c20 Merge branch 'master' of github.com:m-labs/artiq 2016-03-25 20:01:18 +08:00
Sebastien Bourdeauducq 3f333a58af gui/log: split lines correctly 2016-03-25 20:01:02 +08:00
Sebastien Bourdeauducq 5c6e2d7a3a gui/log: send Qt model notifications correctly 2016-03-25 20:00:52 +08:00
Robert Jördens 5b536d7c67 i2c: fix variable name (closes #347) 2016-03-25 12:51:55 +01:00
Sebastien Bourdeauducq 67ab8dbfa5 protocols/pc_rpc: short_exc_info 2016-03-25 19:43:34 +08:00
Sebastien Bourdeauducq ca4e6e03fa master/worker: use only first line in short_exc_info 2016-03-25 19:43:12 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq b190581102 Revert "runtime/i2c: more conservative timings"
This reverts commit 799c2c77c4.
2016-03-25 14:55:40 +08:00
Sebastien Bourdeauducq e9ca125976 protocols/remote_exec: fix call 2016-03-25 14:55:29 +08:00
Sebastien Bourdeauducq e6809397a3 protocols: add remote_exec 2016-03-24 00:49:02 +08:00
Sebastien Bourdeauducq 0d7d584f08 master/worker_db: add controller_aux_target device_db entry type 2016-03-24 00:48:12 +08:00
Sebastien Bourdeauducq befbab5571 gui: add image applet 2016-03-23 17:04:22 +08:00
Sebastien Bourdeauducq 168113ce55 protocols/pc_rpc: support dynamic target creation 2016-03-23 15:13:56 +08:00
Sebastien Bourdeauducq 120db8ba08 protocols/pipe_ipc: raise line length limit 2016-03-23 15:12:29 +08:00
Sebastien Bourdeauducq 799c2c77c4 runtime/i2c: more conservative timings 2016-03-23 12:54:19 +08:00
Sebastien Bourdeauducq 2bb4ad189a test: fix controller simulations 2016-03-22 22:29:41 +08:00
Sebastien Bourdeauducq abac5284a9 Merge branch 'master' of github.com:m-labs/artiq 2016-03-22 21:56:26 +08:00
Sebastien Bourdeauducq b5441fd107 devices/novatech409b: convert to asyncserial 2016-03-22 21:55:58 +08:00
Sebastien Bourdeauducq 7657b67ea6 devices/thorlabs_tcube: cleanup, convert to asyncserial 2016-03-22 21:55:37 +08:00
Sebastien Bourdeauducq 2cbe47e26f protocols/pc_rpc: document coroutine methods, support locking 2016-03-22 21:55:06 +08:00
Robert Jördens 8f54a1e619 pipistrello: sys_clk 83 -> 75 MHz
This should close #341 once migen generates stable output.
2016-03-21 13:47:32 +01:00
Sebastien Bourdeauducq 1c9b8a1d52 test/coredevice/portability/pulses: compute time differences in MU 2016-03-20 15:29:31 +08:00
Sebastien Bourdeauducq ffe4d81f3e runtime/net_server: restore connection close behavior when len<0 2016-03-19 22:46:42 +08:00
Sebastien Bourdeauducq fc558bcd27 analyzer: adapt analyzer_poll to new network code 2016-03-19 22:08:08 +08:00
Sebastien Bourdeauducq 900b0cc629 analyzer: make byte_count 64-bit 2016-03-19 19:40:23 +08:00
Sebastien Bourdeauducq 4d22db1aff coredevice/exceptions/ClockFailure: improve description 2016-03-19 18:01:00 +08:00
Sebastien Bourdeauducq ff697a47ce test/coredevice/cache: fix exception import 2016-03-19 18:00:10 +08:00
Sebastien Bourdeauducq 641831e0e1 dds: improve error reporting 2016-03-19 12:15:19 +08:00
Sebastien Bourdeauducq 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
Robert Jördens 80b13b1263 scanwidget: cleanup interactive behavior (48a0208) 2016-03-18 21:53:06 +01:00
Robert Jördens d60eaa7b44 scanwidget: fix div by zero rubberband width (closes #335) (4b8fe1e) 2016-03-18 09:04:35 +01:00
Sebastien Bourdeauducq 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
Robert Jördens f816c7d8d8 scanwidget: add shift-lmb and ctrl-lmb drag modes (1d78c78) 2016-03-18 00:07:28 +01:00
Robert Jördens 33da27a749 experiment/gui: support reverse scan (closes #246) 2016-03-17 22:37:17 +01:00
Sebastien Bourdeauducq 2859382e11 gui: display repository scanning status and revision. Closes #274 2016-03-18 00:40:54 +08:00
Sebastien Bourdeauducq 4bf0db32be master: publish repository status 2016-03-18 00:40:17 +08:00
Sebastien Bourdeauducq fb8a5486e3 gui/moninj: compute size of widgets based on font sizes 2016-03-17 18:38:27 +08:00
Sebastien Bourdeauducq f73934112b gui/moninj: flow layout 2016-03-17 18:18:31 +08:00
Sebastien Bourdeauducq 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
Robert Jördens 61223fb053 scanwidget: min 3 ticks (f3b4cb2) 2016-03-17 00:30:13 +01:00
Robert Jördens a4e916de73 scanwidget: scroll and code simplification (0cca4a3) 2016-03-16 23:47:28 +01:00
Robert Jördens ec5c2b6699 scanwidget: shortcuts (4a21946) 2016-03-16 23:30:50 +01:00
Robert Jördens fb31782b6f scanwidget: drag modes (9a7fcd4) 2016-03-16 23:05:23 +01:00
Robert Jördens 5d5ef356f4 scanwidget: just do QWidget (337af80) 2016-03-16 22:08:32 +01:00
Robert Jördens a75ee76463 scanwidget: more adaptable sizing (8bc0c10) 2016-03-16 21:25:45 +01:00
Robert Jördens 11bfe33dd4 scanwidget: painting (3237d2b) 2016-03-16 21:13:14 +01:00
Robert Jördens 67db5f77cd scanwidget: lmb axis drag (9e6203c) 2016-03-16 21:11:40 +01:00
Robert Jördens d858ad4180 scanwidget: rewrite, pending drawing area (3de1505) 2016-03-16 21:11:40 +01:00
Sebastien Bourdeauducq 0e1f75ec49 targets/kc705/qc2: hook up HPC backplane 2016-03-16 16:19:56 +08:00
Sebastien Bourdeauducq cb8e497ff6 analyzer: fix DDSHandler setup 2016-03-15 22:14:44 +08:00
Sebastien Bourdeauducq 0076fc4216 analyzer: fix AD9914 FTW decoding 2016-03-15 22:14:21 +08:00
Sebastien Bourdeauducq 6a9957a2ac analyzer: fix get_dds_sysclk 2016-03-15 21:47:24 +08:00
Sebastien Bourdeauducq 9ffaf82877 test/analyzer: check that last message is StoppedMessage 2016-03-15 21:44:56 +08:00
Sebastien Bourdeauducq 1bbef94061 analyzer: fix byte_count (again) 2016-03-15 20:49:07 +08:00
Sebastien Bourdeauducq 85ea70a664 analyzer: fix byte_count 2016-03-15 20:33:08 +08:00
Sebastien Bourdeauducq 62ac4e3c2e analyzer: fix EOP generation 2016-03-15 20:25:02 +08:00
Sebastien Bourdeauducq b5ec979db3 analyzer: drive wishbone cyc signal 2016-03-15 19:46:12 +08:00
Sebastien Bourdeauducq a142d403ea gui: handle better changing MDI area background colors 2016-03-15 18:36:34 +08:00
Sebastien Bourdeauducq a172d8b837 logo: use Unix EOLs 2016-03-15 18:35:30 +08:00
Sebastien Bourdeauducq e13d424398 analyzer: strip final StoppedMessage for VCD output 2016-03-15 18:33:36 +08:00
Sebastien Bourdeauducq 8a6873cab2 analyzer: use EOP, flush pipeline on stop 2016-03-15 17:49:59 +08:00
Robert Jördens fc60f3504c scanwidget: wheel event handling cleanup (380634e) 2016-03-14 18:06:18 +01:00
Robert Jördens 2e73d6c89c scanwidget: changes as of 1f9ab9b (resize) 2016-03-14 16:53:06 +01:00
Robert Jördens 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
Robert Jördens 5714ffe758 scanwidget: draw based on font metrics (closes #328) 2016-03-12 13:09:31 +01:00
Robert Jördens 5e7eff6c4d scanwidget: changes as of edaba53 2016-03-12 12:42:33 +01:00
Robert Jördens 78f2706aa8 scanwidget: apply changes as of 579bf5e 2016-03-11 21:37:55 +01:00
Robert Jördens 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
Robert Jördens 22b072699f gui: fix scanwidget usage 2016-03-11 18:30:27 +01:00
Robert Jördens 7f3e1c989d scanwidget: apply changes as of 10439cb 2016-03-11 18:29:21 +01:00
Robert Jördens e4b854b8bf scanwidget: apply changes as of 98f0a56 2016-03-11 15:38:22 +01:00
Robert Jördens 01e919dad8 novatech409b: log sim commands, style 2016-03-10 16:50:18 +01:00
Sebastien Bourdeauducq 065cbfbb8a gui/moninj: fix datagram offset computation (#325) 2016-03-10 22:34:22 +08:00
Robert Jördens 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
Robert Jördens a618a6d03a hardware_testbench: better message when skipping 2016-03-10 12:34:06 +01:00
Robert Jördens f68c24094f test_spi: drain errors and be more strict on where we expect errors 2016-03-10 12:25:10 +01:00
Sebastien Bourdeauducq 579168f06f monkey-patch asyncio.proactor_events to handle ConnectionAbortedError on Windows. Closes #247 2016-03-10 15:11:10 +08:00
Sebastien Bourdeauducq d0cf589229 test/rtio/Loopback: ensure loop_out is low before starting test 2016-03-10 13:24:00 +08:00
Sebastien Bourdeauducq f3a2b3a67e test/rtio: raise exception when pulse is not received 2016-03-10 12:16:18 +08:00
Sebastien Bourdeauducq de718fc819 rtio: fix different address collision detection 2016-03-10 12:15:36 +08:00
Sebastien Bourdeauducq ea523c765b frontend/coreanalyzer: do not attempt to print obsolete decoded_dump attribute. Closes #324 2016-03-10 11:33:21 +08:00
Sebastien Bourdeauducq f4f95d330b Merge branch 'master' of github.com:m-labs/artiq 2016-03-10 11:15:30 +08:00
Sebastien Bourdeauducq 1739e0f2f8 coredevice: put cache into separate file/device 2016-03-10 10:46:19 +08:00
Sebastien Bourdeauducq 7f501820de gui: delete log/applet docks instead of hiding them 2016-03-10 10:35:44 +08:00
Sebastien Bourdeauducq c5552f9009 gui/moninj: make DDS widgets look less like buttons 2016-03-10 10:20:26 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 2e39802a61 rtio/wishbone: make replace configurable 2016-03-10 09:44:05 +08:00
Robert Jördens 9edaf16735 exceptions: clarify RTIOBusy 2016-03-09 22:11:32 +01:00
Robert Jördens 107e5cfbd4 gateware/rtio: factor _BlindTransfer 2016-03-09 19:07:46 +01:00
Robert Jördens 10a09122ea test_spi: break_realtime 2016-03-09 18:23:27 +01:00
Robert Jördens 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
Robert Jördens 8f6653ef72 test_spi: simplify test, add collision vs busy test 2016-03-09 17:58:42 +01:00
Robert Jördens 9a661bd273 hardware_testbench: clean up artiq_core_exeption printing 2016-03-09 17:30:41 +01:00
Robert Jördens b32217cc84 coredevice: fix _DDSGeneric __init__ args 2016-03-09 17:23:02 +01:00
Robert Jördens b50e3fabb0 hardware_testbench: also print artiq_core_exeption 2016-03-09 17:16:55 +01:00
Robert Jördens 3f8e431de6 rtio/core: fix syntax 2016-03-09 17:10:21 +01:00
Sebastien Bourdeauducq 03b53c3af9 rtio: disable replace on rt2wb channels 2016-03-09 23:37:04 +08:00
Robert Jördens 58e0e670fc tests: test spi business 2016-03-09 15:40:26 +01:00
Robert Jördens bf188d05bf rtio: cleanup RTIOBusy message 2016-03-09 13:42:32 +01:00
Robert Jördens db5231216d rtio: remove unused include 2016-03-09 13:42:15 +01:00
Robert Jördens 0bd9add95e spi: fix frequency_to_div() 2016-03-09 12:32:31 +01:00
Robert Jördens 522ec60f6e hardware_testbench: don't allow unused *args 2016-03-09 12:28:07 +01:00
Robert Jördens b0de9ee90a coredevice: add RTIOBusy to __all__ 2016-03-09 12:27:45 +01:00
Sebastien Bourdeauducq 861c4a9ae5 fix more multi-DDS-bus problems 2016-03-09 19:03:05 +08:00
Robert Jördens 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
Sebastien Bourdeauducq de37487a5c runtime: fix dds declarations 2016-03-09 18:27:51 +08:00
Sebastien Bourdeauducq f0b0b1bac7 support for multiple DDS buses (untested) 2016-03-09 17:12:50 +08:00
Sebastien Bourdeauducq 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
Robert Jördens f33baf339f pipistrello: drop ttls on pmod, add leds back in 2016-03-08 23:34:51 +01:00
Robert Jördens f39208c95a pipistrello: try with fewer leds/pmod ttl 2016-03-08 22:10:47 +01:00
Robert Jördens 2cb58592ff rtio: add RTIOBusy 2016-03-08 18:04:34 +01:00
Robert Jördens 0d431cb019 pipistrello: make pmod extension header, cleanup 2016-03-08 17:07:44 +01:00
Robert Jördens 81bc99905c missing parts of 59ac567 2016-03-08 16:49:23 +01:00
Robert Jördens 59ac567048 scanwidget: disable unmodified wheel on axis and slider 2016-03-08 16:43:04 +01:00
Robert Jördens 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
Robert Jördens a8fe3f50c3 pipistrello: grow fifos a bit (may make ise happier) 2016-03-08 16:17:37 +01:00
Robert Jördens 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
Robert Jördens 41ca223c45 gui: ignore only unmodified wheelevents 2016-03-08 15:53:27 +01:00
Robert Jördens 00d4775da5 pipistrello: shrink fifos a bit (may make ise happier) 2016-03-08 15:40:12 +01:00
Robert Jördens 9c11cda7dc pipistrello: use ttl_simple for pmod[4:8] 2016-03-08 13:52:52 +01:00
Robert Jördens 104d641c59 pipistrello: move the spi channel like kc705 2016-03-08 13:30:05 +01:00
Robert Jördens 2180c5af7c pipistrello: make pmod[4:8] available as ttls 2016-03-08 13:07:58 +01:00
Robert Jördens e809e89571 pipistrello: adhere to pmod interface type 2 layout 2016-03-08 13:01:52 +01:00
Robert Jördens 7e99780891 scanwidget: wire up signals better, set values late, take scanwidget from 7aa6397 2016-03-08 12:35:13 +01:00
Robert Jördens 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
Sebastien Bourdeauducq 2953b069dc rtio: when rtlink addresses are different, issue collision not replace (fixes #320) 2016-03-08 15:58:25 +08:00
Sebastien Bourdeauducq 71105fd0d7 rtio: collision_error -> collision 2016-03-08 15:38:35 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq e8b59b00f6 soc: use add_extra_software_packages, factor builder code 2016-03-07 00:18:47 +08:00
Sebastien Bourdeauducq c73b080019 doc/PCA9548: clarify channel selection 2016-03-07 00:17:45 +08:00
Sebastien Bourdeauducq 2770d9c729 doc: I2C/QC2 2016-03-05 19:02:03 +08:00
Sebastien Bourdeauducq 683716017b test: I2C/PCA9548 unittest 2016-03-05 19:01:35 +08:00
Sebastien Bourdeauducq 125ab3e076 runtime/i2c_read: fix MSB 2016-03-05 19:00:14 +08:00
Robert Jördens f2b4b975a3 ad5360: add documentation and an example 2016-03-04 23:36:17 +01:00
Robert Jördens 18ccac717b ad5360: t16 is a max 2016-03-04 19:46:18 +01:00
Robert Jördens eb2ec40b3a ad5360: un-factor write_channels 2016-03-04 19:01:29 +01:00
Robert Jördens 725943fee2 ad5360: add busy and update timings 2016-03-04 18:53:05 +01:00
Robert Jördens e834a88340 ad5360: style 2016-03-04 18:15:35 +01:00
Robert Jördens 710717ca9b ad5360: add batched zero-length multi-channel set() 2016-03-04 18:14:31 +01:00
Robert Jördens 4ae3ca5f23 spi/ad5360: refactor, small fixes 2016-03-04 18:14:31 +01:00
Sebastien Bourdeauducq 200cddc346 coredevice/i2c: fix exception message 2016-03-05 00:51:13 +08:00
Sebastien Bourdeauducq 70f0a7447f coredevice/PCA9548: fix I2C address 2016-03-05 00:47:24 +08:00
Sebastien Bourdeauducq df71b82037 coredevice/i2c: fix imports 2016-03-05 00:43:13 +08:00
Sebastien Bourdeauducq a8a74d7840 targets/kc705: enable I2C for all hardware adapters 2016-03-05 00:19:59 +08:00
Sebastien Bourdeauducq 6b8efd10fd runtime/i2c: fix artiq_raise_from_c invokation 2016-03-05 00:19:08 +08:00
Sebastien Bourdeauducq 2f1a2782d2 coredevice: add I2C, PCA9548, TCA6424A drivers 2016-03-05 00:17:41 +08:00
Sebastien Bourdeauducq 790269eee7 master/worker_db: make arguments optional in DDB entries 2016-03-05 00:17:08 +08:00
Sebastien Bourdeauducq ff4a46c278 runtime/i2c: make syscalls more ARTIQ-Python-friendly 2016-03-05 00:16:23 +08:00
Sebastien Bourdeauducq 3364827744 ttl/TTLClockGen: fix FTW computation with ref_multiplier != 1 2016-03-04 16:59:59 +08:00
Sebastien Bourdeauducq 4352d15016 coredevice/core: add ref_multiplier and coarse_ref_period attributes 2016-03-04 16:59:35 +08:00
Sebastien Bourdeauducq 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
Robert Jördens 7ff0c89d51 kc705.clock: add all spi buses 2016-03-04 00:03:48 +01:00
Robert Jördens 669fbaa4f1 ad53xx->ad5360 and refactor 2016-03-04 00:00:25 +01:00
Robert Jördens dc6d116824 spi: have write() delay by transfer duration 2016-03-03 21:57:27 +01:00
Sebastien Bourdeauducq c2fcefc31f runtime/rtio: cleanup include 2016-03-03 19:48:06 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq cfe72c72a2 gateware/kc705: add I2C GPIO core for QC2 2016-03-03 15:32:10 +08:00
Sebastien Bourdeauducq a901971e58 gateware/soc: factor code to connect CSR device to kernel CPU 2016-03-03 15:12:15 +08:00
Sebastien Bourdeauducq b662a6fcbd gateware/nist_{clock,qc2}: do not conflict with KC705 I2C 2016-03-03 15:10:50 +08:00
Sebastien Bourdeauducq 9af12230c8 soc: add timer to kernel CPU system 2016-03-03 13:19:17 +08:00
Sebastien Bourdeauducq b83b113f3c gui/moninj: make widgets look less like buttons 2016-03-03 10:48:17 +08:00
Sebastien Bourdeauducq 0c97043a20 gateware/nist_clock: pin assignment corrections from David Leibrandt 2016-03-03 10:03:49 +08:00
Robert Jördens 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
Robert Jördens 9969cd85de ad53xx: ldac may be none 2016-03-02 15:50:02 +01:00
Sebastien Bourdeauducq f5dee455f5 test/worker: test exception logging 2016-03-02 17:12:22 +08:00
Sebastien Bourdeauducq 763a4d3011 rpctool: use pprint in interactive mode 2016-03-02 11:47:34 +08:00
Sebastien Bourdeauducq d0d50d74eb rpctool: interactive mode 2016-03-02 11:45:51 +08:00
Sebastien Bourdeauducq 946bd84b58 protocols/pc_rpc: support retrieving selected target 2016-03-02 11:45:31 +08:00
Robert Jördens 1e4bccae20 ad53xx: add 2016-03-02 00:12:01 +01:00
Robert Jördens 162ecdd574 spi: cleanup, add frequency_to_div() 2016-03-02 00:11:17 +01:00
Robert Jördens d973eb879f coredevice.spi: docstring fix 2016-03-01 22:42:00 +01:00
Robert Jördens 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
Robert Jördens 5ba753425d runtime/rtio: rtio_process_exceptional_status() has only one user 2016-03-01 21:38:51 +01:00
Robert Jördens 0456169558 coredevice.spi, doc/manual: add spi 2016-03-01 21:29:09 +01:00
Robert Jördens 2cc1dfaee3 kc705: move ttl channels together again, update doc 2016-03-01 19:40:32 +01:00
Robert Jördens f30dc4b39e runtime: rt2wb_input -> rtio_input_data 2016-03-01 19:22:42 +01:00
Robert Jördens 81b35be574 bridge: really fix O/OE 2016-03-01 18:49:04 +01:00
Robert Jördens 135643e3a6 runtime: define constants for ttl addresses 2016-03-01 18:22:42 +01:00
Robert Jördens 3aebbbdb61 coredevice.ttl: fix sensitivity 2016-03-01 18:22:03 +01:00
Robert Jördens 6f9656dcbe bridge: fix ttl o/oe addresses 2016-03-01 18:19:06 +01:00
Robert Jördens 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
Robert Jördens aa10791ddf rtio: rm rtio_write_and_process_status 2016-03-01 15:40:35 +01:00
Robert Jördens 29776fae3f coredevice.spi: unused import 2016-03-01 15:38:40 +01:00
Robert Jördens 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
Robert Jördens 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
Sebastien Bourdeauducq c7d48a1765 coredevice/TTLOut: add dummy output function 2016-03-01 19:03:10 +08:00
Sebastien Bourdeauducq 18efca0f0a Merge branch 'master' of github.com:m-labs/artiq 2016-03-01 14:49:16 +08:00
Sebastien Bourdeauducq 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
Robert Jördens f2ec8692c0 nist_clock: disable spi1/2 2016-03-01 01:52:46 +01:00
Robert Jördens 7d7a710a56 runtime/rt2wb: use input/output terminology and add (async) input 2016-03-01 00:35:56 +01:00
Robert Jördens da22ec73df gateware.spi: rework wb bus sequence 2016-02-29 22:22:08 +01:00
Robert Jördens 12252abc8f nist_clock: rename spi*.ce to spi*.cs_n 2016-02-29 22:21:18 +01:00
Robert Jördens 7ef21f03b9 nist_clock: add SPIMasters to spi buses 2016-02-29 22:19:39 +01:00
Robert Jördens 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
Robert Jördens 6dd1eb2e92 artiq_flash: use term 'gateware' 2016-02-29 20:45:41 +01:00
Robert Jördens 6c899e6ba6 runtime/rtio: fix rtio_input_wait(), add RTIOTimeout 2016-02-29 19:49:15 +01:00
Robert Jördens 16537d347e coredevice.spi: cleanup 2016-02-29 19:48:26 +01:00
Robert Jördens ecedbbef4c runtime/ttl: use rtio_output and rtio_input_wait 2016-02-29 19:20:07 +01:00
Robert Jördens 5dae9f8aa8 runtime: refactor rt2wb/dds 2016-02-29 19:16:29 +01:00
Robert Jördens d3c94827eb runtime/ttl: simplify ttl_get() a bit 2016-02-29 17:58:54 +01:00
Robert Jördens e11366869d coredevice/spi: clean up api 2016-02-29 17:54:42 +01:00
Sebastien Bourdeauducq 5fad570f5e targets/kc705-nist_clock: add clock generator on LA32 for testing purposes 2016-03-01 00:35:26 +08:00
Robert Jördens dd570720ac gateware.spi: ack only in cycles 2016-02-29 17:29:37 +01:00
Sebastien Bourdeauducq a1e1f2b387 doc: insist that output() must be called on TTLInOut. Closes #297 2016-03-01 00:28:40 +08:00
Robert Jördens a0083f4501 Revert "gateware/rt2wb: only input when active"
This reverts commit 1b08e65fa1.
2016-02-29 16:44:11 +01:00
Robert Jördens cb8815cc65 Revert "gateware/rt2wb: support combinatorial ack"
This reverts commit f73228f248.
2016-02-29 16:44:04 +01:00
Robert Jördens f73228f248 gateware/rt2wb: support combinatorial ack 2016-02-29 15:40:55 +01:00
Sebastien Bourdeauducq 4467f91cbf coredevice: do not give up on UTF-8 errors in log. Closes #300 2016-02-29 22:21:10 +08:00
Robert Jördens 1b08e65fa1 gateware/rt2wb: only input when active 2016-02-29 14:56:29 +01:00
Robert Jördens 6903a1d88a runtime/rt2wb: accurate exception strings 2016-02-29 14:56:04 +01:00
Robert Jördens c226aeb0d4 coredevice/spi: read_sync read bit 2016-02-29 14:55:29 +01:00
Sebastien Bourdeauducq 572c49f475 use m-labs setup for defaults 2016-02-29 21:35:23 +08:00
Sebastien Bourdeauducq 785691ab98 fix indentation 2016-02-29 21:32:48 +08:00
Robert Jördens df7d15d1fe runtime: refactor spi into rt2wb 2016-02-29 13:54:36 +01:00
Robert Jördens eb01b0bfee gateware.spi: cleanup doc 2016-02-29 12:41:30 +01:00
Robert Jördens aeae565d35 runtime/spi: don't apply channel offset 2016-02-29 11:53:36 +01:00
Robert Jördens 948fefa69a gateware.spi: style 2016-02-29 11:48:29 +01:00
Robert Jördens ad34927b0a spi: RTIO_SPI_CHANNEL -> RTIO_FIRST_SPI_CHANNEL 2016-02-29 11:35:49 +01:00
Robert Jördens 5480099f1b gateware.spi: rewrite counter bias for timing 2016-02-29 02:28:19 +01:00
Robert Jördens 9a1d6a51a4 gateware.spi: shorten counters 2016-02-29 01:51:33 +01:00
Robert Jördens 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
Robert Jördens 8b2b278457 spi: add coredevice support 2016-02-29 00:44:48 +01:00
Robert Jördens d63a63531a spi: add runtime support 2016-02-29 00:38:36 +01:00
Robert Jördens 8d7e92ebae pipistrello: set RTIO_SPI_CHANNEL 2016-02-29 00:37:00 +01:00
Robert Jördens 9a881aa430 gateware.spi: simpler clk bias 2016-02-29 00:36:18 +01:00
Robert Jördens d5893d15fb gateware.kc705: make xadc/ams an extension header 2016-02-28 22:41:17 +01:00
Robert Jördens 312e09150e kc705/clock: add spi bus for dac on ams101 2016-02-28 21:17:53 +01:00
Robert Jördens f8732acece rtio.spi: drop unused argument 2016-02-28 21:06:20 +01:00
Robert Jördens 3b6999ac06 gateware.spi: refactor, sim verified 2016-02-28 20:40:06 +01:00
Robert Jördens 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
Robert Jördens ade3eda19a gateware.pipistrello: use pmod for spi 2016-02-27 11:29:40 +01:00
Robert Jördens e7146cc999 gateware.spi: design sketch 2016-02-26 17:03:08 +01:00
Robert Jördens fb929c8599 gateware/spi: stubs 2016-02-26 13:11:10 +01:00
Sebastien Bourdeauducq 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
Robert Jördens 485fc3bd27 gui: use scanwidget 2016-02-25 20:34:18 +01:00
Robert Jördens 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
Sebastien Bourdeauducq 6b28b8e36e Merge branch 'master' of github.com:m-labs/artiq 2016-02-25 01:25:31 +08:00
Sebastien Bourdeauducq dda0e0846c worker: print core device tracebacks. Closes #292 2016-02-25 01:25:26 +08:00
Sebastien Bourdeauducq c3cdce9d02 style 2016-02-25 01:22:43 +08:00
Robert Jördens aa50c5b4d9 pdq2.mediator: minor tweaks 2016-02-24 18:11:05 +01:00
Robert Jördens f2acf95f98 pdq2.mediator: err on short segments 2016-02-24 18:11:05 +01:00
Sebastien Bourdeauducq 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
Robert Jördens 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
Robert Jördens 467268a06e coefficients: fix constant zero 2016-02-23 17:56:38 +01:00
Sebastien Bourdeauducq 53d5a458a2 test/hardware_testbench: properly close devices 2016-02-23 16:00:53 +08:00
Sebastien Bourdeauducq 82f4fd1290 test/coredevice: convert to 'with parallel' 2016-02-23 15:48:12 +08:00
Sebastien Bourdeauducq a8545fc1f7 targets/kc705: set up user_sma_gpio_n like other TTLs 2016-02-22 22:35:15 +08:00
Robert Jördens 94584bb8b1 wavesynth: handle short segments 2016-02-22 15:29:27 +01:00
Robert Jördens 269e9c600c pdq2.mediator: use channel numbers from subdevices, track segment duration 2016-02-22 15:29:27 +01:00
Robert Jördens b327c50f14 pdq2: do not emit frame-initial trigger line (segments are triggered) 2016-02-22 15:29:27 +01:00
Robert Jördens d7f5904d16 wavesynth: duration sign 2016-02-22 15:29:27 +01:00
Robert Jördens 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
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 9a6354b959 protocols/pc_rpc: raise asyncio line length limit for client 2016-02-22 13:04:21 +08:00
Sebastien Bourdeauducq 25f6afd08a protocols/asyncio_server: raise asyncio line length limit. Closes #285 2016-02-22 12:06:23 +08:00
Sebastien Bourdeauducq 8da455d5db protocols/sync_struct: raise asyncio line length limit 2016-02-22 02:11:36 +08:00
Sebastien Bourdeauducq e177bbd480 frontend/client: fix screen clear on Windows 2016-02-22 01:25:48 +08:00
Sebastien Bourdeauducq ac6e31d655 frontend/rpctool: fix -t/--target. Closes #283 2016-02-22 00:55:45 +08:00
Robert Jördens d713c62b50 pdq2 frontends: adapt to new program, cleanup 2016-02-21 17:35:10 +01:00
Robert Jördens 7c246b3559 pdq2: redo program serialization, cleanup 2016-02-21 17:34:18 +01:00
Robert Jördens 294eac19fe pdq2.mediator: cleanup/style 2016-02-21 17:33:45 +01:00
Sebastien Bourdeauducq e3e42216a2 applets: workaround 'garbage on sides of embedded windows' bug on Windows 2016-02-21 21:32:21 +08:00
Sebastien Bourdeauducq 95dbafd662 gui: add logo to MDI area 2016-02-21 08:06:52 +08:00
Sebastien Bourdeauducq 804592a3f7 gui/log: fix dock close tracking 2016-02-21 05:33:24 +08:00
Sebastien Bourdeauducq 3b81dd5adc gui: workaround for Qt failing to embed applets in hidden and detached QDockWidgets 2016-02-19 18:13:25 +01:00
Sebastien Bourdeauducq 5f5427f51f protocols/pipe_ipc: work around race condition with loop.start_serving_pipe/close on Windows 2016-02-19 17:39:30 +01:00
Sebastien Bourdeauducq 28c4d8c2a7 applets: attempt at fixing embedding bugs on Windows 2016-02-19 14:48:25 +01:00
Robert Jördens 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
Robert Jördens 6830703ec6 artiq_master: directly log, explicit imports 2016-02-18 15:35:02 +01:00
Robert Jördens 1891725e12 wavesynth: cleanup 2016-02-18 14:13:40 +01:00
Robert Jördens b4ea318e6d coefficients: add comparison unittest 2016-02-18 14:13:40 +01:00
Robert Jördens 65824fc7f4 coefficients: cleanup 2016-02-18 14:13:40 +01:00
Robert Jördens 0edde9f4d3 master: inform when running 2016-02-18 14:13:40 +01:00
Sebastien Bourdeauducq 6973a9471b gui/explorer: fix 'parent folder' on Windows 2016-02-18 13:47:03 +01:00
Sebastien Bourdeauducq 155c2ec2ef ctlmgr,worker: set PYTHONUNBUFFERED for subprocesses 2016-02-18 12:41:08 +01:00
Sebastien Bourdeauducq ca3cced0b4 test/ctlmgr: escape backslashes in sys.executable 2016-02-18 10:02:55 +01:00
Sebastien Bourdeauducq 4940e48d85 gui/log: scroll to bottom on startup 2016-02-18 01:09:51 +01:00
Sebastien Bourdeauducq 2ce3c08697 gui/applets: escape backslashes in {python} and {ipc_address} 2016-02-16 12:52:11 +01:00
Sebastien Bourdeauducq 6196aaf2f5 master/worker: increase timeouts. Windows VMs can be really slow. 2016-02-16 09:44:50 +01:00
Sebastien Bourdeauducq f0e25991fe gui/experiments: set icon of MDI subwindows 2016-02-16 00:28:51 +01:00
Sebastien Bourdeauducq 87574193d4 gui: autoscroll MDI area 2016-02-16 00:19:50 +01:00
Sebastien Bourdeauducq 53076615f8 gui: save/restore geometry of MDI subwindows 2016-02-16 00:19:38 +01:00
Sebastien Bourdeauducq aa5f6a5aba gui: basic MDI area 2016-02-15 23:58:44 +01:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 1fc51f32ed test/scheduler: fix 2016-02-15 18:31:26 +01:00
Sebastien Bourdeauducq 72a993afe0 master: cache last RID. Closes #234 2016-02-15 18:20:50 +01:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq c63afae875 gui/moninj: add scrollbars 2016-02-15 00:57:15 +01:00
Sebastien Bourdeauducq d30fe60edd gui: remove pyqtgraph 2016-02-15 00:23:47 +01:00
Sebastien Bourdeauducq 3ab35f7f8d gui: get rid of pyqtgraph.LayoutWidget 2016-02-15 00:05:30 +01:00
Sebastien Bourdeauducq df16a1da73 gui: remove PyQt5 assertion (break mock modules) 2016-02-14 23:30:39 +01:00
Sebastien Bourdeauducq e4918a6e19 Merge branch 'master' of github.com:m-labs/artiq 2016-02-14 23:29:24 +01:00
Sebastien Bourdeauducq b24146e680 Merge branch 'qtdocks' 2016-02-14 23:28:44 +01:00
Sebastien Bourdeauducq 9797acc964 gui/applets: prevent size from shrinking to zero when docked 2016-02-14 23:27:59 +01:00
Sebastien Bourdeauducq 15515f33ef gui: better default placement of docks 2016-02-14 23:15:18 +01:00
Sebastien Bourdeauducq cd732718ad gui: save/restore main window geometry 2016-02-14 23:08:14 +01:00
Sebastien Bourdeauducq d81ce15869 gui: Qt wants a central widget in the main window, use explorer 2016-02-14 23:04:14 +01:00
Sebastien Bourdeauducq 579e789ad7 tools/QDockWidgetCloseDetect: simplify 2016-02-14 22:42:25 +01:00
Robert Jördens 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
Sebastien Bourdeauducq 489f69f991 gui: reliable detection of dock close 2016-02-14 22:22:07 +01:00
Sebastien Bourdeauducq b97be9c08d Merge branch 'newtesting' 2016-02-14 21:30:19 +01:00
Sebastien Bourdeauducq ab1d85be53 gui: remove PyQt5 assertion (break mock modules) 2016-02-14 14:03:57 +01:00
Sebastien Bourdeauducq 3c12c13a67 gui: dock state save/restore 2016-02-14 13:46:15 +01:00
Sebastien Bourdeauducq daf49efa04 gui: rough conversion to the Qt docking system 2016-02-14 12:15:57 +01:00
Sebastien Bourdeauducq e68d0d1ec7 gui: do not crash when deleting selected hierarchical dataset and its parents 2016-02-13 23:22:59 +01:00
Sebastien Bourdeauducq 6b6393ff56 gui: remove console 2016-02-13 22:48:38 +01:00
Sebastien Bourdeauducq fb2f53ea9b gui/datasets: support deleting datasets without console 2016-02-13 22:46:29 +01:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 29d4755567 gui/applets: prevent concurrent process start/stop 2016-02-11 16:25:44 +01:00
Sebastien Bourdeauducq 92c0ede689 applets: workaround for Qt window embedding initial size bug 2016-02-11 16:19:34 +01:00
Sebastien Bourdeauducq cd9467a8df gui/applets: properly destroy container widget when process is terminated 2016-02-11 16:02:10 +01:00
Sebastien Bourdeauducq c9a9d19182 test/serialization: fix syntax 2016-02-11 09:37:27 +01:00
Robert Jördens 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
Sebastien Bourdeauducq 97ba77f4b5 gui/log: top cell alignment 2016-02-10 06:34:11 +01:00
Sebastien Bourdeauducq 2ce1e6a1e9 master/log: do not break lines 2016-02-10 06:33:41 +01:00
Sebastien Bourdeauducq d1e54c86b1 gui/applets: log warning if IPC address not in command 2016-02-08 22:39:47 +01:00
Sebastien Bourdeauducq 338e5fe3fc Merge branch 'applets_pipeipc' 2016-02-08 22:25:36 +01:00
Sebastien Bourdeauducq 44a1efa601 applets: make sure pyqtgraph imports qt5 2016-02-08 22:25:20 +01:00
Sebastien Bourdeauducq 67327b1e61 applets: avoid argparse subparser mess 2016-02-08 22:25:02 +01:00
Sebastien Bourdeauducq 4733c4ba1e gui/applets: save dock UID in state 2016-02-08 21:57:07 +01:00
Sebastien Bourdeauducq d873c25b8b Use Qt5 2016-02-08 19:32:40 +01:00
Sebastien Bourdeauducq 7584b02d66 applets: fix error message text 2016-02-08 19:23:50 +01:00
Sebastien Bourdeauducq de99e7f830 applets: handle dataset mutations 2016-02-08 19:20:07 +01:00
Sebastien Bourdeauducq f25b5442e7 applets: properly name docks to support state save/restore 2016-02-08 16:26:02 +01:00
Sebastien Bourdeauducq dc955d46c9 Merge branch 'applets' 2016-02-08 14:55:53 +01:00
Sebastien Bourdeauducq 8844fba4c9 applets: clean shutdown 2016-02-08 14:35:37 +01:00
Sebastien Bourdeauducq 8be0696b39 protocols/pyon: set support 2016-02-08 14:08:14 +01:00
Sebastien Bourdeauducq 8a912105cb protocols/pyon: remove FlatFileDB 2016-02-08 14:05:00 +01:00
Sebastien Bourdeauducq 741b11c26d applets: basic embedding OK 2016-02-08 09:59:15 +01:00
Robert Jördens 912274c6af test_ctlmgr: fix 2016-02-05 15:08:49 -07:00
Sebastien Bourdeauducq 70a67a0e38 Merge branch 'applets' into applets_pipeipc 2016-02-05 13:29:20 +01:00
Robert Jördens 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
Robert Jördens 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
Robert Jördens c28b938471 Client: add note about timeout sideeffects 2016-02-02 15:42:47 -07:00
Robert Jördens f7df393248 hardware_testbench: full shutdown sequence for controllers 2016-02-02 15:32:40 -07:00
Robert Jördens 53e5d0a7bb worker: flake8 style cleanup 2016-02-02 15:32:40 -07:00
Robert Jördens 7636952496 ctlmgr: fix import 2016-02-02 15:32:39 -07:00
Robert Jördens c105949155 pc_rpc.Client: support socket timeouts
... and fix two flake8 errors.
2016-02-02 15:32:39 -07:00
Robert Jördens 55006119c8 subprocesses: unify termination logic 2016-02-02 15:32:36 -07:00
Sebastien Bourdeauducq 89f68f3470 style 2016-02-02 21:57:25 +01:00
Sebastien Bourdeauducq 9ca8b48bf9 assume 'import artiq' works before running tests 2016-02-02 21:52:33 +01:00
Sebastien Bourdeauducq ca8a075f46 test/ctlmgr: use sys.executable, use default localhost binding 2016-02-02 21:08:51 +01:00
Sebastien Bourdeauducq b7de92e96c remove pxi6733 support (now lives at https://github.com/m-labs/aq_ni6733 2016-02-02 18:41:57 +01:00
Sebastien Bourdeauducq cf465dae0c tools/file_import: make sure sys.path is always restored 2016-01-31 20:33:17 +01:00
Robert Jördens 0d18942869 hardware_testbench: request controller termination 2016-01-30 20:04:32 -07:00
Robert Jördens 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
Robert Jördens 10d78a5d0b flash: grow runtime limit to 512 kB 2016-01-30 14:50:15 -07:00
Robert Jördens 68891493a3 analyzer: move common to artiq.protocols
migen was still pulled in through rtio.__init__.py
2016-01-29 20:26:48 -07:00
Robert Jördens 17ac64a65e ctlmgr: fix the fix (107e2fe) 2016-01-29 17:52:12 -07:00
Robert Jördens d05d720b19 tests: misc fixes, cleanup 2016-01-29 17:32:59 -07:00
Robert Jördens 107e2fedf4 ctlmgr: reinstate lost changes 2016-01-29 17:20:07 -07:00
Sebastien Bourdeauducq 1d92c0874e gui/log: use QFontDatabase for fixed font 2016-01-29 23:21:22 +01:00
Robert Jördens 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
Robert Jördens 4a29f0702f test.ctlmgr: drop a redundant lambda 2016-01-28 16:59:59 -07:00
Robert Jördens bb1db7d7fd test.ctlmgr: add basic test tooling 2016-01-28 16:54:14 -07:00
Robert Jördens ab5e8fd8da hardware_testbench: fix timeout handling 2016-01-28 15:41:38 -07:00
Robert Jördens 982fbb0670 hardware_testbench: use plain subprocess to start controllers 2016-01-28 15:31:01 -07:00
Robert Jördens 1b7020dff3 hardware_testbench: run Crontrollers loop in thread, not the test 2016-01-27 18:45:08 -07:00
Robert Jördens 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
Robert Jördens f78eecb81b hardware_testbench: run controllers 2016-01-27 14:24:32 -07:00
Sebastien Bourdeauducq 022a1ffd09 gui/experiments: float/bring into focus already open docks when opening experiments 2016-01-27 21:58:27 +01:00
Sebastien Bourdeauducq ebb959cd50 gui: reduce size of console dock 2016-01-27 21:25:42 +01:00
Sebastien Bourdeauducq 27c12a5bf4 protocols/logging,pc_rpc: do not print errors on Windows when clients disconnect 2016-01-27 21:23:27 +01:00
Sebastien Bourdeauducq 7aaeb636e4 gui: reduce size of schedule dock 2016-01-27 21:18:47 +01:00
Sebastien Bourdeauducq 5076c85ed6 worker: Windows VMs are slow, increase send_timeout 2016-01-27 21:15:22 +01:00
Sebastien Bourdeauducq a4fb8f3e53 protocol/sync_struct: Windows also raises ConnectionAbortedError on disconnection 2016-01-27 21:12:22 +01:00
Sebastien Bourdeauducq cfa4f791e8 gui: reduce size of log dock 2016-01-27 20:51:34 +01:00
Sebastien Bourdeauducq dca44ef501 gui: reduce size of experiment dock 2016-01-27 20:46:25 +01:00
Sebastien Bourdeauducq 170b438b98 protocols/logging/LogParser: handle Windows CRLF 2016-01-27 20:45:04 +01:00
Sebastien Bourdeauducq 590354dbc8 pyon: handle \r 2016-01-27 20:43:42 +01:00
Sebastien Bourdeauducq b753306f12 Merge branch 'worker_pipeipc' 2016-01-27 19:37:06 +01:00
Sebastien Bourdeauducq 3d9fc7a51f test/pipe_ipc: re-enable 2016-01-27 19:20:04 +01:00
Sebastien Bourdeauducq 79c0488ff1 protocols/asyncio_server: minor cleanup 2016-01-27 19:19:47 +01:00
Sebastien Bourdeauducq dce2aac475 protocols/pipe_ipc: Windows support 2016-01-27 19:18:03 +01:00
Sebastien Bourdeauducq 83fd160614 Revert "Revert "test/pipe_ipc: temporarily skip test""
This reverts commit 7a9864b260.
2016-01-27 10:26:53 +01:00
whitequark 0acc86b3b3 transforms.iodelay_estimator: make diagnostics much more clear. 2016-01-27 02:10:15 +00:00
whitequark 7f9a180946 Fix typo. 2016-01-26 23:23:35 +00:00
Robert Jördens ccac8525d2 lda: test tweaks 2016-01-26 15:24:29 -07:00
Robert Jördens cda4a0765d artiq_ctlmgr: refactor into artiq.devices.ctlmgr 2016-01-26 15:24:29 -07:00
Sebastien Bourdeauducq be5162d60f worker: restore short exception info in first line of log 2016-01-26 22:07:54 +01:00
Sebastien Bourdeauducq 3cf67afeb1 generalize multiline logging to remote logs and controllers 2016-01-26 21:59:37 +01:00
Sebastien Bourdeauducq 1fed38a8dc worker: use MultilineFormatter 2016-01-26 21:30:28 +01:00
Sebastien Bourdeauducq ded1e31567 protocols/logging: add MultilineFormatter 2016-01-26 21:30:09 +01:00
Sebastien Bourdeauducq 19c5e89b4d protocols/logging: support parsing multiline log messages 2016-01-26 21:06:44 +01:00
Sebastien Bourdeauducq 5aa4de8e89 refactor logging and implement in worker 2016-01-26 20:31:42 +01:00
Sebastien Bourdeauducq a583a923d8 worker: use pipe_ipc (no log) 2016-01-26 14:59:36 +01:00
Sebastien Bourdeauducq 6383253e03 protocols/pipe_ipc: autoclose pipe fds on process exit in AsyncioParentComm 2016-01-26 14:55:52 +01:00
Sebastien Bourdeauducq 7a9864b260 Revert "test/pipe_ipc: temporarily skip test"
This reverts commit 3a73673e71.
2016-01-26 09:42:59 +01:00
Robert Jördens 3a73673e71 test/pipe_ipc: temporarily skip test 2016-01-25 19:21:03 -07:00
Robert Jördens d1119d7747 artiq_dir: move out of tools to unlink dependencies 2016-01-25 18:15:50 -07:00
Robert Jördens cbb60337ae refactor Analyzer constants to unlink dependencies 2016-01-25 18:03:48 -07:00
Robert Jördens f4c7f02127 CoreException: store at 'py_exn.artiq_core_exception'
... and fix a few imports
2016-01-25 17:24:00 -07:00
Robert Jördens e0f2d94191 coredevice: remove some print()s 2016-01-25 17:24:00 -07:00
Robert Jördens 2beaf23e6c language...ARTIQException -> coredevice...CoreException
gets rid of a cross import
is only used there
2016-01-25 17:24:00 -07:00
Robert Jördens 765001054d artiq.experiment: merge language and coredevice namespaces
perl -i -pe 's/^from artiq import \*$/from artiq.experiment import */' your_experiments/*.py

(assuming you skipped the changes form the previous commit)
2016-01-25 17:24:00 -07:00
Robert Jördens fbe4d96572 artiq: move namespace artiq.* -> artiq.language.*
perl -i -pe 's/^from artiq import \*$/from artiq.language import */' your_experiments/*.py
2016-01-25 17:24:00 -07:00
Sebastien Bourdeauducq dcea6780c6 protocols/pipe_ipc: implement AsyncioChildComm for Unix (affected by python/asyncio#314) 2016-01-26 00:48:12 +01:00
Sebastien Bourdeauducq 8befc6a8fc protocols: add pipe_ipc (incomplete) 2016-01-25 22:49:32 +01:00
Robert Jördens 0079aa4037 runtime/main: style, wording, 1s ppp holdoff 2016-01-25 13:38:58 -07:00
Robert Jördens 2832d200f2 Merge remote-tracking branch 'm-labs/master' into ppp2
* m-labs/master:
  test/worker: update
  gui/log: display level and date information in tooltips
  master: add filename in worker log entries. Closes #226
  master: finer control of worker exception reporting. Closes #233
  conda: add artiq-kc705-nist_clock
  gateware: add QC1 docstring
  gateware: add clock target from David
  gateware: clean up and integrate QC2 modifications from Daniel
  add information about CLOCK hardware
2016-01-25 12:17:04 -07:00
Sebastien Bourdeauducq a4dffaac26 test/worker: update 2016-01-24 15:32:37 +01:00
Sebastien Bourdeauducq 56cbf261b0 gui/log: display level and date information in tooltips 2016-01-23 22:17:08 -05:00
Sebastien Bourdeauducq ae19f1c75d master: add filename in worker log entries. Closes #226 2016-01-23 21:43:24 -05:00
Sebastien Bourdeauducq cc6b808bf8 master: finer control of worker exception reporting. Closes #233 2016-01-23 21:23:02 -05:00
Robert Jördens 8cbb60b370 Merge branch 'master' into ppp2
* master:
  add release notes/process
  targets/kc705: fix e664fe3
  targets/kc705: fix DDS_RTIO_CLK_RATIO for AD9914. Closes #238
  transforms.inferencer: give a suggestion on "raise Exception".
  pdq2/mediator: raise instances, not classes
  pdq2: wire up more of the pipeline
  doc: use actual version
  Fix formatting.
  doc: add artiq_flash
  versioneer: remote tag_prefix = v
2016-01-20 19:29:00 -07:00
Sebastien Bourdeauducq 18f0ee814d gateware: add QC1 docstring 2016-01-20 21:27:22 -05:00
Sebastien Bourdeauducq db8ba8d6c1 gateware: add clock target from David 2016-01-20 21:23:49 -05:00
Sebastien Bourdeauducq b3ba97e431 gateware: clean up and integrate QC2 modifications from Daniel 2016-01-20 21:17:19 -05:00
Sebastien Bourdeauducq fa1afb7dd8 add information about CLOCK hardware 2016-01-20 21:06:02 -05:00
Sebastien Bourdeauducq cb5fd08713 targets/kc705: fix e664fe3 2016-01-20 09:38:44 -05:00
Sebastien Bourdeauducq e664fe38b0 targets/kc705: fix DDS_RTIO_CLK_RATIO for AD9914. Closes #238 2016-01-20 09:18:50 -05:00
whitequark 3573a8750a transforms.inferencer: give a suggestion on "raise Exception". 2016-01-20 03:20:25 +00:00
Robert Jördens 641ef57458 pdq2/mediator: raise instances, not classes 2016-01-19 20:16:27 -07:00
Robert Jördens f0860beffd pdq2: wire up more of the pipeline 2016-01-19 20:09:10 -07:00
whitequark 1d7858c7bc Fix formatting. 2016-01-19 18:52:43 +00:00
Robert Jördens cf17be92e3 doc: add artiq_flash 2016-01-18 21:41:42 -07:00
Robert Jördens 8674875007 versioneer: remote tag_prefix = v
does not seem to be stripped correctly
2016-01-18 21:28:09 -07:00
Robert Jördens 2bc2cd0064 ppp: remove unneeded objects 2016-01-18 21:26:36 -07:00
Robert Jördens 7e3610c545 Merge branch 'pipistrello-analyzer' into ppp
* pipistrello-analyzer:
  pipistrello: add rtio.Analyzer()
2016-01-18 21:05:02 -07:00
Robert Jördens 1adeeabbed ppp: wait for connection 2016-01-18 21:04:51 -07:00
Sebastien Bourdeauducq dc709a77b8 PPP support (TCP broken) 2016-01-18 20:09:10 -07:00
Robert Jördens 57ce78c54d pipistrello: add rtio.Analyzer() 2016-01-18 19:17:44 -07:00
Robert Jördens 063e88d75a artiq/_version.py: update 2016-01-18 19:12:42 -07:00
whitequark e2910fba99 runtime: define NDEBUG to disable debug mode of __artiq_personality.
There shouldn't be any bugs left and all the printing it does slows
exception handling considerably.
2016-01-19 01:52:57 +00:00
whitequark 5c6b1517d0 Rigorously treat builtin core device exceptions. 2016-01-19 01:45:25 +00:00
Robert Jördens 53b06a0b9b RTIOUnderflow: show slack 2016-01-18 17:28:37 -07:00
Robert Jördens 16a1ab4418 test/harness: exec in globals 2016-01-18 16:55:10 -07:00
Robert Jördens a1201252e2 artiq/test/{not,harness}.py: usual CLI handling 2016-01-18 16:00:46 -07:00
Robert Jördens d7e4783cae lit-test: move to artiq/test 2016-01-18 15:28:24 -07:00
whitequark 5f0e2bf9f9 analyses.domination: all blocks dominate themselves. 2016-01-18 21:33:14 +00:00
Robert Jördens c0bcff4035 test/*/: add missing __init__.py 2016-01-18 14:22:40 -07:00
Sebastien Bourdeauducq f9a6ba1884 gui/applets: add shortcuts 2016-01-16 13:12:16 -07:00
Sebastien Bourdeauducq ed6a53db00 gui/log: add scroll to bottom button 2016-01-16 13:06:45 -07:00
Sebastien Bourdeauducq 16f6d00e35 gui: fix shortcut contexts. Closes #225 2016-01-16 12:53:53 -07:00
Sebastien Bourdeauducq f9323c3286 master/worker_db/get_last_rid: ignore improperly named files 2016-01-16 10:56:01 -07:00
Sebastien Bourdeauducq a808d26fc2 style 2016-01-16 10:48:09 -07:00
whitequark 785b2736a0 Document core device cache (#219). 2016-01-16 16:38:55 +00:00
whitequark cc22837627 transforms.inferencer: infer a monomorphic type for slice ":" 2016-01-16 03:09:03 +00:00
whitequark be560dbc63 Commit missing parts of 13e65c2a. 2016-01-16 03:00:17 +00:00
whitequark 13e65c2a0a scheduler: make sure worker exceptions are not unexpectedly hidden. 2016-01-16 02:20:32 +00:00
whitequark 6bf48e60ba worker: make parent errors readable in log. 2016-01-16 02:06:40 +00:00
whitequark 67d2e7a828 worker: display compile warnings and errors nicely (#227). 2016-01-16 01:28:26 +00:00
whitequark 95470a59e5 gui.log: work around a Qt layout bug. 2016-01-16 01:26:05 +00:00
whitequark 85222783ee transforms.llvm_ir_generator: fix memoize(). 2016-01-16 00:38:57 +00:00
whitequark e6185e16d8 Commit missing parts of 127b117. 2016-01-16 00:06:18 +00:00
whitequark bed62349d2 transforms.llvm_ir_generator: i64 doesn't need sret (fixes #228). 2016-01-15 23:58:11 +00:00
Sebastien Bourdeauducq 331ac37505 applets/plot_hist: better help message 2016-01-15 12:50:09 -07:00
Sebastien Bourdeauducq 9acf8b7c1a gui/applets: templates 2016-01-15 10:15:06 -07:00
whitequark e0d5b77e27 Commit missing parts of 127b117. 2016-01-15 17:11:26 +00:00
Sebastien Bourdeauducq cc3a45d4e4 gui/applets: fix applet removal 2016-01-15 10:11:13 -07:00
whitequark 127b117113 Add @host_only function decorator (#172). 2016-01-15 16:42:08 +00:00
Sebastien Bourdeauducq 15039e1d74 runtime/dds: DDS_ONEHOT_SEL -> CONFIG_DDS_ONEHOT_SEL 2016-01-15 09:32:17 -07:00
Sebastien Bourdeauducq 5bf257818d protocols/pc_rpc: use timeout only for connecting. Closes #161 2016-01-14 17:50:36 -07:00
Sebastien Bourdeauducq a9cf89215b coredevice/dds: use explicit 64-bit ints for ftw computations 2016-01-14 15:25:01 -07:00
whitequark 1b9713115c runtime: link libm and libbase-nofloat where appropriate. 2016-01-14 21:02:23 +00:00
whitequark 00b688cab0 gui: wrap very long words too (fixes #187). 2016-01-14 18:57:32 +00:00
Sebastien Bourdeauducq 3d56ea5c71 applets/plot_xy_hist: use normal Qt widget as top-level to workaround pyqtgraph.GraphicsWindow misbehaviour with embedding 2016-01-13 07:22:19 -07:00
Sebastien Bourdeauducq 8ad151b4d8 applets/plot_xy_hist: do not crash when datasets are missing 2016-01-13 07:05:30 -07:00
Sebastien Bourdeauducq 7661b37c19 applets/simple: filter mods 2016-01-13 07:04:55 -07:00
Sebastien Bourdeauducq 81a86b2b04 applets/plot_xy_hist: do not clear arrow/histogram when unrelated data is modified 2016-01-13 06:53:23 -07:00
Sebastien Bourdeauducq e37e0bdc1c applets/plot_xy_hist: use applets.simple and datasets 2016-01-13 05:52:33 -07:00
whitequark 63f7899f93 Commit missing parts of 7f914a0. 2016-01-10 20:25:58 +00:00
whitequark 225f7d7302 Commit missing parts of 9366a29. 2016-01-10 20:01:26 +00:00
whitequark 1be9e7576d transforms.llvm_ir_generator: use byval for FFI calls where appropriate. 2016-01-10 18:31:35 +00:00
whitequark d1319b83e5 runtime: properly format addresses in InternalError message. 2016-01-10 18:07:08 +00:00
whitequark b669e83554 Inject parameters into coredevice exception message when mapping. 2016-01-10 18:06:28 +00:00
whitequark ee1ef551bc Fix symbolizer invocation with no addresses. 2016-01-10 18:04:10 +00:00
whitequark d436093317 transforms.llvm_ir_generator: use sret attribute on FFI calls too. 2016-01-10 17:42:40 +00:00
whitequark 7f914a057c transforms.llvm_ir_generator: use sret attribute. 2016-01-10 17:31:59 +00:00
whitequark edb7423a4f transforms.llvm_ir_generator: use getelementptr inbounds. 2016-01-10 16:36:04 +00:00
whitequark a2a00e8b35 Set LLVM inlining threshold explicitly.
llvmlite's pass manager builder does not use a default when it
is not specified explicitly, unlike the C++ one.
2016-01-10 16:15:23 +00:00
whitequark f92ce291ef transforms.llvm_ir_generator: call devirtualized functions directly. 2016-01-10 15:54:46 +00:00
whitequark bbd0ca7827 Commit missing parts of 9366a29. 2016-01-10 15:45:56 +00:00
whitequark c46fccdf4b transforms.llvm_ir_generator: annotate invariant loads as such. 2016-01-10 15:45:34 +00:00
whitequark b298170973 transforms.artiq_ir_generator: annotate embedded functions as internal. 2016-01-10 15:45:20 +00:00
whitequark 4198601abb coredevice.exceptions: add CacheError. 2016-01-10 14:43:30 +00:00
whitequark 211af77e77 validators.escape: cache_get result lives forever. 2016-01-10 14:43:21 +00:00
whitequark f8e50f2b0c Remove redundant ksupport API. 2016-01-10 14:27:46 +00:00
Sebastien Bourdeauducq 38cdeb0a32 applets/simple: support mod buffering 2016-01-10 22:12:00 +08:00
Sebastien Bourdeauducq e2c7578e48 gui: reorganize experiment/entry code 2016-01-10 21:48:47 +08:00
whitequark cc45694f5a Commit missing parts of 9366a29. 2016-01-10 13:08:26 +00:00
whitequark 9366a29483 Implement core device storage (fixes #219). 2016-01-10 13:04:55 +00:00
Sebastien Bourdeauducq 6a972eb591 gui: remove pyqt4 support code 2016-01-10 18:38:24 +08:00
Sebastien Bourdeauducq e6e6b27ba9 gui: remove displays (use applets instead) 2016-01-10 18:32:46 +08:00
Sebastien Bourdeauducq 26a6e8c5de gui/applets: add histogram plot 2016-01-10 18:23:46 +08:00
Sebastien Bourdeauducq db06e73372 gui/applets: add XY plot 2016-01-10 18:19:34 +08:00
Sebastien Bourdeauducq 4136ff68cf gui/applets/simple: support for optional datasets 2016-01-10 18:18:47 +08:00
Sebastien Bourdeauducq 2199eadb99 gui/applets: save/restore state 2016-01-09 19:32:50 +08:00
Sebastien Bourdeauducq 1ea73be56d gui/applets: all basic functionality, no state save/restore 2016-01-08 20:07:02 +08:00
Sebastien Bourdeauducq 597c2e4b17 gui/applets: startup and embedding working 2016-01-08 13:04:36 +08:00
whitequark f2f1deb9db transforms.llvm_ir_generator: quote recrusive objects correctly (fixes #213). 2016-01-07 19:52:31 +00:00
whitequark 027d54ca94 Enlarge coredevice buffers to 2.5MiB (fixes #215).
This should be enough for sending a 2MiB int32 list.
2016-01-07 18:29:35 +00:00
whitequark dcc4763914 Remove kernel-related constants from runtime.ld.
It's not used anywhere and it's one more place to adjust, which
will someday lead to obscure copy-paste bugs.
2016-01-07 18:27:38 +00:00
whitequark 577108554f Move kernel CPU address space up to 0x40800000. 2016-01-07 18:26:11 +00:00
Sebastien Bourdeauducq e106ee3f90 gui: basic applet dock editing 2016-01-07 20:23:17 +08:00
Sebastien Bourdeauducq adbb217d55 applets/simple: send embed RPC 2016-01-07 20:22:44 +08:00
Sebastien Bourdeauducq 8778aef6a1 gui/schedule: hide vertical header 2016-01-07 16:56:48 +08:00
Robert Jördens 87dd09a71c gateware: compress bitstreams 2016-01-06 15:40:28 -07:00
Robert Jördens 358ad2e927 artiq_flash: drop redundant instruction, tweak doc 2016-01-06 11:24:05 -07:00
whitequark e8bba0a7d6 Commit missing parts of 6a6d7d. 2016-01-05 04:21:46 +00:00
whitequark 6a6d7dab19 transforms.artiq_ir_generator: add support for user-defined context managers. 2016-01-05 04:10:40 +00:00
Robert Jördens 9aff99568d artiq_flash: use openocd, python 2016-01-05 10:20:41 +08:00
Robert Jördens b10da212ab bit2bin: add small bitstream conversion tool 2016-01-05 10:20:24 +08:00
whitequark 2955f9a1e0 Commit missing parts of 5baf18b. 2016-01-05 00:16:58 +08:00
whitequark dfbf55fed2 transforms/inferencer: add support for user-defined context manager. 2016-01-05 00:11:03 +08:00
whitequark 5baf18ba0d transforms.inferencer: factor out _unify_attribute. 2016-01-04 22:13:05 +08:00
whitequark 03dd1c3a43 Refactor the logic of printing diagnostics to solely rely on Engine. 2016-01-04 22:11:54 +08:00
whitequark 05fa80818a transforms.inferencer: make sure parallel/sequential is lone manager. 2016-01-04 21:26:03 +08:00
whitequark 3aa5acbaf3 transforms.llvm_ir_generator: don't crash if embedding is not enabled. 2016-01-03 19:07:11 +08:00
whitequark 81427af506 Remove selective attribute writeback; always synchronize all attributes.
The reasons are:
  1. Shadow memory manipulation added ~12 instructions to TTLOut.pulse
     (without inlining), and it's already barely fast enough.
  2. More importantly, code such as self.ts[1] did not trigger
     attribute writeback, and there seems to be no easy way to fix
     that.
2016-01-03 04:57:58 +08:00
Sebastien Bourdeauducq e41b9db787 gui: minor cleanup 2016-01-03 00:47:43 +08:00
Sebastien Bourdeauducq 6007b64898 applets: add big_number 2016-01-03 00:46:33 +08:00
Sebastien Bourdeauducq 5ad6c5cbe0 applets: add simple applet library 2016-01-03 00:46:15 +08:00
whitequark 38a99fde52 Implement selective attribute writeback using shadow memory. 2016-01-02 22:51:04 +08:00
whitequark 2e33084a5f transforms.llvm_ir_generator: implement instrumentation for attribute writeback. 2016-01-02 06:51:30 +08:00
whitequark 5f68cc6a21 transforms.artiq_ir_generator: handle `raise` in `except:` with `finally:`. 2016-01-02 06:51:29 +08:00
whitequark 693a364d85 transforms.artiq_ir_generator: fix typo. 2015-12-31 22:39:33 +08:00
whitequark ff0ab736e9 Commit missing parts of 8aa34ee9. 2015-12-31 22:36:25 +08:00
whitequark 79d020dd3a transforms.artiq_ir_generator: handle terminated try body. 2015-12-31 22:36:25 +08:00
whitequark 71d8cbb431 runtime/artiq_personality: add missing cast. 2015-12-31 22:10:30 +08:00
whitequark cb90bf6ef3 test/coredevice/portability: keep trace list entirely on host. 2015-12-31 22:08:15 +08:00
whitequark a2618f0b5b runtime/artiq_personality.c: add missing cast. 2015-12-31 22:06:01 +08:00
whitequark abc5a49aaf test: use raise X() syntax rather than raise X. 2015-12-31 22:02:57 +08:00
whitequark 8aa34ee952 compiler: don't require exceptions to inherit ARTIQException. 2015-12-31 21:54:54 +08:00
whitequark f9e90d90fa runtime/artiq_personality.c: don't dereference nonexistent typeInfoPtr. 2015-12-31 21:16:18 +08:00
whitequark 51e966edf2 Commit missing parts of 0b69e488. 2015-12-31 21:09:24 +08:00
whitequark 0b69e488e6 transforms.llvm_ir_generator: compare exn typeinfo using strcmp.
This is necessary to correctly catch exceptions from RPCs.
2015-12-31 19:53:28 +08:00
whitequark 9ed6b54249 transforms.cfg_simplifier: remove.
Specifically, the following idiom broke our CFGSimplifier:

b1:
  branch_if %cond, %b2, %b3
b2:
  branch %b3
b3:
  %v = phi [ %b2 => 0, %b3 => 1 ]

This is very annoying to properly handle in general case, and also
this (specifically %b2) is exactly what broke LocalAccessValidator
in the first place. So, remove CFGSimplifier altogether.

Instead, teach LocalAccessValidator how to look through predecessors
in order to get a location.
2015-12-31 17:07:36 +08:00
Sebastien Bourdeauducq 17802d3cff test/coredevice/primes: keep output list entirely on the host 2015-12-31 09:49:37 +08:00
whitequark 787a1d34fe transforms.llvm_ir_generator: don't crash when quoting over than one list. 2015-12-30 16:22:26 +08:00
whitequark 25e2824709 validators.escape: infer correct region for arguments. 2015-12-30 16:19:35 +08:00
whitequark 72b6cca9c3 transforms.cfg_simplifier: correctly update phis. 2015-12-30 16:07:14 +08:00
whitequark 2a474b7166 ir: fix incoming_{blocks,values,value_for_block}. 2015-12-30 16:06:18 +08:00
whitequark ac3a170c8f transforms.llvm_ir_generator: don't crash when quoting empty lists. 2015-12-30 15:47:57 +08:00
whitequark 5dcf936f4e transforms.inferencer: don't crash on partially-inferred binary expressions. 2015-12-30 15:46:54 +08:00
whitequark 6938036b28 embedding: unify all derived attribute types. 2015-12-30 15:38:49 +08:00
whitequark f52d364806 Mollify PEP 0479. 2015-12-30 15:33:30 +08:00
whitequark 78fb3e1b7b compiler: validate local accesses after interleaving. 2015-12-30 15:26:30 +08:00
whitequark df91500f68 Fix ff3206be. 2015-12-30 15:16:05 +08:00
whitequark ff3206be07 compiler.embedding: treat RPC methods like any others (fixes #211). 2015-12-30 14:21:09 +08:00
whitequark 14484216ec transforms.cfg_simplifier: handle phi and branch_if properly. 2015-12-30 12:10:28 +08:00
Sebastien Bourdeauducq 04b0db1a91 targets/kc705: pre-divide input RTIO clock to improve non-50% duty cycle tolerance 2015-12-29 17:00:57 +08:00
Sebastien Bourdeauducq aa29defd02 test/coredevice/test_pulses: fix first_timestamp 2015-12-29 12:43:53 +08:00
whitequark 9d7d614139 test.coredevice.rtio.CoredeviceTest.test_time_keeps_running: relax timing.
Testing ARTIQ over an SSH channel to Hong Kong is slow.
2015-12-29 02:57:33 +08:00
whitequark 8fb6d4cdb4 coredevice.comm_generic: handle RPC default args correctly. 2015-12-29 02:54:34 +08:00
whitequark 0dd71946b9 test.coredevice.portability.HostVsDeviceCase.test_exceptions: update.
TypeError would never be raised with the new compiler.
It crashes in a different way now.
2015-12-29 02:18:38 +08:00
whitequark db05ec0277 test.coredevice.portability.HostVsDeviceCase.test_misc: update.
It crashes in a different way now.
2015-12-29 02:15:57 +08:00
whitequark 8822db089f transforms.cfg_simplifier: implement.
This allows error reporting in LocalAccessValidator to proceed
even when the predecessor is an empty block with only a branch.
2015-12-29 02:15:57 +08:00
whitequark 57ebd57ddb transforms.dead_code_eliminator: update doc. 2015-12-29 02:15:57 +08:00
Sebastien Bourdeauducq 70dfad08e3 applets: add XY/histogram plot demo 2015-12-28 16:48:31 +08:00
Sebastien Bourdeauducq c9da5f4ecb frontend: bind v4 and v6 localhost addresses by default, support multiple bind 2015-12-27 18:03:13 +08:00
Sebastien Bourdeauducq bea1182aca sim/devices/core: adapt to _ARTIQEmbeddedInfo 2015-12-27 11:56:01 +08:00
Sebastien Bourdeauducq b5253e1353 coredevice/analyzer: decode log messages 2015-12-27 01:28:34 +08:00
Sebastien Bourdeauducq 048dcbee92 runtime/rtio: reverse char ordering in log messages 2015-12-27 01:07:18 +08:00
Sebastien Bourdeauducq 50a463a6fd runtime: support for RTIO logging 2015-12-26 22:44:50 +08:00
Sebastien Bourdeauducq ba6c527819 gateware/targets: add RTIO log channels 2015-12-26 22:44:01 +08:00
Sebastien Bourdeauducq 080752092c gateware/rtio: add LogChannel 2015-12-26 22:43:28 +08:00
Sebastien Bourdeauducq 9ba8dfbf23 gateware/rtio/core: avoid potential python bug 2015-12-26 22:11:57 +08:00
Sebastien Bourdeauducq 24fa74a8ab coredevice/analyzer: support TTL clockgen 2015-12-26 21:51:37 +08:00
Sebastien Bourdeauducq 1c36ae0672 coredevice/analyzer: support TTL inputs 2015-12-26 21:24:53 +08:00
Sebastien Bourdeauducq 7eb4067477 test/coredevice/analyzer: test TTL input mode 2015-12-26 21:10:19 +08:00
whitequark 82ec76af3e compiler.types: fix TFunction internal field order (closes #208). 2015-12-26 18:08:51 +08:00
Sebastien Bourdeauducq a871194ee4 coredevice/analyzer: prefix channel names with their types 2015-12-26 17:47:53 +08:00
Sebastien Bourdeauducq 2b70fa14a6 coredevice/analyzer: update rtio_slack on output messages only 2015-12-26 17:47:08 +08:00
whitequark b931096ec3 transforms.artiq_ir_generator: fix While codegen (closes #207). 2015-12-26 17:24:05 +08:00
whitequark 502e570e86 compiler: embed host exception constructors as such (fixes #204). 2015-12-26 03:17:29 +08:00
whitequark 8051fe9592 Commit missing parts of 082e9e20dd. 2015-12-26 03:16:50 +08:00
whitequark 082e9e20dd compiler: do not associate SSA values with iodelay even when inlining.
Fixes #201.
2015-12-25 15:02:33 +08:00
whitequark 33c3b3377e ir: keep loc when copying. 2015-12-25 14:59:28 +08:00
whitequark 690b2fd034 transforms.artiq_ir_generator: fix optarg codegen (closes #205). 2015-12-25 12:40:45 +08:00
Sebastien Bourdeauducq cd8eccfd46 coredevice/analyzer: add rtio_slack channel 2015-12-25 00:40:47 +08:00
Sebastien Bourdeauducq 7475b3813e test/coredevice: PEP8 2015-12-24 19:26:42 +08:00
Sebastien Bourdeauducq bf1a3a5b8f test/coredevice: add analyzer unittest 2015-12-24 19:25:29 +08:00
Sebastien Bourdeauducq 5f3b69dd19 frontend/coreconfig: simplify action names 2015-12-24 18:54:23 +08:00
Sebastien Bourdeauducq 179c50480f frontend: split coretool into coreconfig, corelog and coreanalyzer 2015-12-24 18:51:11 +08:00
Sebastien Bourdeauducq e41e2c088d analyzer: encapsulate decoded dump, get onehot sel from header 2015-12-24 00:31:21 +08:00
Sebastien Bourdeauducq 4be5df9802 coredevice/analyzer: DDS decoding 2015-12-23 18:57:53 +08:00
Sebastien Bourdeauducq 58d0e2c0b8 coredevice/analyzer: log TTL decoding in debug mode 2015-12-23 18:56:23 +08:00
Sebastien Bourdeauducq e4d73c0302 artiq/coredevice/dds: fix dds_set signature 2015-12-23 17:25:31 +08:00
Sebastien Bourdeauducq b4b0dcc5d1 test/coredevice/rtio: remove obsolete functions 2015-12-22 12:11:13 +08:00
Sebastien Bourdeauducq f6522922f8 coredevice/exceptions: PEP8 2015-12-22 12:03:11 +08:00
Sebastien Bourdeauducq 23355d8eff coredevice: restore RTIOCollisionError 2015-12-22 11:59:18 +08:00
Sebastien Bourdeauducq fc299ca918 language/environment: disable processors by default 2015-12-22 11:45:34 +08:00
whitequark a250b5da21 language.core: implement round(value, width) (fixes #203). 2015-12-22 11:26:49 +08:00
whitequark 25188f0ca9 transforms.interleaver: correctly handle degenerate `with parallel:` blocks. 2015-12-21 21:32:48 +08:00
whitequark ac5c86bfdc artiq_compile: add missing import. 2015-12-21 21:15:18 +08:00
whitequark f957be4e6f transforms.llvm_ir_generator: handle loop instruction (fixes #202). 2015-12-21 21:12:17 +08:00
Sebastien Bourdeauducq 007a7170e1 analyzer: report DDS channel number 2015-12-21 18:37:53 +08:00
Sebastien Bourdeauducq 8691f69a3c gateware/rtio/analyzer: suppress spurious initial reset messages 2015-12-21 18:32:08 +08:00
Sebastien Bourdeauducq e87436fc03 coredevice/analyzer: remove zero-timestamp msg filtering (now unnecessary) 2015-12-21 11:15:58 +08:00
Sebastien Bourdeauducq 183e855229 remove workaround_asyncio263 2015-12-20 23:26:48 +08:00
Sebastien Bourdeauducq 2ae63570dd frontend/coretool: verbosity control 2015-12-20 23:17:31 +08:00
Sebastien Bourdeauducq 5769107936 gateware/rtio: keep counter clock domain transfer active during CSR reset 2015-12-20 22:12:34 +08:00
Sebastien Bourdeauducq b96e0d241e coredevice/analyzer: set VCD timescale 2015-12-20 22:06:07 +08:00
Sebastien Bourdeauducq 4b5c10b641 coredevice/core: remove default period 2015-12-20 22:05:52 +08:00
Sebastien Bourdeauducq cdcb57effe coredevice/analyzer: basic VCD writing 2015-12-20 19:32:52 +08:00
whitequark e4615e7b37 transforms.int_monomorphizer: visit children of CallT. 2015-12-20 18:07:31 +08:00
Sebastien Bourdeauducq 46f59b673f coredevice: analyzer message decoding 2015-12-20 14:34:16 +08:00
whitequark d5216879d4 runtime: implement round() (fixes #198).
From https://github.com/bpowers/musl/blob/master/src/math/round.c.
2015-12-20 04:06:11 +08:00
whitequark 54aeb5030d transforms.int_monomorphizer: also monomorphize round() calls (#198). 2015-12-20 02:36:30 +08:00
whitequark 95af6daa28 transforms.inferencer: accept round(width=n) form (#198). 2015-12-20 01:02:57 +08:00
Sebastien Bourdeauducq 1638f0fa9b gateware/rtio/analyzer: fix event ordering 2015-12-19 17:04:30 +08:00
whitequark afee03b89c Commit missing parts of 4fb1de33. 2015-12-19 06:41:32 +08:00
whitequark 4fcd6abc5e Commit missing parts of 0395efd4. 2015-12-19 06:33:29 +08:00
whitequark 4fb1de33c9 Initial invocation of a @kernel function can now return a value (fixes #197). 2015-12-19 05:26:18 +08:00
whitequark e9afe5a93b runtime: include __powidf2. 2015-12-19 00:14:51 +08:00
whitequark 0395efd479 compiler: give environment types in LLVM IR readable names. 2015-12-18 23:41:51 +08:00
whitequark baa986aa32 compiler.prelude: add @portable as an alias for @kernel. 2015-12-18 23:00:29 +08:00
whitequark 7b3ace2e30 transforms.inferencer: fix unsupported decorator diagnostic when embedding.
decorator.loc points to the quoted object with a synthesized location,
and it's not really worth refactoring when we can just point at the @.
2015-12-18 22:58:17 +08:00
whitequark 0755aa38ff transforms.iodelay_estimator: allow goto in zero-iodelay while statements. 2015-12-18 21:14:40 +08:00
whitequark 2759310662 transforms.iodelay_estimator: reject control flow in 'with parallel:' (fixes #195). 2015-12-18 21:02:53 +08:00
Sebastien Bourdeauducq 64ad38854b gateware/rtio/analyzer: fix exception message layout 2015-12-18 18:27:06 +08:00
Sebastien Bourdeauducq 10d4bfba38 frontend/coretool: basic analyzer dump 2015-12-18 18:23:16 +08:00
Sebastien Bourdeauducq 0832c71a66 coredevice/comm_tcp: support retrieving analyzer data 2015-12-18 18:22:50 +08:00
whitequark 52102a1a79 Fix handling of default values for RPC arguments (fixes #190). 2015-12-18 18:03:07 +08:00
whitequark f4b19fee5c compiler.types: make TValue hashable. 2015-12-18 17:31:20 +08:00
whitequark 3fbee2707b analyses.domination: consider unreachable blocks dominated by any other.
As a result, the dominator tree can now process arbitrary (reducible)
CFGs and we do not run DCE before analyses, risking loss of
correspondence to the AST, which would arbitrarily silence analyses.
2015-12-18 16:39:52 +08:00
Sebastien Bourdeauducq 59a3ea4f15 gateware/rtio/analyzer: fix bus write 2015-12-18 15:44:20 +08:00
Sebastien Bourdeauducq f431add20e runtime/analyzer: fix zero data corner case, handle cache 2015-12-18 15:17:22 +08:00
Sebastien Bourdeauducq b3abc9baf9 runtime/net_server: fix PCB filter 2015-12-18 01:14:57 +08:00
Sebastien Bourdeauducq 80172f9548 frontend/coretool: minor cleanup 2015-12-18 00:18:39 +08:00
Sebastien Bourdeauducq 73794b5c25 runtime: send analyzer data 2015-12-18 00:13:22 +08:00
Sebastien Bourdeauducq 6ae41e6024 runtime/net_server: refactor to support multiple services 2015-12-17 16:55:39 +08:00
whitequark 8cb7844621 transforms.interleaver: unroll loops. 2015-12-17 00:52:22 +08:00
whitequark 5dd1fc993e transforms.dead_code_eliminator: also remove dead instructions. 2015-12-17 00:52:22 +08:00
Sebastien Bourdeauducq 5e38cad64c test/coredevice: partial update to new APIs 2015-12-16 19:45:57 +08:00
whitequark 2570932264 transforms.interleaver: don't fail on delay-free loops/conditionals. 2015-12-16 19:26:17 +08:00
whitequark 69cdeaf706 transforms.interleaver: don't fail on degenerate parallel blocks. 2015-12-16 19:26:17 +08:00
Sebastien Bourdeauducq 4def561710 targets: integrate RTIO analyzer 2015-12-16 17:36:52 +08:00
Sebastien Bourdeauducq afaad270cc rtio/analyzer: fix superficial mistakes 2015-12-16 17:36:36 +08:00
whitequark f8eaeaa43f compiler: explicitly represent loops in IR. 2015-12-16 15:33:26 +08:00
Sebastien Bourdeauducq 33860820b9 gateware/soc: use new SDRAM API call 2015-12-16 14:59:35 +08:00
whitequark 35acc33ef6 validators.escape: don't fail on quoted values in lhs. 2015-12-16 13:57:02 +08:00
whitequark 8751d2ee6c Delay.{expr→interval}. 2015-12-16 13:57:02 +08:00
Robert Jördens bf29e8ddc6 kc705: make config[] usage consistent 2015-12-15 12:14:30 -07:00
Sebastien Bourdeauducq 4362f97d67 gateware/rtio/analyzer: complete, untested 2015-12-14 23:53:14 +08:00
whitequark e755e1ba9e validators.escape: support arrays in multiple assignment. 2015-12-14 16:31:03 +08:00
whitequark 1860364778 protocols.pyon: support artiq.int (fixes #188). 2015-12-14 16:26:02 +08:00
Sebastien Bourdeauducq b5f2e178f6 rtio/analyzer: message encoder 2015-12-14 00:37:08 +08:00
Sebastien Bourdeauducq eac2e2ad0b gui/experiments: fix Qt compatibility issue with QHeaderView.setResizeMode 2015-12-13 19:32:17 +08:00
Sebastien Bourdeauducq eeb53c5aa5 coredevice/comm: compare software and gateware versions. Closes #97 2015-12-11 22:56:40 +08:00
Sebastien Bourdeauducq 0eb8079b45 gui: fix some dock sizing issues 2015-12-11 00:20:20 +08:00
whitequark 25027f6907 compiler: fix tests. 2015-12-10 23:16:36 +08:00
whitequark 2d906daf7f compiler: implement 'with watchdog' support. 2015-12-10 23:11:00 +08:00
whitequark 64f19b84f2 compiler.testbench.llvmgen: fix. 2015-12-10 23:08:05 +08:00
whitequark 4888e897b9 compiler: refactor to use builtins.TInt{32,64}. (NFC) 2015-12-10 23:06:23 +08:00
whitequark 143bae4bd3 compiler.builtins: {fn→obj}_{serial,parallel}. 2015-12-10 23:03:28 +08:00
whitequark c660028abf transforms.llvm_ir_generator: fix reraise inside EH block. 2015-12-10 23:02:32 +08:00
whitequark 3ec9b677b2 Revert "transforms.artiq_ir_generator: treat builtins in 'with' syntactically."
This reverts commit ccc993071b.
2015-12-10 22:25:15 +08:00
whitequark ccc993071b transforms.artiq_ir_generator: treat builtins in 'with' syntactically. 2015-12-10 21:29:16 +08:00
whitequark 22dab0c7cc compiler: clarify confusing comment (NFC). 2015-12-10 20:50:28 +08:00
Sebastien Bourdeauducq 93317d48c9 gui/explorer: file selector for experiments outside repos 2015-12-09 19:13:57 +08:00
Sebastien Bourdeauducq 7b2580583a master: allow remote listing of directories 2015-12-08 19:24:04 +08:00
Sebastien Bourdeauducq ed08352f67 gui: improve error handling 2015-12-08 18:58:20 +08:00
Sebastien Bourdeauducq 0da89557da gui: basic support for opening files outside repository 2015-12-08 17:52:38 +08:00
Sebastien Bourdeauducq 238ee9adb4 gui/experiments: support recomputing all arguments of an experiment 2015-12-07 00:55:32 +08:00
Sebastien Bourdeauducq 5e14afde3e scheduler: use current (last scanned) repo revision instead of HEAD 2015-12-06 19:00:41 +08:00
Sebastien Bourdeauducq f99c53d179 client: block until end of repository scan 2015-12-06 18:41:20 +08:00
Sebastien Bourdeauducq ea6dcb2743 master: repository -> experiment_db 2015-12-06 18:39:27 +08:00
Sebastien Bourdeauducq 8467013160 master,gui: support recomputation+reset of arguments 2015-12-06 17:27:15 +08:00
Sebastien Bourdeauducq 1cba685326 gui/experiments: fix StringEntry update 2015-12-06 17:21:53 +08:00
Sebastien Bourdeauducq 3edf52232c protocols/pc_rpc: support coroutine methods 2015-12-06 12:52:41 +08:00
Sebastien Bourdeauducq e8bd24d539 gui/experiments: add argument recompute buttons. Closes #171 2015-12-05 17:51:12 +08:00
Sebastien Bourdeauducq 2871b5e078 gui: typos 2015-12-05 14:47:20 +08:00
Robert Jördens 7886827b80 CSRConstant: also port DDS constants 2015-12-04 18:27:59 +08:00
Robert Jördens 5db1f9794e top.add_constant() -> top.config[] (CSRConstant)
This is to be synchronized with the corresponding change in misoc.
2015-12-04 18:27:54 +08:00
Sebastien Bourdeauducq 3bc119f3f0 gui/shortcuts: default state is no shortcuts, hide clear/open/submit widgets 2015-12-03 16:30:37 +08:00
whitequark 8cb2215edb transforms.inferencer: only instantiate RPC function types, not regular. 2015-12-02 21:48:14 +08:00
Sebastien Bourdeauducq b6260615a6 gui/log: better-looking new dock feature 2015-12-01 22:51:15 +08:00
Sebastien Bourdeauducq 08abc2e00a gui/shortcuts: make global shortcuts really global 2015-12-01 18:49:23 +08:00
Sebastien Bourdeauducq de54f57fbe gui/experiments: fix vertical resizing of experiment dock 2015-12-01 18:33:43 +08:00
Sebastien Bourdeauducq 9baf54d25e gui/experiments: fix text entry update problem with shortcuts 2015-12-01 18:31:56 +08:00
Sebastien Bourdeauducq 03f92f2de2 gui/experiments: in experiment dock, fix submit button, add reqterm button 2015-12-01 18:26:46 +08:00
Sebastien Bourdeauducq d39126d69e gui/experiments: show status bar message on mass termination 2015-12-01 18:26:01 +08:00
Sebastien Bourdeauducq f73c967b3e gui/shortcuts: fix status bar usage 2015-12-01 18:22:12 +08:00
Sebastien Bourdeauducq bbabc7bb8d gui/shortcuts: make shrinkable, add open button 2015-12-01 18:04:43 +08:00
Sebastien Bourdeauducq ff4c03014c gui/shortcuts: integrate with experiment manager 2015-12-01 17:10:44 +08:00
Sebastien Bourdeauducq 741dfce38c gui/scan: enforce valid sequence input 2015-11-30 23:10:12 +08:00
Sebastien Bourdeauducq a6f3055cd3 scan: enforce max >= min 2015-11-30 20:01:25 +08:00
Sebastien Bourdeauducq 277e26434f gui/experiments: prevent comboboxes and spinboxes from stealing focus via mouse wheel 2015-11-30 19:53:40 +08:00
Sebastien Bourdeauducq cabcdb3784 gui/experiments: support setting repository revision 2015-11-30 18:25:46 +08:00
Sebastien Bourdeauducq 24a33be9df gui/experiments: support setting submission scheduling/options 2015-11-30 17:18:31 +08:00
Sebastien Bourdeauducq afa8148b2b gui/experiments: save/restore state 2015-11-30 11:40:50 +08:00
Sebastien Bourdeauducq 2904b31e7e protocols/pyon: fix formatting, support OrderedDict 2015-11-30 11:40:34 +08:00
Sebastien Bourdeauducq 23a84500a3 gui/experiments: support scan widgets 2015-11-30 00:21:27 +08:00
whitequark 26630ea4b6 language.core: make int compatible with range() (fixes #183). 2015-11-28 08:29:58 +08:00
Sebastien Bourdeauducq 3825428dbf gui/experiments: support setting values for simple entries 2015-11-28 00:19:47 +08:00
Sebastien Bourdeauducq c382fac8f2 gui: experiment docks (WIP) 2015-11-27 19:30:05 +08:00
Sebastien Bourdeauducq 6671bb33a4 gui/log: improve vertical scrolling 2015-11-27 19:18:20 +08:00
whitequark 3c9b53b07b compiler.embedding: add fast path for inference for lists of scalars in a host object. 2015-11-27 19:06:04 +08:00
whitequark 237e983770 compiler.types: replace isinstance() with .__class__==.
This provides a 50% speedup.
2015-11-27 18:22:55 +08:00
whitequark 6122fd70ca compiler.types: TVar.find: improve path compression.
After this change, the compiler's complexity is nearly linear
even when very large arrays are used.
2015-11-27 18:08:46 +08:00
whitequark bf1a583fda compiler.types: fix TVar.find() for very large paths. 2015-11-27 18:02:27 +08:00
whitequark 00164390a1 compiler.types: fix TDelay.unify(TVar()). 2015-11-27 17:10:36 +08:00
whitequark 4b410ce720 compiler.testbench.perf_embedding: fix. 2015-11-27 17:08:45 +08:00
whitequark 16ae0fb6eb compiler.embedding: instantiate RPC method types (fixes #180). 2015-11-27 16:29:13 +08:00
whitequark 0a794fe7e4 compiler.embedding: instantiate type of even the first embedding of an RPC. 2015-11-27 14:55:47 +08:00
whitequark cde21bcd26 compiler.embedding: instantiate RPC function types (#180). 2015-11-27 14:29:15 +08:00
whitequark 3b529c6f90 compiler.types: implement map. 2015-11-26 11:16:39 +08:00
whitequark e2f7d1047d compiler.testbench: fix after e1cd2ccd. 2015-11-26 10:24:14 +08:00
Sebastien Bourdeauducq e1e082e2ec devices/thorlabs_tcube: minor cleanup 2015-11-25 21:43:22 +08:00
Sebastien Bourdeauducq 178f3cd815 devices/thorlabs_tcube: improve debug logging 2015-11-25 15:28:34 +08:00
Sebastien Bourdeauducq 3c0efb3ad5 gui/log: fix layout problems 2015-11-24 23:04:01 +08:00
whitequark c6ccc87f54 worker: gracefully handle compile errors (fixes #179). 2015-11-24 22:34:33 +08:00
whitequark d14ad6727a compiler.embedding: avoid showing wildly incorrect suggestions. 2015-11-24 17:50:46 +08:00
whitequark 14993e89e2 compiler.embedding: show suggestions for mistyped host object attributes. 2015-11-24 17:44:58 +08:00
whitequark e1cd2ccd40 compiler: pull in dependencies in more finely grained way (fixes #181). 2015-11-24 17:32:04 +08:00
Sebastien Bourdeauducq bda11149df devices/thorlabs_tcube: fix more style issues 2015-11-24 17:10:31 +08:00
Sebastien Bourdeauducq 76eadc0a61 devices/thorlabs_tcube: remove unnecessary {read,write}_exactly functions 2015-11-24 16:55:18 +08:00
whitequark f5187eb140 Remove leftover artiq/transforms/. 2015-11-24 16:00:32 +08:00
Sebastien Bourdeauducq e5b58b50aa remove old compiler code 2015-11-24 15:52:36 +08:00
Sebastien Bourdeauducq 2503dcd837 devices/thorlabs_tcube: remove unnecessary attribute 2015-11-24 15:51:55 +08:00
Sebastien Bourdeauducq 91a8acf304 protocols/pc_rpc: properly convert FullArgSpec to dict 2015-11-24 15:51:13 +08:00
whitequark c14299dca8 Merge branch 'new-py2llvm' 2015-11-24 03:01:54 +08:00
whitequark 66b1388a63 transforms.artiq_ir_generator: never put TVars in dicts.
A TVar looks just like whatever it points to, but it does not
compare equal, nor is its hash the same.
2015-11-24 02:59:15 +08:00
whitequark fec5c2ebf0 transforms.interleaver: add a diagnostic for interleave inlining failure. 2015-11-24 02:57:03 +08:00
whitequark 8527e306c3 testbench.embedding: use dmgr to get core and export it. 2015-11-24 02:02:34 +08:00
whitequark 2bfc72fba9 testbench.embedding: fix ref_period mismatch. 2015-11-24 00:54:20 +08:00
whitequark d3f0059cab compiler.iodelay: correctly fold max(0, [0, ]...). 2015-11-24 00:46:55 +08:00
whitequark 9bc62fa3d2 transforms.iodelay_estimator: correctly handle functions with empty body. 2015-11-24 00:46:26 +08:00
whitequark 32fe4a8a0c transforms.llvm_ir_generator: don't assert on inlined functions. 2015-11-24 00:20:33 +08:00
whitequark abb36b42be compiler.iodelay: fold and eval SToMU to an int, not float. 2015-11-24 00:19:33 +08:00
whitequark 178ff74da2 transforms.interleaver: inline calls. 2015-11-24 00:02:07 +08:00
whitequark 2a82eb7219 compiler.ir: return dict from Delay.substs, not pair iterable. 2015-11-24 00:01:10 +08:00
whitequark 02f2763ea8 compiler.iodelay: always fully fold SToMU and MUToS. 2015-11-23 23:59:59 +08:00