Commit b59f48a1 authored by Lucas Giardino's avatar Lucas Giardino

agrego amplitud por canal y attn global

parent a989f9a9
...@@ -9,6 +9,10 @@ class Set_All_Urukul_Freqs(EnvExperiment): ...@@ -9,6 +9,10 @@ class Set_All_Urukul_Freqs(EnvExperiment):
# sets core device drivers as attributes # sets core device drivers as attributes
self.setattr_device("core") self.setattr_device("core")
# global attenuation
self.setattr_argument("attenuation",
NumberValue(0*dB, unit='dB', scale=dB, min=0*dB, max=31*dB),
)
for ch in range(4): for ch in range(4):
# sets urukul0, channel 0-3 device drivers as attributes # sets urukul0, channel 0-3 device drivers as attributes
self.setattr_device(f"urukul0_ch{ch}") self.setattr_device(f"urukul0_ch{ch}")
...@@ -20,18 +24,26 @@ class Set_All_Urukul_Freqs(EnvExperiment): ...@@ -20,18 +24,26 @@ class Set_All_Urukul_Freqs(EnvExperiment):
self.setattr_argument(f"freq_ch{ch}", self.setattr_argument(f"freq_ch{ch}",
NumberValue(200.0*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz), NumberValue(200.0*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
f"canal_{ch}") f"canal_{ch}")
# each channel's amplitude
self.setattr_argument(f"amp_ch{ch}",
NumberValue(1., min=0., max=1.),
f"canal_{ch}")
self.all_channels = [self.urukul0_ch0, self.urukul0_ch1, self.urukul0_ch2, self.urukul0_ch3] self.all_amps = [self.amp_ch0, self.amp_ch1, self.amp_ch2, self.amp_ch3]
self.states = [self.state_ch0, self.state_ch1, self.state_ch2, self.state_ch3]
self.all_freqs = [self.freq_ch0, self.freq_ch1, self.freq_ch2, self.freq_ch3] self.all_freqs = [self.freq_ch0, self.freq_ch1, self.freq_ch2, self.freq_ch3]
self.states = [self.state_ch0, self.state_ch1, self.state_ch2, self.state_ch3]
self.all_channels = [self.urukul0_ch0, self.urukul0_ch1, self.urukul0_ch2, self.urukul0_ch3]
self.use_amps = []
self.use_freqs = [] self.use_freqs = []
self.use_channels = [] self.use_channels = []
for state, ch_n, freq_n in zip(self.states, self.all_channels, self.all_freqs): for state, ch_n, freq_n, amp_n in zip(self.states, self.all_channels,
self.all_freqs, self.all_amps):
if state: if state:
self.use_channels.append(ch_n) self.use_channels.append(ch_n)
self.use_freqs.append(freq_n) self.use_freqs.append(freq_n)
self.use_amps.append(amp_n)
@kernel @kernel
...@@ -42,19 +54,15 @@ class Set_All_Urukul_Freqs(EnvExperiment): ...@@ -42,19 +54,15 @@ class Set_All_Urukul_Freqs(EnvExperiment):
channel.cpld.init() channel.cpld.init()
channel.init() channel.init()
# defines global amplitude, for all channels
amp = 1.0
# defines attenuation variable from 0 (no attenuation) to max val (check) -31,5dB
attenuation= 3.0*dB
delay(10 * ms) delay(10 * ms)
# attenuation and frecuency to all channels
for i in range(len(self.use_channels)): for i in range(len(self.use_channels)):
#zip(self.use_channels, self.use_freqs): # writes global attenuation and specific
self.use_channels[i].set_att(attenuation) # frequency and amplitude variables to each
# writes frequency and amplitude variables to urukul channel thus outputting function # urukul channel outputting function
self.use_channels[i].set(self.use_freqs[i], amplitude = amp) self.use_channels[i].set_att(self.attenuation)
self.use_channels[i].set_amplitude(self.use_amps[i])
self.use_channels[i].set(self.use_freqs[i])
# turn on every selected channel # turn on every selected channel
for i in range(4): for i in range(4):
......
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