diff --git a/hp4155/Custom_SMU/interface.py b/hp4155/Custom_SMU/interface.py index 4cf5c432d7ce6b4c5b9833035cf92de726346777..f4ca99ccb041f6208e35d79df3f40aa24c94f7bd 100644 --- a/hp4155/Custom_SMU/interface.py +++ b/hp4155/Custom_SMU/interface.py @@ -67,7 +67,81 @@ def page_2(): #parameters setting def page_3(): - pass + third_page = GridspecLayout(24,5) + + # First Line + third_page[0,0]=widgets.Dropdown(options = ['SWEEP','SAMPLING',"STRESS"], value = 'SWEEP',description ="MEASUREMENT MODE",layout=Layout(height='auto', width='auto'),style = {'description_width': 'initial'}) + third_page[0,1] = widgets.Dropdown(options = ['SHORt','MEDium','LONG'], value = 'MEDium',description ="INTEGRATION TIME",layout=Layout(height='auto', width='auto'),style = {'description_width': 'initial'}) + third_page[0,2] = widgets.FloatText(0, description = "STRESS DURATION",layout=Layout(height='auto', width='auto'),style = {'description_width': 'initial'}) + + # Second Line + third_page[2,:] = widgets.Label("SWEEP SETUP",layout=Layout(height='auto', width='auto')) + + # Third Line + third_page[3,0] = widgets.Label("VAR1",layout=Layout(height='auto', width='auto')) + third_page[3,1] = widgets.Label("VAR2",layout=Layout(height='auto', width='auto')) + third_page[3,2] = widgets.Label("VAR1'",layout=Layout(height='auto', width='auto')) + third_page[3,3] = widgets.Label("SMU PULSE",layout=Layout(height='auto', width='auto')) + + # Fourth Line + third_page[4,0] = widgets.FloatText(0, description = 'START',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[4,1] = widgets.FloatText(0, description = 'START',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[4,2] = widgets.FloatText(description = 'OFFSET',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[4,3] = widgets.FloatText(description = 'PERIOD',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + + # Fifth line + third_page[5,0] = widgets.FloatText(5,description = 'STOP',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[5,1] = widgets.FloatText(500e-6, description = 'STOP',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[5,2] = widgets.FloatText(description = 'RATIO',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[5,3] = widgets.FloatText(description = 'WIDTH',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + + # Sixth Line + third_page[6,0] = widgets.FloatText(0.1,description = 'STEP',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[6,1] = widgets.FloatText(6,description = 'NO OF STEPS',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + #skip 5,2 + third_page[6,3] = widgets.FloatText(5,description = 'BASE',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + + #Seventh Line + third_page[7,0] = widgets.FloatText(100e-3,description = 'COMPLIANCE',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[7,1] = widgets.FloatText(5,description = 'COMPLIANCE',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[7,2] = widgets.FloatText(description = 'COMPLIANCE',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + #no more pulse + + # Eighth Line + third_page[8,0] = widgets.FloatText(0,description = 'POWER COMP',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[8,1] = widgets.FloatText(0,description = 'POWER COMP',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[8,2] = widgets.FloatText(description = 'POWER COMP',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + + third_page[9,0] = widgets.Checkbox(False,description = 'HYSTERISIS',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + + ## Sampling Parameters + third_page[11,:] = widgets.Label("SAMPLING PARAMETERS") + third_page[12,0] = widgets.Dropdown(options=["LINEAR","LOG10","LOG25","LOG50","THINNED-OUT"], value = 'LINEAR',description = 'MODE',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[13,0] = widgets.FloatText(1e-3,description = "INITIAL INTERVAL", style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[14,0] = widgets.IntText(1001,description = "NO. OF SAMPLES", style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[15,0] = widgets.FloatText(0,description = "TOTAL SAMP. TIME", style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[16,0] = widgets.FloatText(0,description = "HOLD TIME", style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + third_page[17,0] = widgets.Checkbox(True,description = "FILTER", style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + + + # Set constant SMU for all measurement in case they are not disabled + + third_page[19,:] = widgets.Label("CONSTANT",layout=Layout(height='auto', width='auto')) + third_page[20,0] = widgets.Label("UNIT",layout=Layout(height='auto', width='auto')) + third_page[20,1] = widgets.Label("SMU1",layout=Layout(height='auto', width='auto')) + third_page[20,2] = widgets.Label("SMU2",layout=Layout(height='auto', width='auto')) + third_page[20,3] = widgets.Label("SMU3",layout=Layout(height='auto', width='auto')) + third_page[20,4] = widgets.Label("SMU4",layout=Layout(height='auto', width='auto')) + + third_page[21,0] = widgets.Label("SOURCE",layout=Layout(height='auto', width='auto')) + third_page[22,0] = widgets.Label("COMPLIANCE",layout=Layout(height='auto', width='auto')) + + for i in range(21,23): + for j in range(1,5): + third_page[i,j] = widgets.FloatText(layout=Layout(height='auto', width='auto')) + + return third_page + #display variables def page_4(): @@ -92,17 +166,36 @@ def page_4(): #Iterate through the third line (scale) options_scale = ['LIN','LOG'] for j in range(1,4): - fourth_page[2,j] = widgets.Dropdown(value = 'LIN',options = options_scale, layout=Layout(height='auto', width='auto')) + fourth_page[2,j] = widgets.Dropdown(value = 'LIN',options = options_scale, layout=Layout(height='auto', width='auto'),) #iterate throuh the last 2 lines(min-max) for j in range(1,4): fourth_page[3,j] = widgets.FloatText(value = 0) #min - fourth_page[3,1]=widgets.FloatText(value = 1) #max X-axis - fourth_page[3,2]=widgets.FloatText(value = 0.1) #max Y1-axis - fourth_page[3,3]=widgets.FloatText(value = 0) #max Y2-axis + fourth_page[4,1]=widgets.FloatText(value = 1) #max X-axis + fourth_page[4,2]=widgets.FloatText(value = 0.1) #max Y1-axis + fourth_page[4,3]=widgets.FloatText(value = 0) #max Y2-axis return fourth_page + + +def page_5(): + fifth_page = GridspecLayout(14,2) + + fifth_page[0,0] = widgets.Text(description = 'MEASUREMENT NAME',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + fifth_page[1,0] = widgets.Text(description ='PROCESSING NR.',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + fifth_page[2,0] = widgets.Text(description ='SAMPLE SERIES',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + fifth_page[3,0] = widgets.Text(description ='DUT',style = {'description_width': 'initial'},layout=Layout(height='auto', width='auto')) + + fifth_page[5,0] = widgets.Label("VARIABLES TO SAVE",layout=Layout(height='auto', width='auto')) + fifth_page[5,1] = widgets.Label("UNIT",layout=Layout(height='auto', width='auto')) + for i in range(8): + for j in range(2): + fifth_page[6+i,j] = widgets.Text(layout=Layout(height='auto', width='auto')) + + return fifth_page + + diff --git a/hp4155/Custom_SMU/main.py b/hp4155/Custom_SMU/main.py index bc6f07c3a585c2263967a9528b6e05a58180ec31..cddb600f1dd3fdfaeae5003c88b886f8aafbb125 100644 --- a/hp4155/Custom_SMU/main.py +++ b/hp4155/Custom_SMU/main.py @@ -3,13 +3,14 @@ from interface import * first_page = page_1() second_page = page_2() +third_page = page_3() fourth_page = page_4() +fifth_page = page_5() titles = ["SMUs","User Functions","Parameters","Plotting","Save to file"] -children = [first_page,second_page,widgets.Label("In Development"),fourth_page,widgets.Label("In Development")] +children = [first_page,second_page,third_page,fourth_page,fifth_page] tab = widgets.Tab() tab.children = children tab.titles = titles -display(tab) - +display(tab) \ No newline at end of file diff --git a/hp4155/Custom_SMU/test_interface.ipynb b/hp4155/Custom_SMU/test_interface.ipynb index 16cc4c402ba0f8167ac66d74c5ec14f50a3aefdf..af848efcfa7739d035f65fa82f3f18dc874dca18 100644 --- a/hp4155/Custom_SMU/test_interface.ipynb +++ b/hp4155/Custom_SMU/test_interface.ipynb @@ -3,15 +3,13 @@ { "cell_type": "code", "execution_count": 1, - "id": "e12d044e-b529-42d5-b240-7c145fa6d715", - "metadata": { - "jp-MarkdownHeadingCollapsed": true - }, + "id": "a40693da-961a-434d-89f5-6443c0acb517", + "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f3b2861e3f0d49978e6b74b27d3e72c3", + "model_id": "37c4759189624fdca2f917ff3e104299", "version_major": 2, "version_minor": 0 },