Installation and Use
The Electrophysiology Manipulator Link (or Ephys Link for short) is a Python WebSocket server that allows any WebSocket-compliant application (such as Pinpoint) to communicate with manipulators used in electrophysiology experiments.
Currently, Ephys Link only supports Sensapex uMp Micromanipulators. However, this platform is designed to be extensible to other manipulators and more may be added in the future.
For more information regarding the server’s implementation and how the code is organized, see the package’s API reference
Installation
Prerequisites
Python 3.10+ and pip.
An x86 Windows PC is required to run the server.
The server has been verified to work well with Sensapex devices on Windows. It has not been bundled with libraries for Linux and macOS. However, developing the server is possible on other OS’s.
For Sensapex devices, the controller unit must be connected to a Windows PC via an ethernet cable. A USB-to-ethernet adapter is acceptable.
To use the emergency stop feature, ensure an Arduino with the StopSignal sketch is connected to the computer. Follow the instructions on that repo for how to set up the Arduino.
NOTE: Ephys Link is an HTTP server without cross-origin support. The server is currently designed to interface with local/desktop instances of Pinpoint. It will not work with the web browser versions of Pinpoint at this time.
Install
Create a virtual environment by running python -m venv ephys_link
.
Activate the environment by running .\ephyes_link\scripts\activate
A virtual environment helps to isolate installed packages from other packages on your computer and ensures a clean installation of Ephys Link
Run the following command to install the server:
pip install ephys-link
Usage
To start the server with the default settings, run python -m ephys_link
.
Default settings:
Configured for Sensapex manipulators
Broadcasts on port 8081
No emergency stop button
No GUI
No verbose logging
Options
All options can be viewed with python -m ephys_link --help
.
Option |
Input |
Default |
Description |
---|---|---|---|
|
Show help message and options |
||
|
|
|
Select manipulator type |
|
Valid HTTP port number |
|
HTTP port to serve on |
|
Valid HTTP port number |
|
New Scale HTTP server port (deprecating soon) |
|
Serial port name (i.e. |
|
Emergency stop serial port. Auto searches if no port specified |
|
Enable verbose logging for debugging |
||
|
Experimental GUI for server |
||
|
Version number of server |