Example #1
0
    def __init__(self, target_state=None):
        self.controller_name = "TipNet"
        IO.connect()
        self.scan_bias_voltage = -3.5

        self.improver = ImprovementController(person_name=self.controller_name)
        self.improver.saveloc = "/home/mltest1/tmp/pycharm_project_510/Data/ImprovementSessions2/"
        self.improver.reset(destroy_tip=False)

        self.observation_space = spaces.Box(low=0,
                                            high=1,
                                            shape=(17, ),
                                            dtype=np.float32)
        self.action_space = spaces.Discrete(24)

        self.target_state = target_state
Example #2
0
def view_channel_properties(channel_name):
    # TODO: Rewrite!
    def read_prop(obj, prop):
        out = getattr(obj, prop)()
        print(prop + ':', out)

    channel_props = ['Enable']
    clock_props = ['Enable', 'Period', 'Samples']
    experiment_props = [
        'Bricklet_Written', 'Name', 'Result_File_Name', 'Result_File_Path',
        'State'
    ]
    gap_voltage_control_props = ['Preamp_Range', 'Voltage']
    regulator_props = [
        'Enable_Z_Offset_Slew_Rate', 'Feedback_Loop_Enabled', 'Loop_Gain_1_I',
        'Loop_Gain_2_I', 'Preamp_Range_1', 'Preamp_Range_2', 'Setpoint_1',
        'Setpoint_2', 'Z_Offset', 'Z_Offset_Slew_Rate', 'Z_Out'
    ]
    view_props = ['Cycle_Count', 'Data_Size', 'Deliver_Data', 'Run_Count']
    xy_scanner_props = [
        'Angle', 'Area', 'Enable_Drift_Compensation', 'Lines', 'Offset',
        'Plane_X_Slope', 'Plane_Y_Slope', 'Points', 'Raster_Time',
        'Return_To_Stored_Position', 'Store_Current_Position',
        'Target_Position', 'Trigger_Execute_At_Target_Position',
        'XY_Position_Report', 'X_Drift', 'X_Retrace', 'X_Retrace_Trigger',
        'X_Trace_Trigger', 'Y_Drift', 'Y_Retrace', 'Y_Retrace_Trigger',
        'Y_Trace_Trigger'
    ]

    obj_names = [
        'channel', 'clock', 'experiment', 'gap_voltage_control', 'regulator',
        'view', 'xy_scanner', 'spectroscopy'
    ]
    IO.connect()
    IO.enable_channel(channel_name)
    for obj_name in obj_names:
        obj = getattr(mo, obj_name)
        print()
        print('Object ' + obj_name + ':')
        print('--------------------------------------------------------------')
        for prop in eval(obj_name + '_props'):
            read_prop(obj, prop)

    mo.mate.disconnect()
Example #3
0
    # Pretty the output to make physical sense
    xydata = np.flip(xydata, axis=2)
    if len(x_direction_strings) != 2:
        xydata = xydata[:, 0, :, :]
    if len(y_direction_strings) != 2:
        xydata = xydata[0, :, :, :]
    np.squeeze(xydata)

    # Return nicely
    if return_filename:
        filename = f"{mo.experiment.Result_File_Path()}\\{mo.experiment.Result_File_Name()}--{mo.view.Run_Count()}_{mo.view.Cycle_Count()}.Z_mtrx"
        return xydata, filename
    else:
        return xydata


if __name__ == "__main__":
    IO.connect()
    set_points_lines(128)
    xydata1 = get_xy_scan(channel_name="Z",
                          x_direction="Forward",
                          y_direction="Up",
                          num_lines=1)

    plot_xy(xydata1,
            view_count,
            pixel_scale=mo.xy_scanner.Width() * 1e9 / mo.xy_scanner.Points())

    mo.experiment.Result_File_Name()