Skip to content

Commit 2b3cbbd

Browse files
committed
2 parents 49accda + 8ff62f5 commit 2b3cbbd

File tree

12 files changed

+171
-95
lines changed

12 files changed

+171
-95
lines changed

.github/dependabot.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,15 @@ updates:
99
directory: "/" # Location of package manifests
1010
schedule:
1111
interval: "weekly"
12+
groups:
13+
pip:
14+
patterns:
15+
- '*'
16+
- package-ecosystem: "github-actions" # See documentation for possible values
17+
directory: ".github/workflows" # Location of package manifests
18+
schedule:
19+
interval: "weekly"
20+
groups:
21+
github:
22+
patterns:
23+
- '*'

.github/workflows/build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
steps:
1717

1818
- name: 🛎 Checkout
19-
uses: actions/checkout@v3
19+
uses: actions/checkout@v4
2020
with:
2121
submodules: 'recursive'
2222

@@ -31,7 +31,7 @@ jobs:
3131
sudo apt-get install -y pandoc
3232
3333
- name: 🐍 Setup Python
34-
uses: actions/setup-python@v4
34+
uses: actions/setup-python@v5
3535
with:
3636
python-version: '3.10'
3737
cache: 'pip'
@@ -43,6 +43,6 @@ jobs:
4343
run: make html
4444

4545
- name: ⬆️ Upload artifact
46-
uses: actions/upload-pages-artifact@v1
46+
uses: actions/upload-pages-artifact@v3
4747
with:
4848
path: 'build/html'

.github/workflows/deploy.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ jobs:
3434
steps:
3535

3636
- name: 🎛 Setup Pages
37-
uses: actions/configure-pages@v3
37+
uses: actions/configure-pages@v4
3838

3939
- name: 🚀 Deploy to GitHub Pages
4040
id: deployment
41-
uses: actions/deploy-pages@v1
41+
uses: actions/deploy-pages@v4

source/_static/images/Ephys-Link-connect-probe.png renamed to source/_static/images/tutorial/ephys_link/ephys_link_connect_probe.png

File renamed without changes.

source/_static/images/Ephys-Link-connection.png renamed to source/_static/images/tutorial/ephys_link/ephys_link_connection.png

File renamed without changes.
81.7 KB
Loading

source/_static/images/tutorial/sensapex_manipulators.png renamed to source/_static/images/tutorial/ephys_link/sensapex_manipulators.png

File renamed without changes.

source/about/vbl_manual.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,8 @@ Information about lab member grant applications is shared here with permission.
124124

125125
| Source | Person | Date applied | Outcome | Funding |
126126
| --- | --- | --- | --- | --- |
127+
| UW Mary Gates Scholarship 2x Resubmission | KY | 2024 | Pending | |
128+
| UW Mary Gates Scholarship 2x | KY | 2023 | Not funded | |
127129
| CZI Open Source Software | DB | 2023 | Pending | |
128130
| SURFiN | JS | 2023 | Funded | $9,500 |
129131
| Heroku Open Source Credit Program | DB | 2023 | Funded | $1000 |

source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
# -- Project information -----------------------------------------------------
1919

2020
project = 'Virtual Brain Lab'
21-
copyright = '2023, Daniel Birman'
21+
copyright = '2022 - Present, Daniel Birman'
2222
author = 'Daniel Birman, Kenneth Yang'
2323

2424
# The full version, including alpha/beta/rc tags
Lines changed: 65 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,35 @@
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)
54
[![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)
65
[![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)
76
[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)
87
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
98

9+
<!-- [![Build](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/build.yml/badge.svg)](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/build.yml) -->
10+
1011
<img width="100%" src="https://github.com/VirtualBrainLab/ephys-link/assets/82800265/0c7c60b1-0926-4697-a461-221554f82de1" alt="Manipulator and probe in pinpoint moving in sync">
1112

1213
The [Electrophysiology Manipulator Link](https://github.com/VirtualBrainLab/ephys-link)
13-
(or Ephys Link for short) is a Python [Socket.IO](https://socket.io/docs/v4/#what-socketio-is) server that allows any
14+
(or Ephys Link for short) is a
15+
Python [Socket.IO](https://socket.io/docs/v4/#what-socketio-is) server that
16+
allows any
1417
Socket.IO-compliant application (such
1518
as [Pinpoint](https://github.com/VirtualBrainLab/Pinpoint))
1619
to communicate with manipulators used in electrophysiology experiments.
1720

1821
**Supported Manipulators:**
1922

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> |
23+
| Manufacturer | Model |
24+
|--------------|-------------------------------------------------------------------------|
25+
| Sensapex | <ul> <li>uMp-4</li> <li>uMp-3</li> </ul> |
26+
| New Scale | <ul> <li>Pathfinder MPM Control v2.8+</li> <li>M3-USB-3:1-EP</li> </ul> |
2427

25-
Ephys Link is an open and extensible platform. It is designed to easily support integration with other manipulators.
28+
Ephys Link is an open and extensible platform. It is designed to easily support
29+
integration with other manipulators.
2630

27-
For more information regarding the server's implementation and how the code is organized, see
31+
For more information regarding the server's implementation and how the code is
32+
organized, see
2833
the [package's development documentation](https://virtualbrainlab.org/ephys_link/development.html).
2934

3035
For detailed descriptions of the server's API, see
@@ -36,9 +41,9 @@ the [API reference](https://virtualbrainlab.org/api_reference_ephys_link.html).
3641

3742
1. An **x86 Windows PC is required** to run the server.
3843
2. For Sensapex devices, the controller unit must be connected via an ethernet
39-
cable and powered. A USB-to-ethernet adapter is acceptable. For New Scale manipulators,
40-
the controller unit must be connected via USB and be powered by a 6V power
41-
supply.
44+
cable and powered. A USB-to-ethernet adapter is acceptable. For New Scale
45+
manipulators, the controller unit must be connected via USB and be powered by
46+
a 6V power supply.
4247
3. To use the emergency stop feature, ensure an Arduino with
4348
the [StopSignal](https://github.com/VirtualBrainLab/StopSignal) sketch is
4449
connected to the computer. Follow the instructions on that repo for how to
@@ -53,34 +58,24 @@ will not work with the web browser versions of Pinpoint at this time.
5358
1. Download the latest executable from
5459
the [releases page](https://github.com/VirtualBrainLab/ephys-link/releases/latest).
5560
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**.
61+
1. Take note of the IP address and port. **Copy this information into
62+
Pinpoint to connect**.
5763
3. Select the desired configuration and click "Launch Server".
5864

59-
The configuration window will close and the server will launch. Your configurations will be saved for future use.
65+
The configuration window will close and the server will launch. Your
66+
configurations will be saved for future use.
6067

61-
To connect to the server from Pinpoint, provide the IP address and port. For example, if the server is running on the
68+
To connect to the server from Pinpoint, provide the IP address and port. For
69+
example, if the server is running on the
6270
same computer that Pinpoint is, use
6371

6472
- Server: `localhost`
6573
- Port: `8081`
6674

67-
If the server is running on a different (local) computer, use the IP address of that computer as shown in the startup
75+
If the server is running on a different (local) computer, use the IP address of
76+
that computer as shown in the startup
6877
window instead of `localhost`.
6978

70-
### Install for Development
71-
72-
1. Clone the repository.
73-
2. Install [Hatch](https://hatch.pypa.io/latest/install/)
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
77-
78-
```bash
79-
hatch shell
80-
```
81-
82-
This will create a virtual environment, install Python 12 (if not found), and install the package in editable mode.
83-
8479
### Install as a Python package
8580

8681
```bash
@@ -96,52 +91,59 @@ server = Server()
9691
server.launch("sensapex", 8081)
9792
```
9893

94+
### Install for Development
95+
96+
1. Clone the repository.
97+
2. Install [Hatch](https://hatch.pypa.io/latest/install/)
98+
3. Install the latest Microsoft Visual C++ (MSVC v143+ x86/64) and the Windows
99+
SDK (10/11)
100+
via [Visual Studio Build Tools Installer](https://visualstudio.microsoft.com/visual-cpp-build-tools/).
101+
4. In a terminal, navigate to the repository's root directory and run
102+
103+
```bash
104+
hatch shell
105+
```
106+
107+
This will create a virtual environment, install Python 12 (if not found), and
108+
install the package in editable mode.
109+
99110
## CLI Usage
100111

101-
Ephys Link can be launched from the command line directly without the configuration window. This is useful for computers
112+
Ephys Link can be launched from the command line directly without the
113+
configuration window. This is useful for computers
102114
or servers without graphical user interfaces.
103115

104-
With the standalone executable downloaded, invoking the executable from the command line:
116+
With the standalone executable downloaded, invoking the executable from the
117+
command line:
105118

106119
```bash
107-
ephys_link-vX.X.X-Windows-x86_64.exe -b
120+
EphysLink-vX.X.X.exe -b
108121
```
109122

110-
Use the actual name of the executable you downloaded. The `-b` or `--background` flag will launch the server without the
123+
Use the actual name of the executable you downloaded. The `-b` or `--background`
124+
flag will launch the server without the
111125
configuration window and read configuration from CLI arguments.
112126

113-
Run the following commands in a terminal to start the server for the desired manipulator platform without the startup
114-
window (replace `ephys_link.exe` with the actual name of the executable you downloaded):
127+
Run the following commands in a terminal to start the server for the desired
128+
manipulator platform without the startup
129+
window (replace `EphysLink.exe` with the actual name of the executable you
130+
downloaded):
115131

116-
| Manipulator Platform | Command |
117-
|------------------------------------------|---------------------------------------------|
118-
| Sensapex uMp-4 | `ephys_link.exe -b` |
119-
| Sensapex uMp-3 | `ephys_link.exe -b -t ump3` |
120-
| New Scale Pathfinder MPM Control v2.8.8+ | `ephys_link.exe -b -t new_scale_pathfinder` |
121-
| New Scale M3-USB-3:1-EP | `ephys_link.exe -b -t new_scale` |
132+
| Manipulator Platform | Command |
133+
|------------------------------------------|--------------------------------------------|
134+
| Sensapex uMp-4 | `EphysLink.exe -b` |
135+
| Sensapex uMp-3 | `EphysLink.exe -b -t ump3` |
136+
| New Scale Pathfinder MPM Control v2.8.8+ | `EphysLink.exe -b -t new_scale_pathfinder` |
137+
| New Scale M3-USB-3:1-EP | `EphysLink.exe -b -t new_scale` |
122138

123-
More options can be viewed by running `ephys_link.exe -h`.
139+
More options can be viewed by running `EphysLink.exe -h`.
124140

125141
### "New Scale Pathfinder MPM Control" vs "New Scale M3-USB-3:1-EP"
126142

127-
New Scale manipulators have two methods of connection. The first method is through the Pathfinder MPM Control software (`-t new_scale_pathfinder`) and the second is via a direct hardware
128-
connection (`-t new_scale`). The first method is only available if Pathfinder is running on the same computer
129-
as Ephys Link. New Scale manipulators should be connected to the Pathfinder software first and the Pathfinder HTTP server should be running.
130-
131-
**Note:** Currently (July 2023), Ephys Copilot automation and manual control within Pinpoint is not supported when
132-
connected to New Scale via Pathfinder MPM.
133-
134-
### Options
135-
136-
All options can be viewed with `ephys_link --help`.
137-
138-
| Option | Input | Default | Description |
139-
|----------------------------------|-----------------------------------------------------|-------------|----------------------------------------------------------------|
140-
| `-h, --help` | | | Show help message and options |
141-
| `-b, --background` | | | Launch server without startup window |
142-
| `-t TYPE, --type TYPE` | `sensapex` or `new_scale` or `new_scale_pathfinder` | `sensapex` | Select manipulator type |
143-
| `-p PORT, --port PORT` | Valid HTTP port number | `8081` | HTTP port to serve on |
144-
| `--pathfinder_port` | Valid HTTP port number | `8080` | HTTP port Pathfinder's server is running on |
145-
| `-s [SERIAL], --serial [SERIAL]` | Serial port name (i.e. `COM3`) or empty | `no-e-stop` | Emergency stop serial port. Auto searches if no port specified |
146-
| `-d, --debug` | | | Enable verbose logging for debugging |
147-
| `--version` | | | Version number of server |
143+
New Scale manipulators have two methods of connection. The first method is
144+
through the Pathfinder MPM Control software (`-t new_scale_pathfinder`) and the
145+
second is via a direct hardware
146+
connection (`-t new_scale`). The first method is only available if Pathfinder is
147+
running on the same computer
148+
as Ephys Link. New Scale manipulators should be connected to the Pathfinder
149+
software first and the Pathfinder HTTP server should be running.

0 commit comments

Comments
 (0)