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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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: