Commit Graph

518 Commits

Author SHA1 Message Date
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