Robert Jördens
b0de9ee90a
coredevice: add RTIOBusy to __all__
2016-03-09 12:27:45 +01: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
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
Robert Jördens
2cb58592ff
rtio: add RTIOBusy
2016-03-08 18:04:34 +01:00
Sebastien Bourdeauducq
71105fd0d7
rtio: collision_error -> collision
2016-03-08 15:38:35 +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
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
2f1a2782d2
coredevice: add I2C, PCA9548, TCA6424A drivers
2016-03-05 00:17:41 +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
whitequark
6e44c5424d
coredevice.ttl: add missed int64 conversion.
2016-03-04 08:37:43 +00: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
Robert Jördens
9969cd85de
ad53xx: ldac may be none
2016-03-02 15:50:02 +01: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
0456169558
coredevice.spi, doc/manual: add spi
2016-03-01 21:29:09 +01:00
Robert Jördens
f30dc4b39e
runtime: rt2wb_input -> rtio_input_data
2016-03-01 19:22:42 +01:00
Robert Jördens
3aebbbdb61
coredevice.ttl: fix sensitivity
2016-03-01 18:22:03 +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
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
Sebastien Bourdeauducq
c7d48a1765
coredevice/TTLOut: add dummy output function
2016-03-01 19:03:10 +08: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
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
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
e11366869d
coredevice/spi: clean up api
2016-02-29 17:54:42 +01:00
Sebastien Bourdeauducq
a1e1f2b387
doc: insist that output() must be called on TTLInOut. Closes #297
2016-03-01 00:28:40 +08: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
c226aeb0d4
coredevice/spi: read_sync read bit
2016-02-29 14:55:29 +01:00
Robert Jördens
df7d15d1fe
runtime: refactor spi into rt2wb
2016-02-29 13:54:36 +01:00
Robert Jördens
8b2b278457
spi: add coredevice support
2016-02-29 00:44:48 +01:00
whitequark
cf41890255
Correctly display backtraces that contain inlined functions.
2016-02-24 17:44:19 +00:00
whitequark
950eaef08c
coredevice: re-export more exceptions.
2016-02-24 15:09:22 +00:00
whitequark
9db2be2b03
compiler: only use colors in diagnostics on POSIX ( fixes #272 ).
2016-02-22 11:27:45 +00:00
whitequark
a5977a5b62
Commit missing parts of 1465fe6f8
.
2016-02-15 21:42:51 +00: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
whitequark
7f9a180946
Fix typo.
2016-01-26 23:23:35 +00: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
Sebastien Bourdeauducq
dc709a77b8
PPP support (TCP broken)
2016-01-18 20:09:10 -07:00
whitequark
5c6b1517d0
Rigorously treat builtin core device exceptions.
2016-01-19 01:45:25 +00:00
whitequark
785b2736a0
Document core device cache ( #219 ).
2016-01-16 16:38:55 +00:00
whitequark
67d2e7a828
worker: display compile warnings and errors nicely ( #227 ).
2016-01-16 01:28:26 +00:00
Sebastien Bourdeauducq
a9cf89215b
coredevice/dds: use explicit 64-bit ints for ftw computations
2016-01-14 15:25:01 -07:00
whitequark
225f7d7302
Commit missing parts of 9366a29
.
2016-01-10 20:01:26 +00:00
whitequark
b669e83554
Inject parameters into coredevice exception message when mapping.
2016-01-10 18:06:28 +00:00
whitequark
4198601abb
coredevice.exceptions: add CacheError.
2016-01-10 14:43:30 +00:00
whitequark
f8e50f2b0c
Remove redundant ksupport API.
2016-01-10 14:27:46 +00: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
whitequark
03dd1c3a43
Refactor the logic of printing diagnostics to solely rely on Engine.
2016-01-04 22:11:54 +08:00
whitequark
38a99fde52
Implement selective attribute writeback using shadow memory.
2016-01-02 22:51:04 +08:00
whitequark
79d020dd3a
transforms.artiq_ir_generator: handle terminated try body.
2015-12-31 22:36:25 +08:00
whitequark
8aa34ee952
compiler: don't require exceptions to inherit ARTIQException.
2015-12-31 21:54:54 +08:00
whitequark
8fb6d4cdb4
coredevice.comm_generic: handle RPC default args correctly.
2015-12-29 02:54:34 +08:00
Sebastien Bourdeauducq
b5253e1353
coredevice/analyzer: decode log messages
2015-12-27 01:28:34 +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
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
Sebastien Bourdeauducq
cd8eccfd46
coredevice/analyzer: add rtio_slack channel
2015-12-25 00:40:47 +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
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
007a7170e1
analyzer: report DDS channel number
2015-12-21 18:37:53 +08:00
Sebastien Bourdeauducq
e87436fc03
coredevice/analyzer: remove zero-timestamp msg filtering (now unnecessary)
2015-12-21 11:15:58 +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
Sebastien Bourdeauducq
46f59b673f
coredevice: analyzer message decoding
2015-12-20 14:34:16 +08:00
whitequark
afee03b89c
Commit missing parts of 4fb1de33
.
2015-12-19 06:41:32 +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
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
Sebastien Bourdeauducq
eeb53c5aa5
coredevice/comm: compare software and gateware versions. Closes #97
2015-12-11 22:56:40 +08:00
whitequark
16ae0fb6eb
compiler.embedding: instantiate RPC method types ( fixes #180 ).
2015-11-27 16:29:13 +08:00
whitequark
e1cd2ccd40
compiler: pull in dependencies in more finely grained way ( fixes #181 ).
2015-11-24 17:32:04 +08:00
whitequark
bd5b324fc2
Merge branch 'master' into new-py2llvm
2015-10-13 19:24:45 +03:00
Sebastien Bourdeauducq
5f89d1a78f
doc: document core device driver. Closes #119
2015-10-06 18:12:57 +08:00
whitequark
7a6fc3983c
Make delay component of function type unifyable.
2015-09-30 18:41:14 +03:00
whitequark
3e1348a084
Merge branch 'master' of github.com:m-labs/artiq into new-py2llvm
2015-09-27 18:22:28 +03:00
Raghavendra Srinivas
b3831d3387
dds: support amplitude tuning on AD9914
...
Closes #108
2015-09-05 13:15:09 -06:00
Sebastien Bourdeauducq
6e5b71a43e
coredevice/comm_tcp: disable socket timeout after connect
...
Reads may block indefinitely.
2015-09-03 09:59:24 -06:00
whitequark
2df8b946f9
Factor out the code to pretty-print diagnostics.
2015-08-31 22:52:39 -06:00
whitequark
501ba912c2
Implement {delay,now,at}{,_mu} and {mu,seconds}_to_{seconds,mu}.
2015-08-31 09:59:33 -06:00
Sebastien Bourdeauducq
a36a50ba0d
comm_tcp: add connect timeout
2015-08-28 16:23:23 +08:00
whitequark
9605e8215f
coredevice.ttl: update for new int semantics.
2015-08-28 02:11:26 -05:00
whitequark
7c1abb25ec
compiler.embedding: test all diagnostics.
...
Also, unify and improve diagnostic messages.
2015-08-28 00:47:28 -05:00
whitequark
d80be482fc
Allow clearing core device log buffer.
...
This is useful to get a fresh environment, such as when
running tests that print to log buffer.
2015-08-28 00:37:46 -05:00
Sebastien Bourdeauducq
0fe0f4d433
dds: fix phase computation. Closes #79 .
2015-08-27 11:09:33 +08:00
Sebastien Bourdeauducq
1991b3c910
coredevice/TTLClockGen: fix attribute init
2015-08-27 09:48:11 +08:00
whitequark
9b9fa1ab7c
Allow embedding and RPC sending host objects.
2015-08-25 21:56:01 -07:00
whitequark
673512f356
coredevice.core: fix imports.
2015-08-19 12:37:31 -07:00
Sebastien Bourdeauducq
c625f2e7c9
ttl: minor docstring cleanup
2015-08-17 23:50:24 +08:00
Sebastien Bourdeauducq
c71d207e90
core/break_realtime: only increase now
2015-08-17 23:41:21 +08:00
Sebastien Bourdeauducq
dee844510c
comm_tcp: enable TCP keepalive on host side as well
2015-08-15 16:03:00 +08:00
Sebastien Bourdeauducq
f073dfaee5
ttl: add input/output doc
2015-08-13 12:20:12 +08:00
whitequark
62e6f8a03d
compiler.embedding.Stitcher: refactor.
2015-08-10 20:26:07 +03:00
whitequark
46476516ba
ARTIQException: tell linecache where to look for runtime sources.
...
Runtime sources can appear in the backtrace when
artiq_raise_from_c is used.
2015-08-10 20:26:07 +03:00
whitequark
c72267ecf5
Implement syscalls for the new compiler.
2015-08-10 20:26:06 +03:00
whitequark
75532d10aa
Display full core device backtraces.
2015-08-10 15:12:22 +03:00
whitequark
d4270cf66e
Implement receiving data from RPCs.
2015-08-09 20:17:00 +03:00
whitequark
02b1543c63
Implement receiving exceptions from RPCs.
2015-08-09 16:16:41 +03:00
whitequark
8b7d38d203
Add ARTIQ_DUMP_ASSEMBLY.
2015-08-09 15:47:29 +03:00
whitequark
b26af5df60
Implement sending RPCs.
2015-08-09 02:17:19 +03:00
whitequark
13ad9b5d08
Allow to dump ARTIQ/LLVM IR for stitched code.
2015-08-08 21:47:20 +03:00
Sebastien Bourdeauducq
671a3f1833
doc: precision about dds batch time
2015-08-08 23:05:00 +08:00
Sebastien Bourdeauducq
0a6fcd9fa0
Revert "comm_generic: cleanup"
...
This reverts commit be55487d2d
.
2015-08-08 21:24:23 +08:00
whitequark
27d2390fed
Add zero-cost exception support to runtime and host.
2015-08-08 16:01:31 +03:00
whitequark
ecdebc0b8a
session.c: refactor.
2015-08-08 13:21:43 +03:00
whitequark
d6ab567242
coredevice.comm_*: refactor.
2015-08-07 16:44:16 +03:00
Sebastien Bourdeauducq
be55487d2d
comm_generic: cleanup
2015-08-07 21:12:00 +08:00
whitequark
353f454a29
Add basic support for embedded functions with new compiler.
2015-08-07 11:44:49 +03:00
whitequark
b5cf1e395d
runtime: avoid race condition when running kernel.
...
Also, don't bother passing kernel name: entry point is already
recorded in DT_INIT when the kernel is linked.
2015-08-07 08:51:33 +03:00
whitequark
4a8e397a77
Fold llvmlite patches into m-labs/llvmlite repository.
2015-08-05 03:49:01 +03:00
whitequark
62fdc75d2d
Integrate libdyld and libunwind.
...
It is currently possible to run the idle experiment, and it
can raise and catch exceptions, but exceptions are not yet
propagated across RPC boundaries.
2015-08-02 15:43:03 +03:00
Sebastien Bourdeauducq
1d34c06d79
rtio: detect collision errors
2015-07-29 19:43:35 +08:00
Sebastien Bourdeauducq
90368415a6
ttl: remove timestamp function
...
The general idea is that functions that work with absolute timestamps exist only in machine units versions, to help prevent floating point losses of precision. Time differences should be computed in machine units and then converted, e.g. mu_to_seconds(t2-t1).
This function would have had problems after ~50 days of running the device.
2015-07-29 11:11:16 +08:00
Robert Jördens
5f5227f01f
ttl: add timestamp()
2015-07-28 16:20:05 -06:00
Robert Jördens
e95b66f114
ttl: remove spurious _mu
2015-07-28 16:20:05 -06:00
Sebastien Bourdeauducq
f836465585
coredevice: environment -> runtime
2015-07-15 11:20:41 +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
Sebastien Bourdeauducq
56fc7a484c
TTLInOut: timestamp -> timestamp_mu
2015-07-13 23:21:29 +02:00
Sebastien Bourdeauducq
32d141f5ac
refactor ddb/pdb/rdb
2015-07-13 22:21:32 +02:00
Sebastien Bourdeauducq
34aacd3c5f
complete AD9914 support (no programmable modulus, untested)
2015-07-08 17:22:43 +02:00