ephys_link.platforms.sensapex_manipulator
Sensapex Manipulator class
Handles logic for calling Sensapex API functions. Also includes extra logic for safe
function calls, error handling, managing per-manipulator attributes, and returning the
appropriate callback parameters like in ephys_link.sensapex_handler
.
Classes
Representation of a single Sensapex manipulator |
- class SensapexManipulator(device: SensapexDevice)[source]
Bases:
PlatformManipulator
Representation of a single Sensapex manipulator
- Parameters:
device – A Sensapex device
- get_pos() PositionalResponse [source]
Get the current position of the manipulator and convert it into mm.
- Returns:
Position in (x, y, z, w) (or an empty array on error) in mm and error message (if any).
- Return type:
ephys_link.common.PositionalOutputData
- async goto_pos(request: GotoPositionRequest) PositionalResponse [source]
Move manipulator to position.
- Parameters:
request (
vbl_aquarium.models.ephys_link.GotoPositionRequest
) – The goto request parsed from the server.- Returns:
Resulting position in (x, y, z, w) (or an empty array on error) in mm and error message (if any).
- Return type:
ephys_link.common.PositionalOutputData
- async drive_to_depth(request: DriveToDepthRequest) DriveToDepthResponse [source]
Drive the manipulator to a certain depth.
- Parameters:
request (
vbl_aquarium.models.ephys_link.DriveToDepthRequest
) – The drive to depth request parsed from the server.- Returns:
Resulting depth in mm (or 0 on error) and error message (if any).
- Return type:
ephys_link.common.DriveToDepthOutputData
- set_inside_brain(inside: bool) None [source]
Set if the manipulator is inside the brain.
Used to signal that the brain should move at
INSIDE_BRAIN_SPEED_LIMIT
- Parameters:
inside (bool) – True if the manipulator is inside the brain, False otherwise.
- Returns:
None
- get_can_write() bool [source]
Return if the manipulator can move.
- Returns:
True if the manipulator can move, False otherwise.
- Return type:
bool
- set_can_write(request: CanWriteRequest) None [source]
Set if the manipulator can move.
- Parameters:
request (
vbl_aquarium.models.ephys_link.CanWriteRequest
) – The can write request parsed from the server.- Returns:
None