2
0
mirror of https://github.com/m-labs/artiq.git synced 2024-12-04 17:31:10 +08:00
Commit Graph

723 Commits

Author SHA1 Message Date
07ad00c1ca drtio: split kernel/system CSRs 2016-10-31 18:09:36 +08:00
whitequark
cd68577dbc compiler: add support for async RPCs. 2016-10-30 00:57:31 +00:00
95def81c03 drtio: squelch frame signals until link layer ready 2016-10-29 17:05:30 +08:00
6d07a16c62 Merge branch 'master' into phaser
* master: (72 commits)
  gateware: extend mailbox to 3 entries.
  master/worker_db: set default value for archive
  master: keep dataset manager consistent when set_dataset is called with contradictory attributes
  master: archive input datasets. Closes #587
  master: ensure same dataset is in broadcast and local when mutating
  scheduler: default submission arguments, closes #577
  pdq2: sync with pdq2
  doc: clarify usage of pause/check_pause, closes #571
  dashboard/datasets: use scientific spinbox and increase number of decimals, closes #572
  gateware/spi: fix import
  runtime: fix use of $(realpath) in Makefile.
  test: fix printf specifier.
  llvm_ir_generator: make sure RPC allocations are not underaligned.
  runtime: use i64 for watchdog timeout, not i32.
  runtime: port ksupport to Rust.
  runtime: remove some redundant libm functions copied inline.
  language: Add "A" (ampere) as well-known unit for arguments
  conda: misoc 0.4 (csr)
  runtime: cap log level at debug.
  runtime: discard unnecessary sections.
  ...
2016-10-28 01:40:11 +02:00
9bbc6eb0ef drtio: more full stack testing 2016-10-26 22:04:32 +08:00
7f8e53aa5c drtio: more fixes and tests 2016-10-26 11:48:47 +08:00
22173b8c70 drtio: full stack unittest 2016-10-26 00:35:22 +08:00
ad042de954 drtio: fixes, basic TTL working in simulation 2016-10-25 12:41:16 +08:00
d2f776b0d0 phaser: add more tools 2016-10-24 17:39:14 +02:00
94e68dbae4 drtio: test_full_stack (WIP) 2016-10-24 23:36:33 +08:00
1e313afe64 drtio: CrossDomainNotification 2016-10-21 22:45:45 +08:00
c71c4c89e0 drtio: change data direction in _CrossDomainRequest 2016-10-21 22:44:47 +08:00
6a88229e6a drtio: CrossDomainRequest 2016-10-20 23:37:59 +08:00
whitequark
f10a4498c7 test: fix printf specifier. 2016-10-16 23:54:29 +00:00
whitequark
7618907cad runtime: use i64 for watchdog timeout, not i32. 2016-10-16 16:32:43 +00:00
a40b39e9a2 drtio: structure 2016-10-10 23:12:12 +08:00
23b3302200 drtio: implement TSC load in satellite 2016-10-07 19:30:53 +08:00
43caffc168 drtio: self-checking echo test 2016-10-07 17:31:51 +08:00
0574e882d2 drtio: basic RT packet echo test 2016-10-07 15:36:32 +08:00
whitequark
edafb08b43 test: fix d6193365. 2016-10-06 16:27:12 +00:00
whitequark
d619336503 test: update libartiq_support for changed personality ABI. 2016-10-06 15:44:55 +00:00
whitequark
6b2789e3db test: add more RPC tests. 2016-10-06 12:54:08 +00:00
4a0eaf0f95 phaser: add jesd204b rtio dds
gateware: add jesd204b awg

gateware: copy phaser (df3825a)
dsp/tools: update satadd mixin
phaser: no DDS stubs
dsp: accu fix
phaser: cleanup/reduce

sawg: kernel support and docs

sawg: coredevice api fixes

sawg: example ddb/experiment

phaser: add conda package

examples/phaser: typo

sawg: adapt tests, fix accu stb

sawg: tweak dds parameters

sawg: move/adapt/extend tests

sawg: test phy, refactor

phaser: non-rtio spi

phaser: target cli update

phaser: ad9154-fmc-ebz pins

phaser: reorganize fmc signal naming

phaser: add test mode stubs

phaser: txen is LVTTL

phaser: clk spi xfer test

phaser: spi for ad9154 and ad9516

phaser: spi tweaks

ad9154: add register map from ad9144.xml

ad9516: add register map from ad9517.xml and manual adaptation

ad9154_reg: just generate getter/setter macros as well

ad9154: reg WIP

ad9154: check and fix registers

kc705: single ended rtio_external_clk

use single ended user_sma_clk_n instead of p/n to free up one clock sma

kc705: mirror clk200 at user_sma_clock_p

ad9516_regs.h: fix B_COUNTER_MSB

phase: wire up clocking differently

needs patched misoc

kc705: feed rtio_external_clock directly

kc705: remove rtio_external_clk for phaser

phaser: spi tweaks

ad9516: some startup

ad9516_reg fixes

phaser: setup ad9516 for supposed 500 MHz operation

ad9516: use full duplex spi

ad9154_reg: add CONFIG_REG_2

ad9154_reg: fixes

phaser: write some ad9154 config

ad9154_reg: fixes

ad9154: more init, and human readable setup

ad9154/ad9516: merge spi support

ad9154: status readout

Revert "kc705: remove rtio_external_clk for phaser"

This reverts commit d500288bb44f2bf2eeb0c2f237aa207b0a8b1366.

Revert "kc705: feed rtio_external_clock directly"

