Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
L
labcode
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Model registry
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
CST
labcode
Commits
c9384d5e
Commit
c9384d5e
authored
3 months ago
by
Alexandros Asonitis
Browse files
Options
Downloads
Patches
Plain Diff
Interface for Custom Smu Programming
parent
ed8b0e01
No related branches found
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
hp4155/Custom_SMU/interface.py
+98
-5
98 additions, 5 deletions
hp4155/Custom_SMU/interface.py
hp4155/Custom_SMU/main.py
+4
-3
4 additions, 3 deletions
hp4155/Custom_SMU/main.py
hp4155/Custom_SMU/test_interface.ipynb
+3
-5
3 additions, 5 deletions
hp4155/Custom_SMU/test_interface.ipynb
with
105 additions
and
13 deletions
hp4155/Custom_SMU/interface.py
+
98
−
5
View file @
c9384d5e
...
...
@@ -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,18 +166,37 @@ 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
This diff is collapsed.
Click to expand it.
hp4155/Custom_SMU/main.py
+
4
−
3
View file @
c9384d5e
...
...
@@ -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
)
\ No newline at end of file
This diff is collapsed.
Click to expand it.
hp4155/Custom_SMU/test_interface.ipynb
+
3
−
5
View file @
c9384d5e
...
...
@@ -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
},
...
...
%% Cell type:code id:
e12d044e-b529-42d5-b240-7c145fa6d715
tags:
%% Cell type:code id:
a40693da-961a-434d-89f5-6443c0acb517
tags:
```
python
%
run
main
.
py
```
%% Output
%% Cell type:code id:ee4e90d9-5655-4096-b777-0b617b75d897 tags:
```
python
```
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment