Commit b0dd14c3 authored by Nicolas Nunez Barreto's avatar Nicolas Nunez Barreto

pruebas para comp microm

parent 01535900
...@@ -212,15 +212,22 @@ class MicromotionCompensation(EnvExperiment): ...@@ -212,15 +212,22 @@ class MicromotionCompensation(EnvExperiment):
self.enfriar_ion() self.enfriar_ion()
for runN in range(self.no_measures): for runN in range(self.no_measures):
if runN % 50 == 0: #if runN % 50 == 0:
at_mu(self.core.get_rtio_counter_mu() + self.core.seconds_to_mu(self.t_cool) ) # at_mu(self.core.get_rtio_counter_mu() + self.core.seconds_to_mu(self.t_cool) )
else: #else:
at_mu(self.core.get_rtio_counter_mu() + self.core.seconds_to_mu(100*us) ) # at_mu(self.core.get_rtio_counter_mu() + self.core.seconds_to_mu(100*us) )
self.prep_DS() #at_mu(self.core.get_rtio_counter_mu())
t_end = self.medicion_y_lectura() self.core.break_realtime()
self.save_counts(t_end) self.pmt.gate_rising(self.t_readout)
#self.save_counts(now_mu())
countrf = self.pmt.timestamp_mu(now_mu())
t0 = now_mu() - self.core.seconds_to_mu(self.t_readout)
while countrf > 0:
self.append_to_dataset("countsrf", self.core.mu_to_seconds(countrf - t0) )
countrf = self.pmt.timestamp_mu(now_mu())
#self.mutate_dataset("counts", runN, counts) #self.mutate_dataset("counts", runN, counts)
#self.cleanup() #self.cleanup()
self.core.break_realtime() self.core.break_realtime()
self.enfriar_ion() self.enfriar_ion()
......
...@@ -234,16 +234,16 @@ class CRB(EnvExperiment): ...@@ -234,16 +234,16 @@ class CRB(EnvExperiment):
self.laserUV.on() self.laserUV.on()
self.laserIR2shift.on() self.laserIR2shift.on()
#self.core.break_realtime()
#delay(1*ms)
#self.laserUV.set_frequency(self.UV_final_freq, self.UV_final_amp, profile=0) @kernel
#self.core.break_realtime() def save_counts(self, t_end):
#delay(1*ms) count = self.pmt.timestamp_mu(t_end)
#self.laserIR1.set_frequency(self.IR1_final_freq, self.IR1_final_amp, profile=0) t0 = t_end - self.core.seconds_to_mu(self.t_readout)
#self.core.break_realtime() while count > 0:
#delay(1*ms) self.append_to_dataset("counts", self.core.mu_to_seconds(count - t0) )
#self.laserIR2.set_frequency(self.IR2_final_freq, self.IR2_final_amp, profile=0) count = self.pmt.timestamp_mu(t_end)
@kernel @kernel
...@@ -403,15 +403,6 @@ class CRB(EnvExperiment): ...@@ -403,15 +403,6 @@ class CRB(EnvExperiment):
return now_mu() return now_mu()
@kernel
def save_counts(self, t_end):
count = self.pmt.timestamp_mu(t_end)
t0 = t_end - self.core.seconds_to_mu(self.t_readout)
while count > 0:
self.append_to_dataset("counts", self.core.mu_to_seconds(count - t0) )
count = self.pmt.timestamp_mu(t_end)
@kernel @kernel
def readout(self): def readout(self):
"""NO SE USA ESTA FUNCION - Registro cuentas emitidas con el laser IR prendido""" """NO SE USA ESTA FUNCION - Registro cuentas emitidas con el laser IR prendido"""
......
from artiq.experiment import *
class PulseTiming(EnvExperiment):
"""
Prueba de time stamping bien hecho
"""
def build(self):
self.setattr_device("core") # Núcleo de ARTIQ
self.ttl0 = self.get_device("ttl0") # Canal TTL de entrada
@rpc
def create_datasets(self):
self.set_dataset("counts", [], broadcast=True, archive=True)
@kernel
def run(self):
self.core.reset()
self.ttl0.input() # Configura ttl0 como entrada
delay(1*ms) # Espera un momento antes de la adquisición
start_time = now_mu()
end_time = start_time + self.core.seconds_to_mu(1e-3) # 1 ms en MU
timestamps = []
while now_mu() < end_time:
if self.ttl0.timestamp_mu(now_mu() + self.core.seconds_to_mu(1e-3)): # Espera un pulso
self.append_to_dataset("counts", self.ttl0.timestamp_mu()) # Guarda la marca de tiempo
# Convierte las marcas de tiempo a segundos (si lo necesitas)
#timestamps_sec = [self.core.mu_to_seconds(t) for t in timestamps]
# Puedes imprimir o procesar los datos como quieras
#print("Tiempos de llegada (s):", timestamps_sec)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment