Skip to content

Commit f4d1453

Browse files
committed
feat updated ephys link instructions for exe
1 parent e70f598 commit f4d1453

File tree

1 file changed

+52
-45
lines changed

1 file changed

+52
-45
lines changed

source/ephys_link/installation_and_use.md

Lines changed: 52 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Ephys Link
22

33
[![PyPI version](https://badge.fury.io/py/ephys-link.svg)](https://badge.fury.io/py/ephys-link)
4+
[![Build](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/build.yml/badge.svg)](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/build.yml)
45
[![CodeQL](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/codeql-analysis.yml)
56
[![Dependency Review](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/dependency-review.yml/badge.svg)](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/dependency-review.yml)
67
[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)
@@ -16,10 +17,10 @@ to communicate with manipulators used in electrophysiology experiments.
1617

1718
**Supported Manipulators:**
1819

19-
| Manufacturer | Model |
20-
|--------------|-------------------------------------------------------------------|
21-
| Sensapex | <ul> <li>uMp-4</li> <li>uMp-3</li> </ul> |
22-
| New Scale | <ul> <li>Pathfinder MPM Control</li> <li>M3-USB-3:1-EP</li> </ul> |
20+
| Manufacturer | Model |
21+
|--------------|---------------------------------------------------------------------------|
22+
| Sensapex | <ul> <li>uMp-4</li> <li>uMp-3</li> </ul> |
23+
| New Scale | <ul> <li>Pathfinder MPM Control v2.8.8+</li> <li>M3-USB-3:1-EP</li> </ul> |
2324

2425
Ephys Link is an open and extensible platform. It is designed to easily support integration with other manipulators.
2526

@@ -33,17 +34,12 @@ the [API reference](https://virtualbrainlab.org/api_reference_ephys_link.html).
3334

3435
### Prerequisites
3536

36-
1. [Python ≥ 3.8, < 3.13](https://www.python.org/downloads/release/python-3116/)
37-
1. Python 3.12+ requires the latest version
38-
of Microsoft Visual C++ (MSVC v143+ x86/64) and the Windows SDK (10/11) to
39-
be installed. They can be acquired through
40-
the [Visual Studio Build Tools Installer](https://visualstudio.microsoft.com/visual-cpp-build-tools/).
41-
2. An **x86 Windows PC is required** to run the server.
42-
3. For Sensapex devices, the controller unit must be connected via an ethernet
37+
1. An **x86 Windows PC is required** to run the server.
38+
2. For Sensapex devices, the controller unit must be connected via an ethernet
4339
cable and powered. A USB-to-ethernet adapter is acceptable. For New Scale manipulators,
4440
the controller unit must be connected via USB and be powered by a 6V power
4541
supply.
46-
4. To use the emergency stop feature, ensure an Arduino with
42+
3. To use the emergency stop feature, ensure an Arduino with
4743
the [StopSignal](https://github.com/VirtualBrainLab/StopSignal) sketch is
4844
connected to the computer. Follow the instructions on that repo for how to
4945
set up the Arduino.
@@ -52,59 +48,70 @@ the [API reference](https://virtualbrainlab.org/api_reference_ephys_link.html).
5248
is currently designed to interface with local/desktop instances of Pinpoint. It
5349
will not work with the web browser versions of Pinpoint at this time.
5450

55-
<div style="padding: 15px; border: 1px solid transparent; border-color: transparent; margin-bottom: 20px; border-radius: 4px; color: #31708f; background-color: #d9edf7; border-color: #bce8f1;">
56-
<h3>Using a Python virtual environment is encouraged.</h3>
57-
<p>Create a virtual environment by running <code>python -m venv ephys_link</code></p>
58-
<p>Activate the environment by running <code>.\ephys_link\scripts\activate</code></p>
59-
<p>A virtual environment helps to isolate installed packages from other packages on your computer and ensures a clean installation of Ephys Link</p>
60-
</div>
51+
### Install as Standalone Executable
6152

62-
### Install for use
53+
1. Download the latest executable from
54+
the [releases page](https://github.com/VirtualBrainLab/ephys-link/releases/latest).
55+
2. Double-click the executable file to launch the configuration window.
56+
1. Take note of the IP address and port. **Copy this information into Pinpoint to connect**.
57+
3. Select the desired configuration and click "Launch Server".
6358

64-
Run the following command to install the server:
59+
The configuration window will close and the server will launch. Your configurations will be saved for future use.
6560

66-
```bash
67-
pip install ephys-link
68-
```
61+
To connect to the server from Pinpoint, provide the IP address and port. For example, if the server is running on the
62+
same computer that Pinpoint is, use
6963

70-
Update the server like any other Python package:
64+
- Server: `localhost`
65+
- Port: `8081`
7166

72-
```bash
73-
pip install --upgrade ephys-link
74-
```
67+
If the server is running on a different (local) computer, use the IP address of that computer as shown in the startup
68+
window instead of `localhost`.
7569

76-
### Install for development
70+
### Install for Development
7771

7872
1. Clone the repository.
7973
2. Install [Hatch](https://hatch.pypa.io/latest/install/)
80-
3. In a terminal, navigate to the repository's root directory and run
74+
3. Install the latest Microsoft Visual C++ (MSVC v143+ x86/64) and the Windows SDK (10/11)
75+
via [Visual Studio Build Tools Installer](https://visualstudio.microsoft.com/visual-cpp-build-tools/).
76+
4. In a terminal, navigate to the repository's root directory and run
8177

8278
```bash
83-
hatch shell
79+
hatch shell
8480
```
8581

86-
This will create a virtual environment and install the package in editable mode.
82+
This will create a virtual environment, install Python 12 (if not found), and install the package in editable mode.
83+
84+
### Install as a Python package
8785

88-
## Usage
86+
```bash
87+
pip install ephys-link
88+
```
89+
90+
Import the modules you need and launch the server.
8991

90-
Run the following commands in a terminal to start the server for the desired manipulator platform:
92+
```python
93+
from ephys_link.server import Server
9194

92-
| Manipulator Platform | Command |
93-
|--------------------------------------|--------------------------------------|
94-
| Sensapex uMp-4 | `ephys-link` |
95-
| Sensapex uMp-3 | `ephys-link -t ump3` |
96-
| New Scale | `ephys-link -t new_scale` |
97-
| New Scale via Pathfinder HTTP server | `ephys-link -t new_scale_pathfinder` |
95+
server = Server()
96+
server.launch("sensapex", 8081)
97+
```
9898

99-
There are a couple additional aliases for the Ephys Link executable: `ephys_link` and `el`.
99+
## CLI Usage
100100

101-
By default, the server will broadcast with its local IP address on port 8081.
102-
**Copy this information into Pinpoint to connect**.
101+
Ephys Link can be launched from the command line directly. This is useful for computers or servers without graphical
102+
user interfaces.
103103

104-
For example, if the server is running on the same computer that Pinpoint is, use
104+
Run the following commands in a terminal to start the server for the desired manipulator platform without the startup
105+
window:
105106

106-
- Server: `localhost`
107-
- Port: `8081`
107+
| Manipulator Platform | Command |
108+
|--------------------------------------|---------------------------------------------|
109+
| Sensapex uMp-4 | `ephys-link.exe -b` |
110+
| Sensapex uMp-3 | `ephys-link.exe -b -t ump3` |
111+
| New Scale | `ephys-link.exe -b -t new_scale` |
112+
| New Scale via Pathfinder HTTP server | `ephys-link.exe -b -t new_scale_pathfinder` |
113+
114+
More options can be viewed by running `ephys-link.exe -h`.
108115

109116
### "New Scale" vs "New Scale via Pathfinder HTTP server"
110117

0 commit comments

Comments
 (0)