Skip to content

Commit 887b5ae

Browse files
authored
Merge pull request #78 from pycroscopy/dev-up
fix: place_beam call in a for loop from client side fails - added - place_beam_list()
2 parents 602b217 + 0f15081 commit 887b5ae

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

asyncroscopy/Microscope.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,23 @@ def place_beam(self, position) -> None:
371371
"""
372372
self._place_beam(position)
373373

374+
@command(dtype_in=DevVarFloatArray, dtype_out=None)
375+
def place_beam_list(self, positions) -> None:
376+
"""
377+
Place beam at multiple positions sequentially.
378+
Extension of place_beam command
379+
Why not call place_beam in loop of client side -> It fails
380+
"""
381+
if len(positions) % 2 != 0:
382+
raise ValueError("Input must contain pairs of (x, y) values.")
383+
384+
for i in range(0, len(positions), 2):
385+
x = float(positions[i])
386+
y = float(positions[i + 1])
387+
388+
self._place_beam([x, y])
389+
390+
374391
@command()
375392
def blank_beam(self) -> None:
376393
"""blank beam"""

0 commit comments

Comments
 (0)