コード例 #1
0
def test_function_generator_DAC_7():
    clear_DAC_waveform()
    everything = []
    f = 1.0e6
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 1.0)
    for i in range(31):
        everything.extend(waveform)
    althea.write_data_to_pollable_memory_on_half_duplex_bus(0, everything)
コード例 #2
0
def test_function_generator_DAC_3():
    clear_DAC_waveform()
    everything = []
    f = 1.0e6
    waveform = prepare_PMT_waveform_for_upload_to_DAC(f, 1.0e-9, 2.0e-9, 1.0,
                                                      0.0)
    everything.extend(waveform)
    althea.write_data_to_pollable_memory_on_half_duplex_bus(0, everything)
コード例 #3
0
def test_function_generator_DAC_2():
    clear_DAC_waveform()
    everything = []
    f = 1.0e8
    waveform = prepare_sawtooth_waveform_for_upload_to_DAC(f, 1.00, 0.0, 35.0)
    everything.extend(waveform)
    everything = fill_up_the_rest_with(
        everything, prepare_DC_waveform_for_upload_to_DAC(f, 0.0))
    althea.write_data_to_pollable_memory_on_half_duplex_bus(0, everything)
コード例 #4
0
def write_csv_DAC_values_to_pollable_memory_on_half_duplex_bus_and_verify(
        length, offset, scaling, input_filename, date_string, DAC_offset,
        DAC_amplitude):
    waveform = generate_DAC_waveform_from_csv_values(length, scaling,
                                                     input_filename,
                                                     date_string, DAC_offset,
                                                     DAC_amplitude)
    offset = offset // 2
    althea.write_data_to_pollable_memory_on_half_duplex_bus(offset, waveform)
コード例 #5
0
def test_function_generator_DAC_1():
    clear_DAC_waveform()
    #sys.exit(0)
    everything = []
    f = 1.0e6
    waveform = prepare_sine_waveform_for_upload_to_DAC(f, 0.5, 0.5)
    everything.extend(waveform)
    everything.extend(waveform)
    waveform = prepare_pulse_waveform_for_upload_to_DAC(
        f, 0.875, 0.125, 1.0e-9)
    everything.extend(waveform)
    everything.extend(waveform)
    waveform = prepare_sawtooth_waveform_for_upload_to_DAC(
        f, 0.4375, 0.5625, 25.0)
    everything.extend(waveform)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.4)
    everything.extend(waveform)
    everything.extend(waveform)
    waveform = prepare_square_waveform_for_upload_to_DAC(
        f, 0.3125, 0.125, 42.0)
    everything.extend(waveform)
    everything.extend(waveform)
    waveform = prepare_sine_waveform_for_upload_to_DAC(f, 0.25, 0.5)
    everything.extend(waveform)
    everything.extend(waveform)
    waveform = read_file_PMT_waveform_for_upload_to_DAC(f, 0.9, 0.1)
    everything.extend(waveform)
    everything.extend(waveform)
    waveform = prepare_RAMP_waveform_for_upload_to_DAC(f, 0.25, 0.75)
    everything.extend(waveform)
    everything.extend(waveform)
    everything.extend(waveform)
    everything.extend(waveform)
    everything.extend(waveform)
    everything.extend(waveform)
    everything.extend(waveform)
    everything.extend(waveform)
    everything.extend(waveform)
    everything.extend(waveform)
    waveform = prepare_RAMP_waveform_for_upload_to_DAC(f, 0.0, 1.00)
    everything.extend(waveform)
    everything.extend(waveform)
    #waveform = prepare_PMT_waveform_for_upload_to_DAC(f, 3.8e-9, 10e-9, 0.9, 0.1)
    waveform = prepare_PMT_waveform_for_upload_to_DAC(f, 30.0e-9, 80.0e-9, 0.9,
                                                      0.1)
    everything.extend(waveform)
    everything.extend(waveform)
    #print("len(everything) = " + str(len(everything)))
    #waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.6)
    #everything = fill_up_the_rest_with(everything, waveform)
    althea.write_data_to_pollable_memory_on_half_duplex_bus(0, everything)
コード例 #6
0
def test_function_generator_DAC_4():
    #clear_DAC_waveform()
    everything = []
    f = 1.0e6
    #offset = 0.435 # 0.44 causes it to lase constantly
    offset = 27 / 64  # 28/64 causes it to lase constantly
    #amplitude = 1.0 - offset
    amplitude = 6 / 64  # can see a definite pulse at the end of a fiber at 2/64, but 1/64 looks like nothing; 6/64 has a S:N of 1:1
    duration = 1.0e-9
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, offset)
    everything.extend(waveform)
    waveform = prepare_pulse_waveform_for_upload_to_DAC(
        f, amplitude, offset, duration)
    everything.extend(waveform)
    althea.write_data_to_pollable_memory_on_half_duplex_bus(0, everything)
コード例 #7
0
def test_function_generator_DAC_11():
    #clear_DAC_waveform(False)
    everything = []
    DC_level = 0.5
    peak_level = 1.0
    delay = 1.0e-6
    ramp_rise_time = 1.0e-6
    #	waveform = prepare_DC_waveform_for_upload_to_DAC(1.0/delay, DC_level)
    #	everything.extend(waveform)
    waveform = prepare_RAMP_waveform_for_upload_to_DAC(1.0 / ramp_rise_time,
                                                       DC_level, peak_level)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(1.0 / delay, DC_level)
    everything.extend(waveform)
    althea.write_data_to_pollable_memory_on_half_duplex_bus(
        0, everything, False)
コード例 #8
0
def test_function_generator_DAC_5():
    clear_DAC_waveform()
    #sys.exit(0)
    everything = []
    f = 42.5e6
    samples = sampling_frequency / f
    N = 5 * int(2.0**12 / samples)
    offset = 0.625 / 1.65
    amplitude = 1.0 - offset
    waveform1 = prepare_sawtooth_waveform_for_upload_to_DAC(
        f, offset, amplitude, 25.0)
    waveform2 = prepare_DC_waveform_for_upload_to_DAC(f, offset)
    for i in range(N):
        everything.extend(waveform1)
        everything.extend(waveform2)
    althea.write_data_to_pollable_memory_on_half_duplex_bus(0, everything)
コード例 #9
0
def test_function_generator_DAC_12():
    #clear_DAC_waveform()
    everything = []
    f = 7.5e6
    DC_level = 0.5
    peak_level = 1.0
    delay = 1.0e-7
    waveform = prepare_DC_waveform_for_upload_to_DAC(1.0 / delay, DC_level)
    everything.extend(waveform)
    #waveform = prepare_sawtooth_waveform_for_upload_to_DAC(f, peak_level, DC_level, 35.0)
    waveform = prepare_DC_waveform_for_upload_to_DAC(1.0 / delay, peak_level)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(1.0 / delay, DC_level)
    everything.extend(waveform)
    for i in range(350):
        everything.extend(waveform)
    #everything = fill_up_the_rest_with(everything, prepare_DC_waveform_for_upload_to_DAC(f, 0.0))
    althea.write_data_to_pollable_memory_on_half_duplex_bus(0, everything)
コード例 #10
0
def test_function_generator_DAC_9(delay=1.0e-6):
    #clear_DAC_waveform(False)
    everything = []
    rising_edge = 1.0e-9
    falling_edge = 2.0e-9
    pulse_duration = rising_edge + falling_edge
    f = 1.0 / (delay + pulse_duration)
    #print(str(f))
    waveform = prepare_PMT_waveform_for_upload_to_DAC(f, rising_edge,
                                                      falling_edge, 1.0, 0.0)
    everything.extend(waveform)
    waveform = prepare_PMT_waveform_for_upload_to_DAC(f, rising_edge,
                                                      falling_edge, 1.0, 0.0)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    althea.write_data_to_pollable_memory_on_half_duplex_bus(
        0, everything, False)
コード例 #11
0
def test_function_generator_DAC_6():
    clear_DAC_waveform()
    everything = []
    f = 100.0e6
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.125)
    everything.extend(waveform)
    waveform = prepare_sawtooth_waveform_for_upload_to_DAC(
        f, 0.125, 0.875, 25.0)
    #	waveform = prepare_pulse_waveform_for_upload_to_DAC(f, 0.875, 0.125, 1.0e-9)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.125)
    everything.extend(waveform)
    waveform = prepare_sawtooth_waveform_for_upload_to_DAC(
        f, 0.125, 0.875, 25.0)
    everything.extend(waveform)
    #waveform = prepare_pulse_waveform_for_upload_to_DAC(f, 0.875, 0.125, 1.0e-9)
    #everything.extend(waveform)
    #waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.125)
    #everything.extend(waveform)
    althea.write_data_to_pollable_memory_on_half_duplex_bus(0, everything)
コード例 #12
0
def test_function_generator_DAC_8():
    clear_DAC_waveform()
    everything = []
    f = 1.0e6
    waveform = prepare_sawtooth_waveform_for_upload_to_DAC(f, 1.0, 0.0, 35.0)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_sawtooth_waveform_for_upload_to_DAC(f, 1.0, 0.0, 1.0)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_pulse_waveform_for_upload_to_DAC(f, 1.0, 0.0, 1.0e-6)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_RAMP_waveform_for_upload_to_DAC(f, 0.0, 1.0)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_RAMP_waveform_for_upload_to_DAC(f, 1.0, 0.0)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_sawtooth_waveform_for_upload_to_DAC(f, 1.0, 0.0, 35.0)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_sawtooth_waveform_for_upload_to_DAC(f, 1.0, 0.0, 1.0)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_pulse_waveform_for_upload_to_DAC(f, 1.0, 0.0, 1.0e-6)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_RAMP_waveform_for_upload_to_DAC(f, 0.0, 1.0)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_RAMP_waveform_for_upload_to_DAC(f, 1.0, 0.0)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_RAMP_waveform_for_upload_to_DAC(f, 1.0, 0.0)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_pulse_waveform_for_upload_to_DAC(f, 1.0, 0.0, 1.0e-6)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_RAMP_waveform_for_upload_to_DAC(f, 1.0, 0.0)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_pulse_waveform_for_upload_to_DAC(f, 1.0, 0.0, 1.0e-6)
    everything.extend(waveform)
    waveform = prepare_DC_waveform_for_upload_to_DAC(f, 0.0)
    everything.extend(waveform)
    waveform = prepare_pulse_waveform_for_upload_to_DAC(f, 1.0, 0.0, 1.0e-6)
    everything.extend(waveform)
    althea.write_data_to_pollable_memory_on_half_duplex_bus(0, everything)
コード例 #13
0
def clear_DAC_waveform(should_print=True):
    values = [0 for a in range(2**15)]
    althea.write_data_to_pollable_memory_on_half_duplex_bus(
        0, prepare_waveform_for_upload_to_DAC(values), should_print)
    values[24] = 0x00000000
    values[25] = 0x0103070f
    values[26] = 0x00000000
    values[27] = 0x1f3f7fff
    values[28] = 0x00000000
    #althea.write_data_to_pollable_memory_on_half_duplex_bus(0, values)
    althea.write_to_half_duplex_bus_and_then_verify(0, values)

if 0:
    #max_address_plus_one = 2**14
    max_address_plus_one = 8
    values = [0 for a in range(max_address_plus_one)]
    for i in range(max_address_plus_one):
        #values[i] = 0x01234567
        values[i] = 0x076543210
    althea.write_data_to_pollable_memory_on_half_duplex_bus(0, values)

if 0:
    althea.test_writing_data_to_half_duplex_bus2()

if 0:
    values = [0 for a in range(2**14)]
    althea.write_data_to_pollable_memory_on_half_duplex_bus(0, values)
    for i in range(9):
        time.sleep(0.1)
        althea.write_csv_values_to_pollable_memory_on_half_duplex_bus_and_verify(
            size, i * RF_buckets, max_count, "bcm.csv", date_string, i)

from function_generator_DAC import *

if 1: