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