Commit Graph

63 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq 9d6287a6a3 expose machine units to user 2015-07-01 22:22:53 +02:00
Sebastien Bourdeauducq 85c5b157a0 test/full_stack: tolerate FP rounding errors 2015-06-27 23:52:20 +02:00
Sebastien Bourdeauducq c71fe29792 simplify unit system and use floats by default 2015-06-26 16:34:37 +02:00
Robert Jördens 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
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 26e737f61f style 2015-06-06 00:55:36 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq d73006652b test/worker: always close even if prepare() raises 2015-06-04 11:22:03 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 048782e26c test/scheduler: test flush 2015-05-29 20:16:47 +08:00
Sebastien Bourdeauducq 6ff2e1a083 test/scheduler: verify that a high priority timed experiment in the future is not run 2015-05-29 19:43:39 +08:00
Sebastien Bourdeauducq 737f6d4485 scheduler: support pipeline flush 2015-05-28 17:20:58 +08:00
Sebastien Bourdeauducq 0b05b54a87 test: add scheduler unittest 2015-05-27 19:25:50 +08:00
Sebastien Bourdeauducq f30d671359 test/worker: adapt to priority API 2015-05-24 23:38:05 +08:00
Sebastien Bourdeauducq 785623be26 test/worker: adapt to new scheduler API 2015-05-21 16:41:45 +08:00
Sebastien Bourdeauducq a62ae1d8d7 test/transforms: adapt to 'now' save on core device 2015-05-12 23:06:33 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 1684586ae8 test: add unittest for core device watchdog 2015-05-01 14:02:31 +08:00
Sebastien Bourdeauducq 283695e8aa language/core: integrate watchdogs 2015-04-28 23:23:59 +08:00
Sebastien Bourdeauducq dc14728264 test/full_stack: use Ethernet 2015-04-28 01:33:37 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq c98e08fe36 fix transforms unittest 2015-04-19 11:40:49 +08:00
Robert Jördens 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
Robert Jördens 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
Robert Jördens bc1acef355 test/pdq2: don't write vcd 2015-04-14 18:18:16 -06:00
Robert Jördens 75dfa95b4d wavesynth: move test code to unittests, fix mutability style 2015-04-05 04:24:44 -06:00
Robert Jördens 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
Robert Jördens 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
Robert Jördens 051b01f58e wavesynth: refactor testing code 2015-04-05 03:55:54 -06:00
Robert Jördens d1653589f9 pdq2: spelling fix 2015-04-04 14:26:32 -06:00
Robert Jördens 16ff190731 pdq2: cleanup unittest 2015-04-04 14:26:32 -06:00
Robert Jördens 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
Robert Jördens 05781699b8 pdq2: driver and unittest
* parses wavesynth style programs
* verified with cosimulated gateware
2015-03-21 00:29:00 -06:00
Sebastien Bourdeauducq f158711f7e test/worker: test watchdog in build() 2015-03-11 19:07:04 +01:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq e037b930d8 test: add worker unittest 2015-03-11 18:26:04 +01:00
Sebastien Bourdeauducq 407477bc5a test: add ARTIQ_NO_PERIPHERALS environment variable to disable tests requiring non-core devices 2015-03-08 11:40:50 +01:00
Sebastien Bourdeauducq 0f007cb1a7 language/db: remove implicit_core 2015-03-08 11:37:53 +01:00
Sebastien Bourdeauducq ac697e3248 test/thorlabs_tcube: fix default serial port 2015-03-08 11:37:24 +01:00
Sebastien Bourdeauducq 9fad01d967 test/thorlabs_tcube: fix test discovery and style 2015-03-04 23:53:49 +00:00