@@ -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
0 commit comments