From fbf60108a8a43b3401e345a0741df181330bd97d Mon Sep 17 00:00:00 2001 From: Robert Jordens Date: Fri, 28 Oct 2016 01:57:55 +0200 Subject: [PATCH 1/2] moninj.rs: force u32 dds_ftws --- artiq/runtime.rs/src/moninj.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/artiq/runtime.rs/src/moninj.rs b/artiq/runtime.rs/src/moninj.rs index 13c8ef4cd..4db0aca0f 100644 --- a/artiq/runtime.rs/src/moninj.rs +++ b/artiq/runtime.rs/src/moninj.rs @@ -18,7 +18,7 @@ fn worker(socket: &mut UdpSocket) -> io::Result<()> { match request { Request::Monitor => { - let mut dds_ftws = [0; (csr::CONFIG_RTIO_DDS_COUNT as usize * + let mut dds_ftws = [0u32; (csr::CONFIG_RTIO_DDS_COUNT as usize * csr::CONFIG_DDS_CHANNELS_PER_BUS as usize)]; let mut reply = Reply::default(); @@ -54,7 +54,7 @@ fn worker(socket: &mut UdpSocket) -> io::Result<()> { csr::rtio_moninj::mon_probe_sel_write(i as u8); csr::rtio_moninj::mon_value_update_write(1); dds_ftws[(csr::CONFIG_DDS_CHANNELS_PER_BUS * j + i) as usize] = - csr::rtio_moninj::mon_value_read(); + csr::rtio_moninj::mon_value_read() as u32; } } } From dab19d23cc54e2040dc196a67ff9c06be3dccfea Mon Sep 17 00:00:00 2001 From: Robert Jordens Date: Fri, 18 Nov 2016 17:08:33 +0100 Subject: [PATCH 2/2] runtime: support rtio data wider than 64 bit --- artiq/coredevice/rtio.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/artiq/coredevice/rtio.py b/artiq/coredevice/rtio.py index 2f564dc4b..3dec674df 100644 --- a/artiq/coredevice/rtio.py +++ b/artiq/coredevice/rtio.py @@ -1,5 +1,5 @@ from artiq.language.core import syscall -from artiq.language.types import TInt64, TInt32, TNone +from artiq.language.types import TInt64, TInt32, TNone, TList @syscall(flags={"nowrite"}) @@ -7,6 +7,12 @@ def rtio_output(time_mu: TInt64, channel: TInt32, addr: TInt32, data: TInt32) -> raise NotImplementedError("syscall not simulated") +@syscall(flags={"nowrite"}) +def rtio_output_list(time_mu: TInt64, channel: TInt32, addr: TInt32, + data: TList(TInt32)) -> TNone: + raise NotImplementedError("syscall not simulated") + + @syscall(flags={"nowrite"}) def rtio_input_timestamp(timeout_mu: TInt64, channel: TInt32) -> TInt64: raise NotImplementedError("syscall not simulated")