Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ __pycache__/

# C extensions
*.so
!libum.so
!um.so

# Distribution / packaging
.Python
Expand Down
File renamed without changes.
8 changes: 4 additions & 4 deletions docs/development/adding_a_manipulator.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ As described in the [system overview](../home/how_it_works.md), Ephys Link conve
common "unified space" which is
the [left-hand cartesian coordinate system](https://www.scratchapixel.com/lessons/mathematics-physics-for-computer-graphics/geometry/coordinate-systems.html).
The two methods [
`platform_space_to_unified_space`](../../reference/ephys_link/utils/base_binding/#ephys_link.utils.base_binding.BaseBinding.platform_space_to_unified_space)
`platform_space_to_unified_space`](../reference/ephys_link/utils/base_binding.md#ephys_link.utils.base_binding.BaseBinding.platform_space_to_unified_space)
and [
`unified_space_to_platform_space`](../../reference/ephys_link/utils/base_binding/#ephys_link.utils.base_binding.BaseBinding.unified_space_to_platform_space)
`unified_space_to_platform_space`](../reference/ephys_link/utils/base_binding.md#ephys_link.utils.base_binding.BaseBinding.unified_space_to_platform_space)
are used to convert between your manipulator's coordinate system and the unified space.

!!! tip
Expand All @@ -44,9 +44,9 @@ are used to convert between your manipulator's coordinate system and the unified
### Binding Names

The two naming methods [
`get_display_name`](../../reference/ephys_link/utils/base_binding/#ephys_link.utils.base_binding.BaseBinding.get_display_name)
`get_display_name`](../reference/ephys_link/utils/base_binding.md#ephys_link.utils.base_binding.BaseBinding.get_display_name)
and [
`get_cli_name`](../../reference/ephys_link/utils/base_binding/#ephys_link.utils.base_binding.BaseBinding.get_cli_name)
`get_cli_name`](../reference/ephys_link/utils/base_binding.md#ephys_link.utils.base_binding.BaseBinding.get_cli_name)
are used to identify the binding in the user interface. As described by their documentation, `get_display_name` should
return a human-readable name for the binding, while `get_cli_name` should return the name used to launch the binding
from the command line (what is passed to the `-t` flag). For example, Sensapex uMp-4 manipulator's `get_cli_name`
Expand Down
8 changes: 4 additions & 4 deletions docs/development/jackhammer_mode.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ pip install .

## 2. Change the Sensapex SDK to support Jackhammer Mode

You need to replace the `libum.dll` file in the Sensapex library folder. This is located at `<virtual env>\Lib\site-packages\sensapex`. If you made a virtual environment named `venv` in the previous step, it would be `.\venv\Lib\site-packages\sensapex`.
You need to replace the `um.dll` file in the Sensapex library folder. This is located at `<virtual env>\Lib\site-packages\sensapex`. If you made a virtual environment named `venv` in the previous step, it would be `.\venv\Lib\site-packages\sensapex`.

1. Download the custom SDK [here](../assets/libum.dll).
2. (Optional) Make a backup of the old `libum.dll` in the Sensapex library folder by renaming it to `libum.dll.bck` or something like that.
3. Copy the downloaded `libum.dll` to the Sensapex library folder.
1. Download the custom SDK [here](../assets/um.dll).
2. (Optional) Make a backup of the old `um.dll` in the Sensapex library folder by renaming it to `um.dll.bck` or something like that.
3. Copy the downloaded `um.dll` to the Sensapex library folder.
4. Modify `sensapex.py` in the Sensapex library folder to enable using this custom DLL. Set the `max_version` variable at line `398` to `(1, 510)`.

You can (optionally) test if everything is still working by [running Ephys Link](../usage/starting_ephys_link.md) and checking to see if it can still see and control Sensapex manipulators.
Expand Down
5 changes: 2 additions & 3 deletions ephys_link.spec
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# -*- mode: python ; coding: utf-8 -*-

from argparse import ArgumentParser
from importlib import resources
Expand All @@ -17,15 +16,15 @@ FILE_NAME = f"EphysLink-v{version}"
bindings = [binding for binding in collect_submodules("ephys_link.bindings") if binding != "ephys_link.bindings"]

# Collect Sensapex SDK.
ump_sdk_path = str(resources.files('sensapex').joinpath('libum.dll'))
ump_sdk_path = str(resources.files('sensapex').joinpath('um.dll'))

# noinspection PyUnresolvedReferences
a = Analysis(
['src\\ephys_link\\__main__.py'],
pathex=[],
binaries=[(ump_sdk_path, 'sensapex')],
datas=[],
hiddenimports=['engineio.async_drivers.aiohttp'] + bindings,
hiddenimports=['engineio.async_drivers.aiohttp', *bindings],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
Expand Down
14 changes: 7 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,12 @@ exclude = ["/.github", "/.idea", "/docs"]
installer = "uv"
python = "3.14"
dependencies = [
"pyinstaller==6.16.0",
"basedpyright==1.32.1",
"pytest==8.4.2",
"pyinstaller==6.17.0",
"basedpyright==1.36.2",
"pytest==9.0.2",
"pytest-cov==7.0.0",
"pytest-mock==3.15.1",
"pytest-asyncio==1.2.0"
"pytest-asyncio==1.3.0"
]
[tool.hatch.envs.default.scripts]
exe = "pyinstaller.exe ephys_link.spec -y -- -d && pyinstaller.exe ephys_link.spec -y"
Expand All @@ -78,9 +78,9 @@ installer = "uv"
python = "3.14"
skip-install = true
dependencies = [
"mkdocs-material==9.6.19",
"mkdocstrings-python==1.18.2",
"mkdocs-gen-files==0.5.0",
"mkdocs-material==9.7.1",
"mkdocstrings-python==2.0.1",
"mkdocs-gen-files==0.6.0",
"mkdocs-literate-nav==0.6.2",
"mkdocs-section-index==0.3.10"
]
Expand Down
2 changes: 1 addition & 1 deletion src/ephys_link/__about__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "2.2.0"
__version__ = "2.2.1"