Skip to content

Commit c6dd6cd

Browse files
authored
Systematize setStagePosition signature, make None speed sentinel (#128)
* Systematize `setStagePosition` signature, make `None` a sentinel for speed * Do not introduce `speed` to Jeol and Simu if they are not supported * Apparently simu used to have unused speed for some reason.
1 parent dd77aa3 commit c6dd6cd

File tree

5 files changed

+13
-3
lines changed

5 files changed

+13
-3
lines changed

src/instamatic/microscope/base.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,8 @@ def setStagePosition(
188188
z: Optional[int_nm],
189189
a: Optional[float_deg],
190190
b: Optional[float_deg],
191+
*,
192+
speed: Optional[float],
191193
wait: bool,
192194
) -> None:
193195
pass

src/instamatic/microscope/interface/fei_microscope.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,13 +165,16 @@ def setStagePosition(
165165
z: Optional[int_nm] = None,
166166
a: Optional[float_deg] = None,
167167
b: Optional[float_deg] = None,
168+
*,
169+
speed: Optional[float] = None,
168170
wait: bool = True,
169-
speed: float = 1.0,
170171
) -> None:
171172
"""X, y, z in the system are in unit of meters, angles in radians."""
172173
pos = self.stage.Position
173174
axis = 0
174175

176+
if speed is None:
177+
speed = 1.0
175178
if speed > 1 or speed < 0:
176179
raise FEIValueError(f'setStageSpeed value must be between 0 and 1. Input: {speed}')
177180

src/instamatic/microscope/interface/fei_simu_microscope.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,8 +252,9 @@ def setStagePosition(
252252
z: Optional[int_nm] = None,
253253
a: Optional[float_deg] = None,
254254
b: Optional[float_deg] = None,
255+
*,
256+
speed: Optional[float] = None,
255257
wait: bool = True,
256-
speed: float = 1.0,
257258
) -> None:
258259
if z is not None:
259260
self.setStageZ(z)
@@ -273,6 +274,8 @@ def setStagePosition_nw(
273274
z: Optional[int_nm] = None,
274275
a: Optional[float_deg] = None,
275276
b: Optional[float_deg] = None,
277+
*,
278+
speed: Optional[float] = None,
276279
wait: bool = False,
277280
) -> None:
278281
if z is not None:

src/instamatic/microscope/interface/jeol_microscope.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,7 @@ def setStagePosition(
341341
z: Optional[int_nm] = None,
342342
a: Optional[float_deg] = None,
343343
b: Optional[float_deg] = None,
344+
*,
344345
wait: bool = True,
345346
) -> None:
346347
if z is not None:

src/instamatic/microscope/interface/simu_microscope.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,8 +433,9 @@ def setStagePosition(
433433
z: Optional[int_nm] = None,
434434
a: Optional[float_deg] = None,
435435
b: Optional[float_deg] = None,
436-
speed: float = -1,
436+
*,
437437
wait: bool = True,
438+
speed: Optional[float] = None,
438439
) -> None:
439440
if z is not None:
440441
self.setStageZ(z, wait=wait)

0 commit comments

Comments
 (0)