Commit Graph

5116 Commits

Author SHA1 Message Date
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
016743f079 libdrtioaux: do not attempt to access non-existent DRTIO gateware 2017-02-22 16:45:02 +08:00
257527629a firmware: use aux ping to determine when DRTIO satellite is ready 2017-02-22 15:26:32 +08:00
a8ea557406 firmware: add DRTIO aux packet library (WIP) 2017-02-21 21:55:36 +08:00
b455ea447d gateware: add moninj to drtio targets 2017-02-21 21:54:47 +08:00
whitequark
a12876b239 firmware: update Cargo.lock. 2017-02-21 05:28:48 +00:00