Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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 `libum.dll.bck` or something like that.
Comment thread
kjy5 marked this conversation as resolved.
Outdated
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"