Skip to content

get_cap_sensor command not working with SENTIO V26 #53

Closed

Description

@m-far

I just updated to SENTIO V26, and the command 'get_cap_sensor' is not working anymore, if I understand correctly the structure of the command changed. This is the function in the library:

Image

and this is the programming manual entry:

Image

When I run the function as is, I get:

Image

and if I print the 'tok' variable I get a list with a single element: ['545']
It looks as if the new implementation is querying a single cap sensor at a time, whereas the old one always queried both east and west.

Activity

  1. IngoBergATV commented on Sep 21, 2026

    @IngoBergATV
    Member

    Thanks, your analysis is correct. Since SENTIO 25.2.0 siph:get_cap_sensor without a position argument returns only a single value (the West positioner), and 26.0 changed the number format from 545.0 to 545. The Python library was not updated for this and still expects two values, so the current release (25.2.1) will fail against any SENTIO ≥ 25.2.0.

    We will fix get_cap_sensor in the library to use the per-positioner command siph:{stage}:{position}:get_cap_sensor and publish a new release. Until then you can query each sensor directly via prober.comm.send("siph:east:get_cap_sensor") / siph:west:get_cap_sensor and read the response with Response.check_resp.

  2. m-far commented on Sep 21, 2026

    @m-far
    Author

    excellent, thank you!

  3. linked a pull request that will close this issuesiph api changed to match remote api #54on Sep 21, 2026
  4. IngoBergATV commented on Sep 22, 2026

    @IngoBergATV
    Member

    I have created a new official release. This release will require modifications to existing scripts since it now copies the remote command api for siph.

    Here is the migration guide:
    prober.siph.get_cap_sensor() -> prober.siph.[top.]east.get_cap_sensor() / .west.get_cap_sensor()
    prober.siph.get_fiber_length(stage, probe) -> prober.siph.[top|bottom].{probe}.get_fiber_length()
    prober.siph.set_hover(stage, probe, gap) -> prober.siph.[top|bottom].{probe}.set_hover(gap)
    prober.siph.coupling(probe, axis) -> prober.siph.{probe}.coupling(axis)
    prober.siph.get_alignment(probe, fiber_type) -> prober.siph.{probe}.get_alignment(fiber_type)
    prober.siph.set_alignment(probe, fiber_type, coarse, fine, gradient, rotary)
    -> prober.siph.{probe}.set_alignment(fiber_type, coarse, fine, gradient, rotary_gradient, focal_gradient)
    prober.siph.set_origin(probe) -> prober.siph.{probe}.set_origin()
    prober.siph.move_origin(probe) -> prober.siph.{probe}.move_origin()
    prober.siph.pivot_point(probe) -> prober.siph.{probe}.pivot_point()
    prober.siph.move_nanocube_xy(probe, x, y) -> prober.siph.{probe}.move_nanocube_xy(x, y)
    prober.siph.get_nanocube_xy(probe) -> prober.siph.{probe}.get_nanocube_xy()
    prober.siph.get_nanocube_z(probe) -> prober.siph.{probe}.get_nanocube_z()

    The stage and probe selectors are no longe a function argument but part of the command hierarchy. Stage selector (top/bottom) probes is optional. If it is omitted top is assumed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions