Skip to content
Snippets Groups Projects
Commit 736b318b authored by Alexandros Asonitis's avatar Alexandros Asonitis
Browse files

interface for cv meaurement

parent db830f19
No related branches found
No related tags found
No related merge requests found
import ipywidgets as widgets
from ipywidgets import GridspecLayout,Layout
import sys
def probendaten():
width = '50%'
probendaten = GridspecLayout(7,2)
probendaten[0,:] = widgets.Label('Probendaten',layout=Layout(height='auto', width = width))
probendaten[0,:].style.font_weight='bold'
probendaten[1,0] = widgets.Label('Wafer',layout=Layout(height='auto', width = width))
probendaten[1,1] = widgets.Label('Bemerkung',layout=Layout(height='auto', width = width))
probendaten[2,0] = widgets.Text(layout=Layout(height='auto', width = width)) # wafer value
probendaten[2,1] = widgets.Text(layout=Layout(height='auto', width = width)) # Bemerkung value
probendaten[3,0] = widgets.Label('Probe',layout=Layout(height='auto', width = width))
probendaten[4,0] = widgets.Text(layout=Layout(height='auto', width = width)) #probe value
probendaten[5,0] = widgets.Label('Feld',layout=Layout(height='auto', width = width))
probendaten[5,1] = widgets.Label('Temeperatur (K)',layout=Layout(height='auto', width = width))
probendaten[6,0] = widgets.Text(layout=Layout(height='auto', width = width)) # Feld value
probendaten[6,1] = widgets.BoundedFloatText(value = 295,min = 0 ,max = sys.float_info.max,step = 1,layout=Layout(height='auto', width = width)) #Temperatur value
probendaten_dict = {
'wafer': probendaten[2,0],
'bemerkung':probendaten[2,1],
'probe':probendaten[4,0],
'feld':probendaten[6,0],
'temperatur':probendaten[6,1]
}
return probendaten,probendaten_dict
def messparameter():
width = 'auto'
messparameter = GridspecLayout(16,1)
messparameter[0,0] = widgets.Label('Messparameter',layout=Layout(height='auto', width = width))
messparameter[0,0].style.font_weight='bold'
messparameter[1,0] = widgets.Label('U_start (V)',layout=Layout(height='auto', width = width))
messparameter[2,0] = widgets.BoundedFloatText(value = 1,min =-40 ,max = 40,step = 1,layout=Layout(height='auto', width = width)) # Start value
messparameter[3,0] = widgets.Label('U_stop (V)',layout=Layout(height='auto', width = width))
messparameter[4,0] = widgets.BoundedFloatText(value = -3,min =-40 ,max = 40,step = 1,layout=Layout(height='auto', width = width)) #stop value
messparameter[5,0] = widgets.Label('Spannungsschritt (V)',layout=Layout(height='auto', width = width))
messparameter[6,0] = widgets.BoundedFloatText(value = 0.05,min =0.01 ,max = 80,step = 0.01,layout=Layout(height='auto', width = width)) #step value
messparameter[7,0] = widgets.Label('Warten im Spannungsschritt (s)',layout=Layout(height='auto', width = width))
messparameter[8,0] = widgets.BoundedFloatText(value = 0,min = 0 ,max = sys.float_info.max,step = 1,layout=Layout(height='auto', width = width)) #sleep value
messparameter[9,0] = widgets.Label('Radius der Teststruktur (um)',layout=Layout(height='auto', width = width))
messparameter[10,0] = widgets.BoundedIntText(value = 50,min = 1 ,max = sys.float_info.max,step = 1,layout=Layout(height='auto', width = width)) #radius value
messparameter[11,0] = widgets.Label('Beobachteter Frequenzpunkt',layout=Layout(height='auto', width = width))
messparameter[12,0] = widgets.BoundedIntText(value = 2,min = 1 ,max = sys.maxsize,step = 1,layout=Layout(height='auto', width = width)) #Frequenzpunkt value
messparameter[13,0] = widgets.Label('Beobachteter Spannungspunkt',layout=Layout(height='auto', width = width))
messparameter[14,0] = widgets.BoundedIntText(value = 20,min = 1 ,max = sys.maxsize,step = 1,layout=Layout(height='auto', width = width)) #Spannungspunkt value
messparameter[15,0] = widgets.Checkbox(description = 'Hysterese messen',value = True, indent = True, style = {'description_width': 'initial'},layout=Layout(height='auto', width = width)) #hysterisis value
messparameter_dict={
'start':messparameter[2,0],
'stop':messparameter[4,0],
'step':messparameter[6,0],
'sleep':messparameter[8,0],
'radius':messparameter[10,0],
'frequenzpunkt':messparameter[12,0],
'spannungspunkt':messparameter[14,0],
'hysterese':messparameter[15,0]
}
return messparameter,messparameter_dict
def sweep_parameter():
width = '60%'
sweep_parameter= GridspecLayout(16,2)
#title
sweep_parameter[0,:] = widgets.Label('Sweep Parameter',layout=Layout(height='auto', width = width))
sweep_parameter[0,:].style.font_weight='bold'
#first column
sweep_parameter[1,0] = widgets.Label('Anzahl Frequenzpunkte',layout=Layout(height='auto', width = width))
sweep_parameter[2,0] = widgets.BoundedFloatText(value = 4,min =1 ,max = 401,step = 1,layout=Layout(height='auto', width = width)) # Anzahl Frequenzpunkte
sweep_parameter[3,0] = widgets.Label('f_start (Hz)',layout=Layout(height='auto', width = width))
sweep_parameter[4,0] = widgets.BoundedFloatText(value=100000,min = 100, max = 40e6,step = 100,layout=Layout(height='auto', width = width)) #start frequency
sweep_parameter[5,0] = widgets.Label('f_stop (Hz)',layout=Layout(height='auto', width = width))
sweep_parameter[6,0] = widgets.BoundedFloatText(value=1000000,min = 100, max = 40e6,step = 100,layout=Layout(height='auto', width = width)) #stop frequency
sweep_parameter[7,0] = widgets.Label('OSC Level (V)',layout=Layout(height='auto', width = width))
sweep_parameter[8,0] = widgets.BoundedFloatText(value=0.05,min = 10e-3, max = 1,step = 1e-3,layout=Layout(height='auto', width = width)) # Osc level
sweep_parameter[9,0] = widgets.Label('Sweep Type',layout=Layout(height='auto', width = width))
sweep_parameter[10,0] = widgets.RadioButtons(options = ['Logarithmic','Linear'],value = 'Linear',layout = Layout(height='auto', width = width)) #sweep type
sweep_parameter[11,0] = widgets.Label('Integration Time',layout=Layout(height='auto', width = width))
sweep_parameter[12,0] = widgets.Dropdown(options = ['Short','Medium','Long'],value = 'Medium',layout = Layout(height='auto', width = width)) # Integration time
#second column
sweep_parameter[1,1] = widgets.Label('Delay Time (ms)',layout=Layout(height='auto', width = width))
sweep_parameter[2,1] = widgets.BoundedFloatText(value = 0,min =0 ,max = 3.6e6,step = 1,layout=Layout(height='auto', width = width)) # delay time
sweep_parameter[3,1] = widgets.Label('Delay Aperture (%)',layout=Layout(height='auto', width = width))
sweep_parameter[4,1] = widgets.BoundedFloatText(value=0.5,min = 0.5, max = 100,step = 0.1,layout=Layout(height='auto', width = width)) #delay aperture
# Now continue next to sweep type
sweep_parameter[9,1] = widgets.Label('Sweep Direction',layout=Layout(height='auto', width = width))
sweep_parameter[10,1] = widgets.RadioButtons(options = ['Up','Down'],value = 'Up',layout = Layout(height='auto', width = width)) #sweep direction
sweep_parameter[11,1] = widgets.Label('Averaging Number',layout=Layout(height='auto', width = width))
sweep_parameter[12,1] = widgets.FloatLogSlider(value=4,base=2,min=0,max=8, step=1)# Averaging
sweep_parameter_dict = {
'nop': sweep_parameter[2,0],
'start': sweep_parameter[4,0],
'stop': sweep_parameter[6,0],
'osc': sweep_parameter[8,0],
'type': sweep_parameter[10,0],
'integration': sweep_parameter[12,0],
'd_time': sweep_parameter[2,1],
'd_apperture': sweep_parameter[4,1],
'direction': sweep_parameter[10,1],
'averaging': sweep_parameter[12,1]
}
return sweep_parameter,sweep_parameter_dict
\ No newline at end of file
%% Cell type:code id:fe623b67-28af-4351-9e76-4381b0db3e0a tags:
``` python
from interface import *
```
%% Cell type:code id:035405a8-a07b-4f45-b4db-fa4a56c94053 tags:
``` python
sample,sample_dict = probendaten()
```
%% Cell type:code id:fe5d37b6-509f-4408-9805-1fee6af4a9f2 tags:
``` python
display(sample)
```
%% Output
%% Cell type:code id:ee6f1392-5976-430b-a26b-b594de19011c tags:
``` python
messparameter,messparameter_dict = messparameter()
```
%% Cell type:code id:4d4f47be-8c15-4b65-9bf8-8439aeaa840a tags:
``` python
sweep_parameter,sweep_parameter_dict = sweep_parameter()
```
%% Cell type:code id:1627f28b-c64d-4a37-94eb-339917b5f140 tags:
``` python
display(widgets.HBox([sweep_parameter,messparameter]))
```
%% Output
%% Cell type:code id:81c3319b-4581-44c5-9849-89dd97714d22 tags:
``` python
measure = widgets.Button(description = 'Start Measurement')
calibrate = widgets.Button(description = 'Start Calibration')
display(widgets.HBox([measure,calibrate]))
```
%% Output
%% Cell type:code id:61d429a5-3be8-41e2-84af-7fd69862d936 tags:
``` python
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment