Skip to content

Commit 8a27380

Browse files
authored
Merge pull request #33 from nanophys/copilot/document-min-delay-values
Document minimum delay constraints for sweep operations
2 parents ab80042 + f4a0311 commit 8a27380

File tree

3 files changed

+41
-6
lines changed

3 files changed

+41
-6
lines changed

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,35 @@ sweep.start()
164164
the notebook cell output, so database switches and sweep transitions are
165165
visible while the queue runs.
166166

167+
## Sweep Timing Constraints
168+
169+
MeasureIt enforces minimum delay values to ensure thread-safe operation and reliable measurement timing:
170+
171+
| Parameter | Minimum Value | Applies To | Description |
172+
|-----------|--------------|------------|-------------|
173+
| `inter_delay` | **0.01s** (10ms) | All sweeps (Sweep1D, Sweep2D inner) | Time between measurement points |
174+
| `outer_delay` | **0.1s** (100ms) | Sweep2D outer sweep | Time between outer sweep lines |
175+
176+
**Why These Minimums?**
177+
- These minimums ensure reliable data collection and prevent measurement timing issues
178+
- They protect the runner thread timing and ensure stable communication between measurement threads
179+
- Values below these minimums will raise a `ValueError` with a descriptive error message
180+
- The defaults (`inter_delay=0.1s`, `outer_delay=1.0s`) are safe for most use cases
181+
182+
**Example:**
183+
```python
184+
# Valid sweep with minimum delays
185+
sweep2d = measureit.Sweep2D(
186+
in_params=[inner_param, 0, 1, 0.01],
187+
out_params=[outer_param, 0, 10, 0.1],
188+
inter_delay=0.01, # Minimum allowed
189+
outer_delay=0.1 # Minimum allowed
190+
)
191+
192+
# This would raise ValueError: inter_delay too small
193+
# sweep2d = measureit.Sweep2D(..., inter_delay=0.005) # < 0.01s ❌
194+
```
195+
167196
## Documentation
168197

169198
### Building Documentation

src/measureit/sweep/base_sweep.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ class BaseSweep(QObject):
4242
set_param:
4343
QCoDeS Parameter to be swept, defaults to None for 0D sweep.
4444
inter_delay:
45-
Time (in seconds) to wait between data points.
45+
Time (in seconds) to wait between data points. Must be >= 0.01s.
46+
Default: 0.1s
4647
save_data:
4748
Flag used to determine if the data should be saved or not.
4849
plot_data:
@@ -149,7 +150,8 @@ def __init__(
149150
set_param:
150151
QCoDeS Parameter to be swept, defaults to None for 0D sweep.
151152
inter_delay:
152-
Time (in seconds) to wait between data points.
153+
Time (in seconds) to wait between data points. Must be >= 0.01s.
154+
Default: 0.1s
153155
save_data:
154156
Flag used to determine if the data should be saved or not.
155157
plot_data:

src/measureit/sweep/sweep2d.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@ class Sweep2D(BaseSweep, QObject):
2525
out_params:
2626
List defining the outer sweep [parameter, start, stop, step].
2727
inter_delay:
28-
Time (in seconds) to wait between data points on inner sweep.
28+
Time (in seconds) to wait between data points on inner sweep. Must be >= 0.01s.
29+
Default: 0.1s
2930
outer_delay:
30-
Time (in seconds) to wait between data points on outer sweep.
31+
Time (in seconds) to wait between data points on outer sweep. Must be >= 0.1s.
32+
Default: 1.0s
3133
save_data:
3234
Flag used to determine if the data should be saved or not.
3335
plot_data:
@@ -116,9 +118,11 @@ def __init__(
116118
out_params:
117119
A list conforming to above standard for the outer sweep.
118120
inter_delay:
119-
Time (in seconds) to wait between data points on inner sweep.
121+
Time (in seconds) to wait between data points on inner sweep. Must be >= 0.01s.
122+
Default: 0.1s
120123
outer_delay:
121-
Time (in seconds) to wait between data points on outer sweep.
124+
Time (in seconds) to wait between data points on outer sweep. Must be >= 0.1s.
125+
Default: 1.0s
122126
save_data:
123127
Flag used to determine if the data should be saved or not.
124128
plot_data:

0 commit comments

Comments
 (0)