Python library for piezosystem NV200 device
Project description
nv200
Python library for piezosystem NV200 device control
📦 Installation
Install from PyPI:
pip install nv200
🚀 Quick Start
import asyncio
from nv200.nv200_device import NV200Device
from nv200.shared_types import PidLoopMode
from nv200.connection_utils import connect_to_single_device
async def main_async():
"""
Moves the device to a specified position using closed-loop control.
"""
dev = await connect_to_single_device(NV200Device)
print(f"Connected to device: {dev.device_info}")
await dev.move_to_position(20)
await asyncio.sleep(0.2)
print(f"Current position: {await dev.get_current_position()}")
# instead of using move_to_position, you can also use two separate commands
# to set the PID mode and the setpoint
await dev.set_pid_mode(PidLoopMode.CLOSED_LOOP)
await dev.set_setpoint(0)
await asyncio.sleep(0.2)
print(f"Current position: {await dev.get_current_position()}")
if __name__ == "__main__":
asyncio.run(main_async())
For more advanced usage and async control, see the full API documentation.
📚 Documentation
📖 Full documentation is available at
👉 https://nv200-python-lib-e9158a.gitlab.io/
It includes:
- Setup & Installation
- Device Communication Protocols
- Full API Reference
- Examples and Tutorials
🛠 Features
- ✅ Asynchronous communication via
aioserialandtelnetlib3 - ✅ Simple Pythonic interface for device control
- ✅ Query & set device position
- ✅ Supports NV200 data recorder functionality
- ✅ Easy interface for NV200 waveform generator
📁 Examples
See the examples/ folder in the repository for:
- Basic device connection
- Position control scripts
- Integration with GUI frameworks (via
PySide6)
🧪 Development & Testing
Git Repository
The Git repository is available at: https://gitlab.com/gitlabuser0xFFFF/nv200_python_lib
Install dependencies
poetry install
Build documentation locally
poetry run build-doc
open doc/_build/index.html
🤝 Contributing
Contributions are welcome! If you encounter bugs or have suggestions:
- Open an issue
- Submit a pull request
- Or contact us directly
For major changes, please open a discussion first.
📜 License
This project is licensed under the MIT License.
See the LICENSE file for details.
👤 Authors
piezosystemjena GmbH
Visit us at https://www.piezosystem.com
🔗 Related
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nv200-1.2.0.tar.gz.
File metadata
- Download URL: nv200-1.2.0.tar.gz
- Upload date:
- Size: 47.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.12.11 Linux/5.15.154+
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb976137cd56ebc98dfc064dc61980176a837591b75205c16b58b8d38b319273
|
|
| MD5 |
3e5f8d0b9fdb6789ede26b28e83b234b
|
|
| BLAKE2b-256 |
23ef3745c8d18c2b8c0cc37afb980f1e64579885fb813166bb778092102f4434
|
File details
Details for the file nv200-1.2.0-py3-none-any.whl.
File metadata
- Download URL: nv200-1.2.0-py3-none-any.whl
- Upload date:
- Size: 53.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.12.11 Linux/5.15.154+
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b167f5083ec9a91554643871cb25cb7b1e46a49772c1707253ec7b507d6578f2
|
|
| MD5 |
f367ee7cf869a82859f0c00695c839ee
|
|
| BLAKE2b-256 |
364965e58cb0f8376280e4d626f15e5665d876c5da5d5e679976d42884e7d30c
|