Hi there,
First time trying some of the new ARTIQ-8 features and am looking for help debugging. I'm trying to replicate the simple examples shown in the documentation but can't even do that.
I have a master/satellite setup with an SMA DIO on the satellite that I'm trying to toggle a TTL output on. The following simple experiment works:
class Test(EnvExperiment):
def build(self):
self.core = self.get_device("core")
self.ttl = self.get_device("ttl0")
@kernel
def run(self):
self.core.reset()
for _ in range(10):
self.ttl.pulse(100 * ms)
delay(100 * ms)
whereas the same setup within a subkernel fails:
class Test(EnvExperiment):
def build(self):
self.core = self.get_device("core")
self.ttl = self.get_device("ttl0")
@kernel
def run(self):
self.core.reset()
delay(10*ms)
self.pulse_ttl()
@subkernel(destination=1)
def pulse_ttl(self) -> TNone:
for _ in range(100):
self.ttl.pulse(100 * ms)
delay(100 * ms)
The satellite UART output seems to suggest something is running but I don't get any TTL output:
[ 672.718310s] INFO(ksupport::kernel::core1): kernel starting
[ 672.724102s] INFO(ksupport::kernel::core1): kernel finished
[ 672.729676s] INFO(satman::subkernel): subkernel 2 finished, with exception: false
Also, the satellite seems to not respond to any other RTIO events after running the subkernels. I know the documentation states this to be the case for a running subkernel, but shouldn't I be able to run standard non-subkernel experiments once it has finished? I seem to need to reset the board each time.