Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: m-labs/artiq
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: c9d8fd837e67
Choose a base ref
...
head repository: m-labs/artiq
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 3af54f5ffc6b
Choose a head ref
  • 2 commits
  • 4 files changed
  • 1 contributor

Commits on Sep 1, 2015

  1. Copy the full SHA
    995245b View commit details
  2. test.coredevice.rtio: simplify.

    whitequark committed Sep 1, 2015
    Copy the full SHA
    3af54f5 View commit details
Showing with 14 additions and 54 deletions.
  1. +1 −6 artiq/compiler/embedding.py
  2. +1 −1 artiq/test/coredevice/embedding.py
  3. +12 −33 artiq/test/coredevice/rtio.py
  4. +0 −14 lit-test/test/embedding/error_rpc_return.py
7 changes: 1 addition & 6 deletions artiq/compiler/embedding.py
Original file line number Diff line number Diff line change
@@ -595,12 +595,7 @@ def _quote_foreign_function(self, function, loc, syscall):
ret_type = self._extract_annot(function, signature.return_annotation,
"return type", loc, is_syscall=syscall is not None)
elif syscall is None:
diag = diagnostic.Diagnostic("error",
"function must have a return type annotation to be called remotely", {},
self._function_loc(function),
notes=self._call_site_note(loc, is_syscall=False))
self.engine.process(diag)
ret_type = types.TVar()
ret_type = builtins.TNone()
else: # syscall is not None
diag = diagnostic.Diagnostic("error",
"system call must have a return type annotation", {},
2 changes: 1 addition & 1 deletion artiq/test/coredevice/embedding.py
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ def roundtrip(self, obj, fn):
class RoundtripTest(ExperimentCase):
def assertRoundtrip(self, obj):
exp = self.create(Roundtrip)
def callback(objcopy) -> TNone:
def callback(objcopy):
self.assertEqual(obj, objcopy)
exp.roundtrip(obj, callback)

45 changes: 12 additions & 33 deletions artiq/test/coredevice/rtio.py
Original file line number Diff line number Diff line change
@@ -10,9 +10,6 @@ def build(self):
self.attr_device("core")
self.attr_device("ttl_inout")

def set_rtt(self, rtt):
self.set_result("rtt", rtt)

@kernel
def run(self):
self.ttl_inout.output()
@@ -25,7 +22,7 @@ def run(self):
delay(1*us)
t0 = now_mu()
self.ttl_inout.pulse(1*us)
self.set_rtt(mu_to_seconds(self.ttl_inout.timestamp_mu() - t0))
self.set_result("rtt", mu_to_seconds(self.ttl_inout.timestamp_mu() - t0))


class Loopback(EnvExperiment):
@@ -34,9 +31,6 @@ def build(self):
self.attr_device("loop_in")
self.attr_device("loop_out")

def set_rtt(self, rtt):
self.set_result("rtt", rtt)

@kernel
def run(self):
self.loop_in.input()
@@ -47,7 +41,7 @@ def run(self):
delay(1*us)
t0 = now_mu()
self.loop_out.pulse(1*us)
self.set_rtt(mu_to_seconds(self.loop_in.timestamp_mu() - t0))
self.set_result("rtt", mu_to_seconds(self.loop_in.timestamp_mu() - t0))


class ClockGeneratorLoopback(EnvExperiment):
@@ -56,9 +50,6 @@ def build(self):
self.attr_device("loop_clock_in")
self.attr_device("loop_clock_out")

def set_count(self, count):
self.set_result("count", count)

@kernel
def run(self):
self.loop_clock_in.input()
@@ -69,17 +60,14 @@ def run(self):
with sequential:
delay(200*ns)
self.loop_clock_out.set(1*MHz)
self.set_count(self.loop_clock_in.count())
self.set_result("count", self.loop_clock_in.count())


class PulseRate(EnvExperiment):
def build(self):
self.attr_device("core")
self.attr_device("loop_out")

def set_pulse_rate(self, pulse_rate):
self.set_result("pulse_rate", pulse_rate)

@kernel
def run(self):
dt = seconds_to_mu(1000*ns)
@@ -92,7 +80,7 @@ def run(self):
dt += 1
self.core.break_realtime()
else:
self.set_pulse_rate(mu_to_seconds(2*dt))
self.set_result("pulse_rate", mu_to_seconds(2*dt))
break


@@ -113,9 +101,6 @@ def build(self):
self.attr_device("ttl_inout")
self.attr_argument("npulses")

def set_count(self, count):
self.set_result("count", count)

@kernel
def run(self):
self.ttl_inout.output()
@@ -126,7 +111,7 @@ def run(self):
for i in range(self.npulses):
delay(25*ns)
self.ttl_inout.pulse(25*ns)
self.set_count(self.ttl_inout.count())
self.set_result("count", self.ttl_inout.count())


class Underflow(EnvExperiment):
@@ -158,28 +143,22 @@ class TimeKeepsRunning(EnvExperiment):
def build(self):
self.attr_device("core")

def set_time_at_start(self, time_at_start) -> TNone:
self.set_result("time_at_start", time_at_start)

@kernel
def run(self):
self.set_time_at_start(now_mu())
self.set_result("time_at_start", now_mu())


class Handover(EnvExperiment):
def build(self):
self.attr_device("core")

@kernel
def get_now(self):
self.time_at_start = now_mu()
def get_now(self, var):
self.set_result(var, now_mu())

def run(self):
self.time_at_start = int(0, width=64)
self.get_now()
self.set_result("t1", self.time_at_start)
self.get_now()
self.set_result("t2", self.time_at_start)
self.get_now("t1")
self.get_now("t2")


class CoredeviceTest(ExperimentCase):
@@ -248,14 +227,14 @@ def build(self):
self.attr_device("core")
self.attr_argument("repeats", FreeValue(100))

def nop(self, x) -> TNone:
def nop(self):
pass

@kernel
def bench(self):
for i in range(self.repeats):
t1 = self.core.get_rtio_counter_mu()
self.nop(1)
self.nop()
t2 = self.core.get_rtio_counter_mu()
self.ts[i] = mu_to_seconds(t2 - t1)

14 changes: 0 additions & 14 deletions lit-test/test/embedding/error_rpc_return.py

This file was deleted.