Hi Benjamin,
thanks a lot for the feedback and happy to hear it works for you.
A real append mode by design where you use an Append button instead of a Run button does not yet exist, although there are some preparations in the code to add it at some point.
It is possible to create a sequencer where you can imitate such a functionality.
The idea is to put your measurement into a Loop module and use the add-on module UserIO to stop between the repetitions where you can also ask the user to continue or to stop:
Here is the configuration string that you can copy&paste into the sequencer to get the above setup:
{
"child_items": [
{
"child_items": [
{
"child_items": [
{
"child_items": [
{
"child_items": [],
"is_checked": true,
"is_expanded": true,
"module_details": {
"module_type": "SMU",
"Label": "SMU2",
"value": "",
"Device": "SMU-Keithley_4200-SCS",
"Channel": "SMU2",
"Port": "",
"SweepValue": "SweepEditor",
"SweepMode": "Voltage in V",
"RouteOut": "Rear",
"4wire": false,
"Compliance": "0.0001",
"SkipCompliance": false,
"Speed": "Very fast",
"Range": "Auto",
"RangeVoltage": "Auto",
"Average": 1,
"Configuration": "",
"PostProcessingResistance": false,
"PostProcessingConductance": false,
"PostProcessingPower": false,
"ShowPulse": false,
"CheckPulse": false,
"PulseCount": "1",
"PulseOffLevel": "0.0",
"PulseOnTime": "5e-07",
"PulseOffTime": "200e-3",
"PulsePeriod": "2e-06",
"PulseDelay": "2e-08",
"PulseMeasStart": 50,
"PulseMeasTime": 20,
"PulseRiseTime": "1e-07",
"PulseFallTime": "1e-07",
"PulseImpedance": "1000000.0",
"SweepEditor": {
"sweeps": [
{
"loop": "1",
"start": "0.0",
"end": "0.0",
"step_points": "0.1",
"scaling": "Step width",
"hold": "0.0"
}
]
},
"ListSweepCheck": false,
"ListSweepType": "Sweep",
"ListSweepStart": "0.0",
"ListSweepEnd": "1.0",
"ListSweepStepPointsType": "Step width:",
"ListSweepStepPointsValue": "0.1",
"ListSweepDual": false,
"ListSweepCustomValues": "",
"ListSweepHoldtime": "0.1",
"ListSweepDelaytime": "0.0",
"Comment": ""
}
}
],
"is_checked": true,
"is_expanded": true,
"module_details": {
"module_type": "SMU",
"Label": "SMU1",
"value": "",
"Device": "SMU-Keithley_4200-SCS",
"Channel": "SMU1",
"Port": "",
"SweepValue": "SweepEditor",
"SweepMode": "Voltage in V",
"RouteOut": "Rear",
"4wire": false,
"Compliance": "0.0001",
"SkipCompliance": false,
"Speed": "Very fast",
"Range": "Auto",
"RangeVoltage": "Auto",
"Average": 1,
"Configuration": "",
"PostProcessingResistance": false,
"PostProcessingConductance": false,
"PostProcessingPower": false,
"ShowPulse": false,
"CheckPulse": false,
"PulseCount": "1",
"PulseOffLevel": "0.0",
"PulseOnTime": "5e-07",
"PulseOffTime": "200e-3",
"PulsePeriod": "2e-06",
"PulseDelay": "2e-08",
"PulseMeasStart": 50,
"PulseMeasTime": 20,
"PulseRiseTime": "1e-07",
"PulseFallTime": "1e-07",
"PulseImpedance": "1000000.0",
"SweepEditor": {
"sweeps": [
{
"loop": "1",
"start": "0.0",
"end": "0.0",
"step_points": "0.1",
"scaling": "Step width",
"hold": "0.0"
}
]
},
"ListSweepCheck": false,
"ListSweepType": "Sweep",
"ListSweepStart": "0.0",
"ListSweepEnd": "1.0",
"ListSweepStepPointsType": "Step width:",
"ListSweepStepPointsValue": "0.1",
"ListSweepDual": false,
"ListSweepCustomValues": "",
"ListSweepHoldtime": "0.1",
"ListSweepDelaytime": "0.0",
"Comment": ""
}
}
],
"is_checked": true,
"is_expanded": true,
"module_details": {
"module_type": "MakeFile",
"Label": "MakeFile1",
"value": "ID",
"FileID": "ID",
"ShowAdvancedOptions": false,
"BranchIndex": true,
"FileIndex": true,
"ModuleLabels": true,
"Comment": ""
}
},
{
"child_items": [],
"is_checked": true,
"is_expanded": true,
"module_details": {
"module_type": "UserIO",
"Label": "UserIO1",
"value": "",
"Type": "MessageBox (Information)",
"Message": "Please accept this message to append a furthe measurement or stop the run to finish the measurement.",
"Variable": "Var",
"Unit": "",
"Maximum": "",
"Minimum": "",
"Choices": "",
"Blocking": true,
"Autoclose": true,
"Comment": ""
}
}
],
"is_checked": true,
"is_expanded": true,
"module_details": {
"module_type": "Loop",
"Label": "Loop1",
"value": "nonstop",
"Repetitions": "0",
"UseReduction": false,
"MaxPoints": 10000,
"Reduction": "Quadratic",
"KeepLastPoints": 10,
"Comment": ""
}
}
],
"data_type": "Sequencer",
"version": "v1"
}
The message box is blocking so that SweepMe! waits for a user to interact. In the plot, it is then possible to split the curves for the variation of the Loop module.
I have added the feature request to our backlog. It does not mean that it will be immediately processed, but the more users request it the higher the priority gets.
Of course, it is also possible to add such features during co-innovation projects:
https://sweep-me.net/services/new-features
Let me know whether the above workaround works for you or if some other changes would also help to improve the user experience.
Thanks and best,
Axel