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):
self.enfriar_ion()
for runN in range(self.no_measures):
if runN % 50 == 0:
at_mu(self.core.get_rtio_counter_mu() + self.core.seconds_to_mu(self.t_cool) )
else:
at_mu(self.core.get_rtio_counter_mu() + self.core.seconds_to_mu(100*us) )
self.prep_DS()
t_end = self.medicion_y_lectura()
self.save_counts(t_end)
#if runN % 50 == 0:
# at_mu(self.core.get_rtio_counter_mu() + self.core.seconds_to_mu(self.t_cool) )
#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.break_realtime()
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.cleanup()
self.core.break_realtime()
self.enfriar_ion()
......
......@@ -234,16 +234,16 @@ class CRB(EnvExperiment):
self.laserUV.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)
#self.core.break_realtime()
#delay(1*ms)
#self.laserIR1.set_frequency(self.IR1_final_freq, self.IR1_final_amp, profile=0)
#self.core.break_realtime()
#delay(1*ms)
#self.laserIR2.set_frequency(self.IR2_final_freq, self.IR2_final_amp, profile=0)
@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
......@@ -403,15 +403,6 @@ class CRB(EnvExperiment):
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
def readout(self):
"""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