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
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()
# 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()