--- format:markdown ... # Help on module gte\_control: ## MODULES * matplotlib.pyplot * numpy * os * rigol * time * urllib2 ## DATA * home - folder where file is executing * noscp = False * IP = "http://192.168.254.2/" - ip adress of quido eth * osc\_ip = '192.168.254.10' - ip adress of osciloscope * sc = 1 - relay for shortcutting the condenser, defualt is shortcutted * ch = 2 - relay for charging the condenser * trig = 6 - relay for simulating trigger * cur\_stab = 7 - relay for switching curent stability, defualt is no stabilization, currently unused * dch = 8 - relay for conecting condenser to discharging circuits * u\_coil = 1 - osciloscope channel with coil voltage ## FUNCTIONS * add_num(num, name='counter.txt') Adds 1 to num ands saves as shot number into counter file. Input: num -- int, number of previous shot name = counter.txt -- string, name of file containign counter * charge(wait=2, url='http://192.168.254.2/', shortcut=1, charging=2) Charges condenser. Input: wait = 2 -- duration of charging in seconds url = IP -- ip adress of I/O module shortcut = sc -- number of relay switching shortcutting charging = ch -- number of relay switching charging * close_all(url='http://192.168.254.2/') Switches all relays to defaul position, called 'off'. Input: url = IP -- ip adress of I/O module * discharge(wait=0.5, stab=False, url='http://192.168.254.2/', disch=8, cstab=7, delay=0.1) Discharges condenser. Input: wait = 0.5 -- delay between opening discharging relay and shortcutting condenser stab_i = False -- toggles current stabilisation url = IP -- ip adress of I/O module disch = dch -- number of relay switching discharging thyr = th --number of relay switching thyristor * get_num(name='counter.txt') Loads shot number from file. Input: name = counter.txt -- string, name of file containign counter * input_read(num, url='http://192.168.254.2/') Gets input messured on I/O module's input numbered num Input: num -- number of input url = IP -- ip adress of I/O module Output: val -- int, 1 or 0 representing logical values on or off * make_graphs(graphs, save=False) Draws graphs from osciloskope data on selected channels specified in input graphs Input: graphs -- numbers of channels to plot save -- enables saving of ploted figures * shot(wait=0.1, chwait=2, dchwait=0.5, url='http://192.168.254.2/', stab_i=False, cstab=7, graphs=[], save=False, noscope=False) Executes Golem tokamak like shot: charges and discharges condenser. Input: wait = 0.1 -- delay between charge and discharge in seconds chwait = 2 -- duration of charging in seconds dchwait = 0.5 -- duration of discharge in seconds url = IP -- ip adress of I/O module stab_i = False -- toggles current stabilisation cstab = cur_stab -- number of relay switching current stabilisation on graphs = [] -- numbers of channels on osciloscope to be ploted save = False -- enables saving graphs to file noscope = False -- disables osciloscope Output: none or graphs * switch_off(num, url='http://192.168.254.2/') Switches off relay numbered num. Input: num -- number of relay to be switched url = IP -- ip adress of I/O module * switch_on(num, url='http://192.168.254.2/') Switches on relay numbered num. Input: num -- number of relay to be switched url = IP -- ip adress of I/O module # Help on module Rigol: ## MODULES * class DS1054Z from module ds1054z ## FUNCTIONS * prepare_osc(scope): Sets osciloscope to single mode. Meaning it will wait for trigger. Input: scope -- DS1054Z class - osciloscope python object * get_data(scope, channel): Loads data from time axis and values from given oscliloscope channel. Input: scope -- DS1054Z class - osciloscope python object channel -- number of channel to read data from * save_screen(scope, name = 'oscope.bmp',folder = 'screenshots'): Saves osciloscope screen as a name.bmp file into folder Input: scope -- DS1054Z class - osciloscope python object name = oscope.bmp -- name of screenshot folder = screenshots -- name of folder for screenshot saving