This reverts commit 8dc7825519e3e75b7d3d29c9abf10fc6e3a8b4c5.

Revert "phase: wire up clocking differently"

This reverts commit ad9cc450ffa35abb54b0842d56f6cf6c53c6fbcc.

Revert "kc705: mirror clk200 at user_sma_clock_p"

This reverts commit 7f0dffdcdd28e648af84725682f82ec6e5642eba.

Revert "kc705: single ended rtio_external_clk"

This reverts commit a9426d983fbf5c1cb768da8f1da26d9b7335e9cf.

ad9516: 2000 MHz clock

phaser: test clock dist

phaser: test freqs

ad9154: iostandards

phaser: drop clock monitor

phaser: no separate i2c

phaser: drive rtio from refclk, wire up sysref

phaser: ttl channel for sync

ad9154: 4x interp, status, tweaks

phaser: sync/sysref 33V banks

phaser: sync/sysref LVDS_25 inputs are VCCO tolerant

phaser: user input-only ttls

phaser: rtio fully from refclk

ad9154: reg name usage fix

ad9154: check register modifications

Revert "ad9154: check register modifications"

This reverts commit 45121d90edf89f7bd8703503f9f317ad050f9564.

ad9154: fix status code

ad9154: addrinc, recal serdes pll

phaser: coredevice, example tweaks

sawg: missing import

sawg: type fixes

ad9514: move setup functions

ad9154: msb first also decreasing addr

phaser: use sys4x for rtio internal ref

phaser: move init code to main

phaser: naming cleanup

phaser: cleanup pins

phaser: move spi to kernel cpu

phaser: kernel support for ad9154 spi

ad9154: add r/w methods

ad9154: need return annotations

ad9154: r/w methods are kernels

ad9154_reg: portable helpers

phaser: cleanup startup kernel

ad9154: status test

ad9154: prbs test

ad9154: move setup, document

phaser: more documentation
2016-10-05 16:17:50 +02:00
95d7cba34a drtio: fixes, add aux packet test 2016-09-27 12:46:01 +08:00
e59142e344 drtio: use additive scrambler reset by link init 2016-09-27 11:38:05 +08:00
8a92c2c7e5 drtio: add RX link layer, fixes, simple loopback demo 2016-09-27 11:23:29 +08:00
4e47decdbc drtio: add scrambler/descrambler and test 2016-09-26 14:14:14 +08:00
whitequark
feeb089505 compiler: warn about unused kernel_invariant entries.
Fixes #543.
2016-09-14 23:28:55 +00:00
c7c8ad126f pc_rpc: raise AttributeError immediately for nonexistent RPC methods. Closes #534 2016-09-14 11:22:07 +08:00
1cb8f642b4 test: level-based TTL APIs (#218) 2016-09-07 17:37:49 +08:00
whitequark
1a518ea7eb compiler.embedding: implement string concatenation.
Fixes #526.
2016-08-08 04:05:52 +00:00
whitequark
5a2306ae5a compiler.embedding: implement type annotations for function arguments.
Fixes #318.
2016-08-08 03:28:25 +00:00
whitequark
b6c12f2f56 test: relax RPCTiming rpc_time_stddev from 1ms to 2ms.
Even when given exclusive access to our buildserver it still gives
false positives with 1ms.
2016-07-14 10:47:51 +00:00
e0ed99cd7b Revert "test/ctlmgr: keep trying to ping on OSError"
This reverts commit 375e821bd8.
2016-07-09 08:59:47 +08:00
375e821bd8 test/ctlmgr: keep trying to ping on OSError
Since Python 3.5.2, this exception can be raised on Windows when the
connection fails.
2016-07-08 12:40:04 +08:00
whitequark
653eeb476f runtime: fix serialization of object lists.
Fixes #500.
2016-07-07 12:40:50 +00:00
whitequark
5a79fcf9ba embedding: reimplement 373578bc properly.
The core of the problem that 373578bc was attempting to solve is
that diagnostics sometimes should be chained; one way of chaining
is the loc.expanded_from feature, which handles macro-like expansion,
but another is providing context.

Before this commit, context was provided using an ad-hoc override
of a diagnostic engine, which did not work in cases where diagnostic
engine was not threaded through the call stack. This commit uses
the newly added pythonparser context feature to elegantly handle
the problem.
2016-07-07 11:49:21 +00:00
whitequark
d90fd7dc00 compiler: implement numpy.full (#424). 2016-07-07 06:33:38 +00:00
whitequark
7a671fb2fd embedding: treat numpy.{int32,int64,array} specially (#424).
Also, remove them from prelude to not pollute the namespace.
2016-07-07 06:33:38 +00:00
whitequark
933ea53c77 compiler: add basic numpy array support (#424). 2016-07-06 09:51:57 +00:00
whitequark
906db876a6 language: replace coredevice int with numpy.{int32,int64}.
Fixes #453.
2016-07-06 04:44:21 +00:00
whitequark
fa71b40c80 compiler: print the builtin type int(width=...) as np.int... 2016-07-06 04:22:51 +00:00
a1cc964c6c test/scheduler: test check_pause 2016-06-29 11:44:42 +08:00
43681b37ec test/rtio: relax constraints 2016-06-29 11:38:36 +08:00
e51928ee97 test/rtio: adapt to new handover behavior 2016-06-29 10:38:37 +08:00
c8dc6ca07c inter-experiment smooth handover 2016-06-29 02:37:50 +08:00
whitequark
6155f65366 compiler: remove now()/at().
Fixes #490.
2016-06-28 04:39:14 +00:00
whitequark
33e8e59cc7 compiler: implement min()/max() as builtins.
Fixes #239.
2016-06-22 01:09:41 +00:00
whitequark
77d47c2fdd transforms.artiq_ir_generator: split out finally→reraise control flow.
This makes it accessible to introspect by local access validator,
making some previously rejected code valid.

Fixes #331.
2016-06-22 00:57:32 +00:00
whitequark
f2ae24da39 compiler: add support for Python modules.
Fixes #408.
2016-06-21 23:35:07 +00:00
917cc056f4 test: add test for seamless handover on exception termination 2016-06-19 19:15:10 +08:00
whitequark
c0e42bbfc8 compiler.embedding: always do one final inference pass.
Fixes #477.
2016-06-16 14:18:43 +00:00
033aa33c9e pyon: support slices 2016-06-15 19:18:46 +08:00
whitequark
e47538ca33 analyzer: explicitly delimit messages (with \x1D).
Fixes #461.
2016-06-07 11:26:49 +00:00
whitequark
355af3e569 embedding: specialize inherited functions.
Fixes #414.
2016-05-16 15:59:26 +00:00
whitequark
0826ceb8ba Commit missing parts of a5bb4a24. 2016-05-10 02:12:57 +00:00
whitequark
a5bb4a24af compiler: support short form of raise.
Fixes #240.
2016-05-10 01:41:40 +00:00
whitequark
4e5d752951 compiler: fix quoting of methods (fixes #423). 2016-05-09 12:25:57 +00:00
136dc7039e language/environment: update kernel_invariants in setattr_argument and setattr_device 2016-05-03 16:27:42 +08:00
5efa5f5265 style 2016-05-03 16:24:01 +08:00
whitequark
f7d83e9bdf compiler: make kernel_invariant an instance, not class, property.
Fixes #409.
2016-04-29 13:06:11 +00:00
whitequark
a88425b66b compiler: allow RPCing builtin functions.
Fixes #366.
2016-04-26 01:31:17 +00:00
whitequark
1464bae6b7 compiler: don't typecheck RPCs except for return type.
Fixes #260.
2016-04-26 01:12:36 +00:00
a0d2dab594 test/pyon: arrays and complex types 2016-04-24 14:27:24 +02:00
caf774579a environment: refactor 2016-04-16 19:31:07 +08:00
e1a229028d test/analyzer: clear analyzer buffer after IO init 2016-04-15 01:18:36 +08:00
511913230f test_analyzer: loop_out.off() 2016-04-14 22:57:16 +08:00
d42ef46471 test: set inputs to input(), should close #383 2016-04-12 18:17:53 +08:00
13b4929dd8 wavesynth: silence is a channel property (closes #348) 2016-04-07 21:51:29 +08:00
6a783ead24 test_wavesynth: use matplotlib 2016-04-07 21:36:30 +08:00
whitequark
12d6f1d963 Commit missing parts of bb064c67a. 2016-04-06 23:46:19 +00:00
whitequark
9cc9e8b276 embedding: s/kernel_constant_attributes/kernel_invariants/g
Requested in #359.
2016-04-06 22:38:31 +00:00
73795ff788 test_rtio: integer division 2016-04-06 02:26:20 +08:00
4bc5eaf9e8 test_rtio: scale speed test results to 'event' intervals 2016-04-06 00:55:13 +08:00
76dcccb33b test_rtio: comments and correction
* add comments what is actually being measured in the two rate tests
* remove spurious factor of two
2016-04-05 20:51:03 +08:00
587a0f4565 worker: trust that h5py maps all types as we want 2016-04-05 17:18:15 +08:00
8078e59077 test_h5types: also test ndarrays 2016-04-05 17:18:15 +08:00
7a5b3a1167 test_h5types: use in-memory files 2016-04-05 17:18:15 +08:00
whitequark
14caa2713c test_pulse_rate_dds: adjust bounds. 2016-04-05 01:52:34 +00:00
aa61c29efb transfer Python builtin exceptions over pc_rpc and master/worker 2016-04-04 22:02:42 +08:00
whitequark
10108e6d64 compiler: mark loaded pointers as !dereferenceable.
Also, lower the bound for test_pulse_rate_dds, since we generate
better code for it now.
2016-03-31 12:04:38 +00:00
0173031487 test/PulseRateDDS: run more iterations 2016-03-31 16:04:55 +08:00
whitequark
330b232672 test: relax lit/embedding/syscall_flags.
We currently have broken debug info. In either case, debug info
is irrelevant to this test.
2016-03-29 13:34:37 +00:00
whitequark
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
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
2a210d74fb test_pulse_rate: tighten upper bound to 1500ns. 2016-03-26 22:45:24 +00:00
whitequark
8d0566661a compiler: quote functions directly instead of going through a local. 2016-03-25 22:35:55 +00:00
2bb4ad189a test: fix controller simulations 2016-03-22 22:29:41 +08:00
1c9b8a1d52 test/coredevice/portability/pulses: compute time differences in MU 2016-03-20 15:29:31 +08:00
ff697a47ce test/coredevice/cache: fix exception import 2016-03-19 18:00:10 +08:00
whitequark
891e3cf1fe Commit missing parts of 501de306. 2016-03-18 22:48:26 +00: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
ac5061c205 validators.escape: track region of arguments.
Fixes #232.
2016-03-18 03:08:14 +00:00
9ffaf82877 test/analyzer: check that last message is StoppedMessage 2016-03-15 21:44:56 +08:00
a618a6d03a hardware_testbench: better message when skipping 2016-03-10 12:34:06 +01:00
f68c24094f test_spi: drain errors and be more strict on where we expect errors 2016-03-10 12:25:10 +01:00
d0cf589229 test/rtio/Loopback: ensure loop_out is low before starting test 2016-03-10 13:24:00 +08:00
f3a2b3a67e test/rtio: raise exception when pulse is not received 2016-03-10 12:16:18 +08:00
f4f95d330b Merge branch 'master' of github.com:m-labs/artiq 2016-03-10 11:15:30 +08:00
1739e0f2f8 coredevice: put cache into separate file/device 2016-03-10 10:46:19 +08:00
10a09122ea test_spi: break_realtime 2016-03-09 18:23:27 +01:00
8f6653ef72 test_spi: simplify test, add collision vs busy test 2016-03-09 17:58:42 +01:00
9a661bd273 hardware_testbench: clean up artiq_core_exeption printing 2016-03-09 17:30:41 +01:00
b50e3fabb0 hardware_testbench: also print artiq_core_exeption 2016-03-09 17:16:55 +01:00
58e0e670fc tests: test spi business 2016-03-09 15:40:26 +01:00
522ec60f6e hardware_testbench: don't allow unused *args 2016-03-09 12:28:07 +01:00
2953b069dc rtio: when rtlink addresses are different, issue collision not replace (fixes #320) 2016-03-08 15:58:25 +08:00
71105fd0d7 rtio: collision_error -> collision 2016-03-08 15:38:35 +08:00
59d7f5f1e3 test/coredevice/time_keeps_running: start new session to prevent now_mu save/restore 2016-03-08 14:04:51 +08:00
whitequark
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
683716017b test: I2C/PCA9548 unittest 2016-03-05 19:01:35 +08:00
f5dee455f5 test/worker: test exception logging 2016-03-02 17:12:22 +08:00
whitequark
7e16da4a77 transforms.llvm_ir_generator: ignore assignments of None (fixes #309). 2016-03-01 12:26:42 +00:00
c7d48a1765 coredevice/TTLOut: add dummy output function 2016-03-01 19:03:10 +08:00
whitequark
63e0c7c07c Revert wrong parts of 6bd16e44. 2016-02-27 13:15:49 +00:00
a5bf502917 test/LoopbackCount: request correct devices 2016-02-26 14:29:51 +08:00
whitequark
6bd16e448e Commit missing parts of 919a49b6. 2016-02-25 20:02:31 +00: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
652c2a185f test: rewrite tests using ttl_inout to use loop_{in,out} (#265). 2016-02-24 18:27:08 +00:00
whitequark
956448bd8d test: skip RPC timing tests by default. 2016-02-24 15:09:22 +00:00
53d5a458a2 test/hardware_testbench: properly close devices 2016-02-23 16:00:53 +08:00
82f4fd1290 test/coredevice: convert to 'with parallel' 2016-02-23 15:48:12 +08:00
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
1891725e12 wavesynth: cleanup 2016-02-18 14:13:40 +01:00
b4ea318e6d coefficients: add comparison unittest 2016-02-18 14:13:40 +01:00
ca3cced0b4 test/ctlmgr: escape backslashes in sys.executable 2016-02-18 10:02:55 +01:00
whitequark
f28b259b5f Commit missing parts of 74a75841. 2016-02-15 19:36:19 +00:00
1fc51f32ed test/scheduler: fix 2016-02-15 18:31:26 +01:00
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
b97be9c08d Merge branch 'newtesting' 2016-02-14 21:30:19 +01:00
c9a9d19182 test/serialization: fix syntax 2016-02-11 09:37:27 +01:00
6434a9cd5f Merge branch 'master' into subprocess-termination
* master: (44 commits)
  Revert "conda: restrict binutils-or1k-linux dependency to linux."
  manual/installing: refresh
  use https for m-labs.hk
  gui/log: top cell alignment
  master/log: do not break lines
  conda: fix pyqt package name
  gui/applets: log warning if IPC address not in command
  applets: make sure pyqtgraph imports qt5
  applets: avoid argparse subparser mess
  examples/histogram: artiq -> artiq.experiment
  gui/applets: save dock UID in state
  setup.py: give up trying to check for PyQt
  setup.py: fix PyQt5 package name
  Use Qt5
  applets: fix error message text
  applets: handle dataset mutations
  applets: properly name docks to support state save/restore
  applets: clean shutdown
  protocols/pyon: set support
  protocols/pyon: remove FlatFileDB
  ...
2016-02-11 09:24:45 +01:00
8be0696b39 protocols/pyon: set support 2016-02-08 14:08:14 +01:00
912274c6af test_ctlmgr: fix 2016-02-05 15:08:49 -07:00
c52081ca0d Merge remote-tracking branch 'm-labs/newtesting' into subprocess-termination
* m-labs/newtesting:
  style
  assume 'import artiq' works before running tests
  test/ctlmgr: use sys.executable, use default localhost binding
2016-02-03 15:00:00 -07:00
ab81dbbd19 Merge remote-tracking branch 'm-labs/master' into subprocess-termination
* m-labs/master:
  remove pxi6733 support (now lives at https://github.com/m-labs/aq_ni6733
  setup.py: remove stale import
  remove stale dependency on pyelftools
2016-02-02 23:34:37 -07:00
f7df393248 hardware_testbench: full shutdown sequence for controllers 2016-02-02 15:32:40 -07:00
9ca8b48bf9 assume 'import artiq' works before running tests 2016-02-02 21:52:33 +01:00
ca8a075f46 test/ctlmgr: use sys.executable, use default localhost binding 2016-02-02 21:08:51 +01:00
b7de92e96c remove pxi6733 support (now lives at https://github.com/m-labs/aq_ni6733 2016-02-02 18:41:57 +01:00
0d18942869 hardware_testbench: request controller termination 2016-01-30 20:04:32 -07:00
d05d720b19 tests: misc fixes, cleanup 2016-01-29 17:32:59 -07:00
4a29f0702f test.ctlmgr: drop a redundant lambda 2016-01-28 16:59:59 -07:00
bb1db7d7fd test.ctlmgr: add basic test tooling 2016-01-28 16:54:14 -07:00
ab5e8fd8da hardware_testbench: fix timeout handling 2016-01-28 15:41:38 -07:00
982fbb0670 hardware_testbench: use plain subprocess to start controllers 2016-01-28 15:31:01 -07:00
1b7020dff3 hardware_testbench: run Crontrollers loop in thread, not the test 2016-01-27 18:45:08 -07:00
99f788965e Merge branch 'master' into testbench-controllers
* master:
  gui/experiments: float/bring into focus already open docks when opening experiments
  gui: reduce size of console dock
  protocols/logging,pc_rpc: do not print errors on Windows when clients disconnect
  gui: reduce size of schedule dock
  worker: Windows VMs are slow, increase send_timeout
  protocol/sync_struct: Windows also raises ConnectionAbortedError on disconnection
  gui: reduce size of log dock
  gui: reduce size of experiment dock
  protocols/logging/LogParser: handle Windows CRLF
  pyon: handle \r
  test/pipe_ipc: re-enable
  protocols/asyncio_server: minor cleanup
  protocols/pipe_ipc: Windows support
  Revert "Revert "test/pipe_ipc: temporarily skip test""
  Revert "try debugging weird unittest failure"
  try debugging weird unittest failure
  conda: restrict binutils-or1k-linux dependency to linux.
  transforms.iodelay_estimator: make diagnostics much more clear.
  Fix typo.
2016-01-27 14:26:35 -07:00
f78eecb81b hardware_testbench: run controllers 2016-01-27 14:24:32 -07:00
590354dbc8 pyon: handle \r 2016-01-27 20:43:42 +01:00
b753306f12 Merge branch 'worker_pipeipc' 2016-01-27 19:37:06 +01:00
3d9fc7a51f test/pipe_ipc: re-enable 2016-01-27 19:20:04 +01:00
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
ccac8525d2 lda: test tweaks 2016-01-26 15:24:29 -07:00
5aa4de8e89 refactor logging and implement in worker 2016-01-26 20:31:42 +01:00
6383253e03 protocols/pipe_ipc: autoclose pipe fds on process exit in AsyncioParentComm 2016-01-26 14:55:52 +01:00
7a9864b260 Revert "test/pipe_ipc: temporarily skip test"
This reverts commit 3a73673e71.
2016-01-26 09:42:59 +01:00
3a73673e71 test/pipe_ipc: temporarily skip test 2016-01-25 19:21:03 -07:00
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
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
dcea6780c6 protocols/pipe_ipc: implement AsyncioChildComm for Unix (affected by python/asyncio#314) 2016-01-26 00:48:12 +01:00
8befc6a8fc protocols: add pipe_ipc (incomplete) 2016-01-25 22:49:32 +01:00
a4dffaac26 test/worker: update 2016-01-24 15:32:37 +01:00
whitequark
3573a8750a transforms.inferencer: give a suggestion on "raise Exception". 2016-01-20 03:20:25 +00:00
whitequark
1d7858c7bc Fix formatting. 2016-01-19 18:52:43 +00:00
16a1ab4418 test/harness: exec in globals 2016-01-18 16:55:10 -07:00
a1201252e2 artiq/test/{not,harness}.py: usual CLI handling 2016-01-18 16:00:46 -07:00
d7e4783cae lit-test: move to artiq/test 2016-01-18 15:28:24 -07:00
c0bcff4035 test/*/: add missing __init__.py 2016-01-18 14:22:40 -07:00
whitequark
225f7d7302 Commit missing parts of 9366a29. 2016-01-10 20:01:26 +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
cb90bf6ef3 test/coredevice/portability: keep trace list entirely on host. 2015-12-31 22:08:15 +08:00
whitequark
abc5a49aaf test: use raise X() syntax rather than raise X. 2015-12-31 22:02:57 +08:00
17802d3cff test/coredevice/primes: keep output list entirely on the host 2015-12-31 09:49:37 +08:00
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
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
7eb4067477 test/coredevice/analyzer: test TTL input mode 2015-12-26 21:10:19 +08:00
7475b3813e test/coredevice: PEP8 2015-12-24 19:26:42 +08:00
bf1a3a5b8f test/coredevice: add analyzer unittest 2015-12-24 19:25:29 +08:00
b4b0dcc5d1 test/coredevice/rtio: remove obsolete functions 2015-12-22 12:11:13 +08:00
23355d8eff coredevice: restore RTIOCollisionError 2015-12-22 11:59:18 +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
52102a1a79 Fix handling of default values for RPC arguments (fixes #190). 2015-12-18 18:03:07 +08:00
5e38cad64c test/coredevice: partial update to new APIs 2015-12-16 19:45:57 +08:00
3edf52232c protocols/pc_rpc: support coroutine methods 2015-12-06 12:52:41 +08:00
whitequark
9670939ca6 compiler.analyses.domination: fix PostDominatorTree. 2015-11-09 12:49:27 +03:00
whitequark
19fae9181c compiler.analyses.domination: implement new dominator tree algorithm. 2015-11-09 11:51:54 +03:00
whitequark
f70f7fb89b Merge branch 'master' into new-py2llvm 2015-10-30 04:29:35 +03:00
40b4129c65 Only support scalars and numpy arrays in HDF5 output. Update documentation. Closes #145 2015-10-28 18:33:42 +08:00
9f2ff32948 test/sync_struct: nparray mutation 2015-10-26 23:41:05 +08:00
fcd29492f9 worker_db: support more types in HDF5 output. Closes #144. Closes #121 2015-10-24 10:54:59 +08:00
d13b368a65 build logging into worker 2015-10-20 18:11:50 +08:00
da70f8b88c test/pc_rpc: test AutoTarget 2015-10-19 20:20:53 +08:00
whitequark
bd5b324fc2 Merge branch 'master' into new-py2llvm 2015-10-13 19:24:45 +03:00
1d14975bd5 worker: cleaner termination on exception in user code, improve unittest 2015-10-13 01:11:57 +08:00
a754d4b5f5 test: use new dataset API 2015-10-12 19:20:04 +08:00
a83ffb3dce protocols: move FlatFileDB into pyon 2015-10-12 18:19:28 +08:00
139072d402 Graceful experiment termination. Closes #76 2015-10-06 13:50:00 +08:00
d94f0211a6 test/scheduler: cleanup 2015-10-06 13:35:30 +08:00
50a5a3baf0 environment: attr_* -> setattr_* 2015-10-04 00:18:21 +08:00
090a7e5871 test/sync_struct: cleanup 2015-10-03 19:40:11 +08:00
f552d62b69 use Python 3.5 coroutines 2015-10-03 19:28:57 +08:00
b117b9320d asyncio.async -> asyncio.ensure_future 2015-10-03 14:37:02 +08:00
whitequark
3e1348a084 Merge branch 'master' of github.com:m-labs/artiq into new-py2llvm 2015-09-27 18:22:28 +03:00
01416bb0be copyright: claim contributions
These are contributions of >= 30% or >= 20 lines (half-automated).

I hereby resubmit all my previous contributions to the ARTIQ project
under the following terms:

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

Closes #130

Signed-off-by: Robert Jordens <jordens@gmail.com>
2015-09-06 16:08:57 -06:00
whitequark
3af54f5ffc test.coredevice.rtio: simplify. 2015-09-01 08:38:53 -06:00
whitequark
995245b786 compiler.embedding: default RPC return annotation is -> TNone. 2015-09-01 08:38:38 -06:00
whitequark
c9d8fd837e test.coredevice.rtio: update for new compiler. 2015-08-31 23:34:28 -06:00
whitequark
2df8b946f9 Factor out the code to pretty-print diagnostics. 2015-08-31 22:52:39 -06:00
whitequark
cbd903a9dc compiler.embedding: add tests for quote serialization. 2015-08-28 05:24:57 -05:00
whitequark
72823cf521 test.{coredevice,coredevice_vs_host} → test.coredevice.{rtio,portability}. 2015-08-28 03:53:43 -05:00
Yann Sionneau
4a16ea111c worker, scheduler: fix unit tests on Windows 2015-08-27 18:23:26 +02:00
Yann Sionneau
977df7013d py2llvm: skip test_is_prime unit test on Windows
see http://irclog.whitequark.org/m-labs/2015-08-26#13821771;
2015-08-26 14:50:52 +02:00
Yann Sionneau
92390cfbe6 py2llvm: allow the unit test to run on Windows 2015-08-26 11:12:48 +02:00
278adf193d test/pc_rpc: use builtin_terminate 2015-08-17 23:17:13 +08:00
whitequark
fd3c8a2830 language.core: remove {int,round}64, implement int with device semantics. 2015-08-11 12:57:17 +03:00
whitequark
200330a808 Remove parts of py2llvm that are implemented in the new compiler. 2015-08-10 20:36:39 +03:00
06badd1dc1 scheduler: refactor, fix pipeline hazards 2015-08-10 21:58:11 +08:00
52de6311a4 test/scheduler: add repo_msg 2015-08-10 20:07:24 +08:00
7ed8fe57fa Git support 2015-08-07 15:51:56 +08:00
whitequark
4a8e397a77 Fold llvmlite patches into m-labs/llvmlite repository. 2015-08-05 03:49:01 +03:00
1d34c06d79 rtio: detect collision errors 2015-07-29 19:43:35 +08:00
b548d50a2f test/coredevice: use ttl_out for PulseRate (loop is less available) 2015-07-29 19:42:43 +08:00
whitequark
fd46d8b11e Merge branch 'master' into new-py2llvm 2015-07-29 12:52:19 +03:00
2640a57af3 test/coredevice: let output() settle longer 2015-07-28 16:20:05 -06:00
whitequark
7903889082 Merge branch 'master' into new-py2llvm 2015-07-27 03:29:00 +03:00
05dd11a60d protocols/pyon: support numpy scalars (closes #53) 2015-07-25 12:28:56 +08:00
8bc1dd9f9c test/serialization: remove redundant test since Quantity was removed 2015-07-25 12:23:43 +08:00
whitequark
c581af29d7 Merge remote-tracking branch 'origin/master' into new-py2llvm 2015-07-23 21:36:17 +03:00
84de2fb28b expid: experiment -> class_name 2015-07-15 11:08:12 +02:00
255aba9247 test/worker: remove stale handler 2015-07-15 11:07:48 +02:00
Yann Sionneau
90ba9f7bbf llvmlite: rename our package to be llvmlite_or1k to avoid collision with llvmlite package needed for numba 2015-07-14 01:01:56 +02:00
56fc7a484c TTLInOut: timestamp -> timestamp_mu 2015-07-13 23:21:29 +02:00
820ff2da2c test/coredevice: WA for lack of constant string support in compiler (see issue #68) 2015-07-13 22:22:26 +02:00
32d141f5ac refactor ddb/pdb/rdb 2015-07-13 22:21:32 +02:00
8b02b58a77 sync_struct/Notifier: do not pass root param to publish 2015-07-13 17:12:59 +02:00
80eea4ce6c test: relax test_time_keeps_running
on pipistrello this takes about 200-250ms
2015-07-09 16:30:37 -06:00
96a5d73c81 worker: split build stage from prepare 2015-07-09 13:18:12 +02:00
f3e5197c14 test/coredevice/test_time_keeps_running: remove unnecessary close_devices, upper bound 2015-07-07 15:48:47 +02:00
8a33d8c868 never stop RTIO counter 2015-07-07 15:29:38 +02:00
a3fe538067 test: fix get_from_ddb 2015-07-04 22:36:23 -06:00
409c66e966 test: convert lda/tcube/409b to hardware_testbench 2015-07-04 21:44:28 -06:00
6faa8ecd51 test: split full_stack into coredevice and coredevice_vs_host
also adapt it to hardware_testbench
closes: #62
2015-07-04 20:35:02 -06:00
4cbf280f1a test: return experiment not, rdb 2015-07-04 20:05:11 -06:00
753d61b38f complete support for TTL clock generator 2015-07-04 18:36:01 +02:00
a615a3830a test/coredevice: minor fixes 2015-07-04 18:35:11 +02:00
74f07092c7 test/coredevice: fix timestamp conflict 2015-07-02 10:26:00 +02:00
771ad6cb26 test/coredevice: adapt to MU API 2015-07-01 22:34:49 +02:00
5ace0f8e7a Merge branch 'master' of https://github.com/m-labs/artiq 2015-07-01 22:23:10 +02:00
9d6287a6a3 expose machine units to user 2015-07-01 22:22:53 +02:00
f7427dda39 test: make benchmarks unittest 2015-06-28 20:56:12 -06:00
593dafc118 test: hardware testbench 2015-06-28 20:55:59 -06:00
85c5b157a0 test/full_stack: tolerate FP rounding errors 2015-06-27 23:52:20 +02:00
c71fe29792 simplify unit system and use floats by default 2015-06-26 16:34:37 +02:00
07a58dc0da wavesynth: cleanup, refactor 2015-06-20 23:29:26 -06:00
Joe Britton
83fd5fdf16 novatech409b: add unit test 2015-06-19 15:59:23 -06:00
76e034c913 protocols: add fire-and-forget RPC 2015-06-14 22:03:34 -06:00
Yann Sionneau
92999d0cc0 sync_struct: test append, insert, delitem and pop actions 2015-06-10 00:52:46 +02:00
26e737f61f style 2015-06-06 00:55:36 +08:00
37c7ea31c3 gui: TTL override support 2015-06-06 00:03:30 +08:00
Yann Sionneau
50a6da994e worker test: do not close the event loop twice 2015-06-04 13:44:07 +02:00
Yann Sionneau
60bdf74137 tests: use try/finally to close event loop + wait for process to die after killing it 2015-06-04 13:40:13 +02:00
d73006652b test/worker: always close even if prepare() raises 2015-06-04 11:22:03 +08:00
82a2beaa32 style fixes 2015-06-04 10:42:37 +08:00
Yann Sionneau
b27254ba80 sync_struct test: test more cases, pep8 fix, remove print 2015-06-03 15:54:50 +02:00
Yann Sionneau
b8bdce5bd1 sync_struct test: don't poll, use Event instead 2015-06-03 15:40:58 +02:00
Yann Sionneau
21d88d8345 tests: use a different event loop for each test 2015-06-03 15:23:34 +02:00
Yann Sionneau
e5f16b29fd sync_struct: fix test case name 2015-06-03 10:46:09 +02:00
Yann Sionneau
c7953da7e1 test: add unittest for sync_struct 2015-06-03 10:43:01 +02:00
048782e26c test/scheduler: test flush 2015-05-29 20:16:47 +08:00
6ff2e1a083 test/scheduler: verify that a high priority timed experiment in the future is not run 2015-05-29 19:43:39 +08:00
737f6d4485 scheduler: support pipeline flush 2015-05-28 17:20:58 +08:00
whitequark
c75fd6bc88 Replace builtin ast with pythonparser.ast. 2015-05-27 17:04:18 +03:00
0b05b54a87 test: add scheduler unittest 2015-05-27 19:25:50 +08:00
f30d671359 test/worker: adapt to priority API 2015-05-24 23:38:05 +08:00
785623be26 test/worker: adapt to new scheduler API 2015-05-21 16:41:45 +08:00
a62ae1d8d7 test/transforms: adapt to 'now' save on core device 2015-05-12 23:06:33 +08:00
65b4b7bb12 coredevice: rename rtio to ttl, integrated in+out driver, loopback on the same pin in tests 2015-05-02 10:35:21 +08:00
1684586ae8 test: add unittest for core device watchdog 2015-05-01 14:02:31 +08:00
283695e8aa language/core: integrate watchdogs 2015-04-28 23:23:59 +08:00
dc14728264 test/full_stack: use Ethernet 2015-04-28 01:33:37 +08:00
e27844e0f7 test/pxi6733: remove useless checks 2015-04-21 16:10:46 +08:00
Yann Sionneau
69388ccc1a pxi6733: add driver and controller 2015-04-21 16:09:55 +08:00
c98e08fe36 fix transforms unittest 2015-04-19 11:40:49 +08:00
60baed68b4 wavesynth: get coefficients.py into useable state
SplineSource() supports spline interpolating multi-channel tabular data,
cropping it and generating wavesynth compatible segment data from it.

ComposingSplineSource() needs some verification still.
2015-04-18 01:23:15 -06:00
6a0e97f161 pdq2: refactor program_frame(), cleanup test, stall correctly
Once the Sequencer ack's a line, the Parser starts preparing the
next one. This includes jumping through the frame table if necessary.
To stall the Parser while the Sequencer executes the last line of a
frame and to ensure that the frame select lines can be set up and their
sampling is synchronized to a trigger, we add a triggered stall line
at the end of the frame.

When that line is triggered the Parser jumps through the table and starts
parsing the first line of the next frame. We let the duration of this
last stall line be 10 cycles (200ns@50MHz) to be able to distinguish this
sampling of the frame select lines from the triggering of the first line
in the next frame.

frame           f
parser     n     f 0
stb        __---________---___
trigger    ___----_______----_
ack        ____-__________-___
sequencer  n-1 n          0
2015-04-14 18:18:16 -06:00
bc1acef355 test/pdq2: don't write vcd 2015-04-14 18:18:16 -06:00
75dfa95b4d wavesynth: move test code to unittests, fix mutability style 2015-04-05 04:24:44 -06:00
1d5f467da7 pdq2: implement changes in trigger/jump semantics, add unittest
The unittests now runs the compute_samples.Synthesizer against the actual
gateware and verifies similarity (up to integer rounding errors).
2015-04-05 03:55:54 -06:00
e870b27830 wavesynth: new semantics, fix compensation
* "trigger" now means that the corresponding line will only start
  once the trigger line is high.
* "jump" is implicit as the last line in a frame must jump back.
* spline coefficients are now compensated for finite time step size
2015-04-05 03:55:54 -06:00
051b01f58e wavesynth: refactor testing code 2015-04-05 03:55:54 -06:00
d1653589f9 pdq2: spelling fix 2015-04-04 14:26:32 -06:00
16ff190731 pdq2: cleanup unittest 2015-04-04 14:26:32 -06:00
fb91955260 tests: make hardware-in-the loop flags positive logic
Explicitly having to disable unittests that require hardware
(ARTIQ_NO_HARDWARE) is cumbersome.
There is not even a sensible default for the
device or serial number of the devices requiring additional
variables (ARTIQ_LDA_DEVICE etc).

This patch reverts the logic by skipping unittests that
can not automatically determine whether the required hardware
is present and where it is.
2015-04-03 11:51:03 +08:00
05781699b8 pdq2: driver and unittest
* parses wavesynth style programs
* verified with cosimulated gateware
2015-03-21 00:29:00 -06:00
f158711f7e test/worker: test watchdog in build() 2015-03-11 19:07:04 +01:00
4ba54ac929 test: do not close/recreate the asyncio event loop (WA for asyncio bugs when multiple tests are run) 2015-03-11 19:05:01 +01:00
e037b930d8 test: add worker unittest 2015-03-11 18:26:04 +01:00
407477bc5a test: add ARTIQ_NO_PERIPHERALS environment variable to disable tests requiring non-core devices 2015-03-08 11:40:50 +01:00
0f007cb1a7 language/db: remove implicit_core 2015-03-08 11:37:53 +01:00
ac697e3248 test/thorlabs_tcube: fix default serial port 2015-03-08 11:37:24 +01:00
9fad01d967 test/thorlabs_tcube: fix test discovery and style 2015-03-04 23:53:49 +00:00
Yann Sionneau
bc19d6f7a8 thorlabs_tcube: add unit tests 2015-03-04 23:45:21 +00:00
5bb6a3d8a6 style 2015-02-18 11:34:00 -07:00
de4a15c315 lda: add unit tests 2015-02-18 11:33:25 -07:00
3e22fe86b5 reorganize files as per discussion with Robert 2015-01-17 19:38:20 +08:00
891c0d12f2 refactor device/parameter management, immediate parameter updates, start introducing results 2015-01-12 18:51:23 +08:00
f9dd5682ee pc_rpc: asyncio client 2015-01-05 16:07:12 +08:00
d2a5dfa1ec pc_rpc: multiple target support 2014-12-31 20:13:10 +08:00
f7232fd3d1 support exceptions raised by RPCs 2014-12-20 21:33:22 +08:00
5522378c1c support units in lists 2014-12-19 14:34:23 +08:00
f31386d15d py2llvm: len() support on lists 2014-12-18 11:13:50 +08:00
8af0301185 transforms/tools/value_to_ast: list support 2014-12-17 22:22:44 +08:00
f3b727b59d py2llvm: replace array with list 2014-12-17 21:54:10 +08:00
0dc4eb02ae setup: install frontend tools, remove nosetest dependency, minor fixes 2014-12-10 12:13:10 +08:00