whitequark
86dea869b3
compiler.types: add missing TTuple.__hash__ implementation.
2017-03-03 03:27:49 +00:00
whitequark
7e886ddc89
transforms.inferencer: do not unnecessarily mutate typedtree.
...
This caused the hash to change after every iteration of inference,
if the result of any coercion was an integer of indefinite width.
2017-03-02 16:15:37 +00:00
whitequark
8c9f157563
compiler.embedding: fix an overly lax hasher.
2017-03-02 15:28:24 +00:00
whitequark
a79c3c2cff
compiler.transforms: implement a typedtree printer.
2017-03-02 15:28:04 +00:00
d2f2415b50
analyzer: use CRI and connect at RTIO core
...
This causes DMA events to be included in analyzer traces.
2017-03-02 18:47:56 +08:00
0b4922e0f4
dma: request RTIO control
2017-03-01 18:59:45 +08:00
553b8046ff
examples: add DMA LED blinker
2017-03-01 18:37:58 +08:00
whitequark
a4ece19614
Implement DMA playback.
2017-02-28 21:28:40 +00:00
whitequark
4107938fd8
compiler.embedding: use attribute count in fixpoint condition.
...
Before this commit, we had a hack where inferencing would run
one more time, in case we can still infer more attributes even
after all the type information is there. This doesn't work
if *that* round of inferencing brings even more code, e.g.
this is easy to trigger with context managers.
2017-02-28 21:28:40 +00:00
whitequark
252cda6e7f
compiler.llvm_ir_generator: fix string quoting.
2017-02-28 21:28:38 +00:00
3f556a3f58
doc: remove qt5 note
2017-02-28 13:22:47 +01:00
3c50c46a81
conda: pyqt >= 5.5
2017-02-28 13:22:39 +01:00
fca315235c
Merge branch 'use_default_pyqt' of https://github.com/cjbe/artiq
...
* 'use_default_pyqt' of https://github.com/cjbe/artiq :
conda: use anaconda default pyqt (fixes #670 )
2017-02-28 13:21:13 +01:00
3af29f7a59
monkey_patches: cleanup
2017-02-28 13:20:41 +01:00
056a5a7e4d
Merge branch 'py3.5.3_monkey-patch' of https://github.com/cjbe/artiq
...
* 'py3.5.3_monkey-patch' of https://github.com/cjbe/artiq :
monkey-patch Python 3.5.3 asyncio.base_events._ipaddr_info this fixes #506 for py3.5.3
2017-02-28 13:19:08 +01:00
00ed3909dd
monkey-patch Python 3.5.3 asyncio.base_events._ipaddr_info
...
this fixes #506 for py3.5.3
2017-02-28 10:49:19 +00:00
34421ee2f4
conda: use anaconda default pyqt ( fixes #670 )
2017-02-28 10:38:46 +00:00
9cfa3e704b
fix test_analyzer
2017-02-27 19:19:46 +08:00
3b386aa590
fix test_moninj import
2017-02-27 18:44:32 +08:00
7d6ebabc1b
reorganize core device communication code
2017-02-27 18:37:30 +08:00
e64d923a67
dashboard: fix moninj display refresh issues after mode changes
2017-02-27 17:56:45 +08:00
f402b4af3f
drtio: fix typo in example device_db
2017-02-27 17:51:55 +08:00
d16073fcaa
test: add moninj unittest
2017-02-27 15:56:58 +08:00
b8bfcd2d7e
moninj: share probe/override numbers and use Enum
2017-02-27 11:54:16 +08:00
fc0ce310a8
examples: fix dds_test RTIO underflow
2017-02-27 11:45:18 +08:00
26654e6a3a
moninj: Python-side fixes
2017-02-27 11:45:04 +08:00
7481eaff52
moninj: use smaller network buffer
2017-02-27 11:44:29 +08:00
whitequark
88bf7d2233
firmware: specialize protocol read/write functions.
...
Before this commit, proto::io::{read,write}_* functions were taking
a &mut {Read,Write}. This means a lot of virtual dispatch.
After this commit, all these functions are specialized for
the specific IO trait.
This could be achieved with just changing the signature from
fn read_x(reader: &mut Read)
to
fn read_x<R: Read>(reader: &mut R)
but the functions were also grouped into ReadExt and WriteExt
traits as a refactoring.
Initially, it was expected that the generic traits from
the byteorder crate could be used, but they require endianness
to be specified on every call and thus aren't very ergonomic.
They also lack the equivalent to our read_string and read_bytes.
Thus, it seems fine to just define a slightly different extension
trait.
This also optimized the test_rpc_timing test: 1.7ms→1.2ms.
2017-02-26 18:24:37 +00:00
whitequark
de015b994d
compiler: allow dumping the object file with ARTIQ_DUMP_OBJ.
2017-02-26 17:09:21 +00:00
dff23293c7
Merge branch 'master' of github.com:m-labs/artiq
2017-02-27 01:05:40 +08:00
96bf414257
dashboard: use new moninj protocol
2017-02-27 00:59:31 +08:00
990b8152f6
coredevice: add moninj protocol driver
2017-02-27 00:59:17 +08:00
whitequark
5d3b00cf12
Implement recording of DMA traces on the core device.
2017-02-26 02:50:20 +00:00
whitequark
3a1f14c16c
compiler: fix overly strict constness analysis.
...
Before this commit, the following code would fail to compile...
obj.foo.bar = True
... if foo is marked kernel_invariant in obj, even if bar is not
marked as such in obj.foo.
2017-02-26 01:58:21 +00:00
whitequark
a07bd918f0
firmware: use Rust naming conventions for enum variants.
2017-02-25 22:34:11 +00:00
whitequark
2a81819eb0
firmware: restructure to avoid #[path = "..."] mod ...;
...
Such code is fragile, introduces mess in dependencies, and
inflates compile times.
2017-02-25 17:54:14 +00:00
whitequark
d04e611232
firmware, compiler: rename rpc functions to be more consistent.
2017-02-25 14:12:58 +00:00
e82ce3ea28
coredevice: ignore .dirty in version checks correctly
2017-02-25 20:05:05 +08:00
98be556143
drtioaux: fix compiler warnings
2017-02-25 12:18:57 +08:00
f017d1771f
gateware: remove unused configs in targets (not needed with new moninj)
2017-02-25 12:14:56 +08:00
5a16660aa2
runtime: new moninj protocol, TCP-based, with DRTIO support
2017-02-25 12:07:00 +08:00
1486a945d9
manual: update moninj network info
2017-02-25 12:06:35 +08:00
7d568b4bac
style
2017-02-25 12:06:12 +08:00
whitequark
13c6e96760
firmware: implement dyld::Library::rebind.
2017-02-25 00:10:40 +00:00
whitequark
04ad267055
firmware: rewrite the dynamic linker in Rust.
2017-02-24 18:57:29 +00:00
360be0098f
drtio: map local RTIO core on lower channels
2017-02-24 18:15:27 +08:00
whitequark
907589fb58
satman: simplify Makefile.
2017-02-23 10:29:25 +00:00
whitequark
623a605d3b
satman: refactor type conversions.
2017-02-23 08:59:27 +00:00
b34c6ba6b9
satman: process moninj packets
2017-02-23 16:24:05 +08:00
45ac0dcf57
drtioaux: add moninj packets
2017-02-23 16:23:51 +08:00