# plico_motor
client of a motor controlled under the plico environment
![Python package](https://github.com/ArcetriAdaptiveOptics/plico_motor/workflows/Python%20package/badge.svg)
[![codecov](https://codecov.io/gh/ArcetriAdaptiveOptics/plico_motor/branch/main/graph/badge.svg?token=ApWOrs49uw)](https://codecov.io/gh/ArcetriAdaptiveOptics/plico_motor)
[![Documentation Status](https://readthedocs.org/projects/plico_motor/badge/?version=latest)](https://plico_motor.readthedocs.io/en/latest/?badge=latest)
[![PyPI version](https://badge.fury.io/py/plico-motor.svg)](https://badge.fury.io/py/plico-motor)
plico_motor is an application to control motors under the [plico][plico] environment.
[plico]: https://github.com/ArcetriAdaptiveOptics/plico
## Installation ##
Note: it is recommended, before installing packages, to create a conda environment to work.
```
conda create --name myenv
```
To create an environment with a specific python version
```
conda create --name myenv python=3.7
```
To activate you environment
```
conda activate myenv
```
### On server
On the server machine you install plico_motor_server with the following command
```
pip install plico_motor_server
```
This command also installs a server configuration file that needs to be modified. The file is located at 'yourLocalPath/plico_motor_server/plico_motor_server/conf/plico_motor_server.conf' and contains ip address
and port number of your motor. There are five types of motor indicated with motor1, motor2, motor3, motor4 and motor5: this number is
to be used to start the corresponding server.
The plico_motor_server package installs also the client package.
### On client
On the client machine
```
pip install plico_motor
```
## Usage
### Customize configuration file
location: 'yourLocalPath/plico_motor_server/plico_motor_server/conf/plico_motor_server.conf'
The configuration file can be edited by specifying the characteristics with which you want to set your motors at server start-up (speed, usb_port ...) and specifying the number of motors you want to use (from one to five).
Servers are available for:
- Any motor using the PI GCS communication protocol with serial or USB connection
- Tunable Filter (KURIOS VB1 - Thorlabs) with serial or USB connection
- Filter Wheel (FW102B - Thorlabs) with serial or USB connection
- Newport Picomotor linear actuators
- Standa 8SMC5-USB motor using driver Standa 8smc4-5: standa devices are currently not supported on MacOS X because the installation of the libximc library via pip command does not include the macosx package.
### Starting Servers
On the servers machine use the executable
```
plico_motor_server_n
```
where n indicates the number of the server you want to start in according to what is declared in the configuration file.
If you wish to start all servers included in the configuration file, use the command
```
plico_motor_start
```
### Using the client module
In a python terminal on the client computer:
```
from plico_motor import motor
your_motor = motor(ServerHostName, ServerPort, axis)
```
Usage example
```
your_motor.home()
your_motor.move_to(1000) #nanometers
your_motor.move_by(-50)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/ArcetriAdaptiveOptics/plico_motor",
"name": "plico-motor",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "plico, motor, picomotor, laboratory, instrumentation control",
"author": "Lorenzo Busoni, Alfio Puglisi",
"author_email": "lorenzo.busoni@inaf.it",
"download_url": "https://files.pythonhosted.org/packages/bd/0c/3ba6738bffce9bfdb6fd4d6e95489f528c252e576561f6f74bc816b252fb/plico_motor-0.0.5.tar.gz",
"platform": null,
"description": "# plico_motor\nclient of a motor controlled under the plico environment \n\n\n ![Python package](https://github.com/ArcetriAdaptiveOptics/plico_motor/workflows/Python%20package/badge.svg)\n [![codecov](https://codecov.io/gh/ArcetriAdaptiveOptics/plico_motor/branch/main/graph/badge.svg?token=ApWOrs49uw)](https://codecov.io/gh/ArcetriAdaptiveOptics/plico_motor)\n [![Documentation Status](https://readthedocs.org/projects/plico_motor/badge/?version=latest)](https://plico_motor.readthedocs.io/en/latest/?badge=latest)\n [![PyPI version](https://badge.fury.io/py/plico-motor.svg)](https://badge.fury.io/py/plico-motor)\n\n\nplico_motor is an application to control motors under the [plico][plico] environment.\n\n[plico]: https://github.com/ArcetriAdaptiveOptics/plico\n\n\n## Installation ##\nNote: it is recommended, before installing packages, to create a conda environment to work.\n\n```\nconda create --name myenv\n```\n\nTo create an environment with a specific python version\n\n```\nconda create --name myenv python=3.7\n```\n\nTo activate you environment\n\n```\nconda activate myenv\n```\n\n### On server\nOn the server machine you install plico_motor_server with the following command\n\n```\npip install plico_motor_server\n```\n\nThis command also installs a server configuration file that needs to be modified. The file is located at 'yourLocalPath/plico_motor_server/plico_motor_server/conf/plico_motor_server.conf' and contains ip address \nand port number of your motor. There are five types of motor indicated with motor1, motor2, motor3, motor4 and motor5: this number is \nto be used to start the corresponding server.\n\nThe plico_motor_server package installs also the client package.\n\n### On client\nOn the client machine\n\n```\npip install plico_motor\n```\n\n## Usage\n\n### Customize configuration file\nlocation: 'yourLocalPath/plico_motor_server/plico_motor_server/conf/plico_motor_server.conf'\nThe configuration file can be edited by specifying the characteristics with which you want to set your motors at server start-up (speed, usb_port ...) and specifying the number of motors you want to use (from one to five).\n\nServers are available for:\n- Any motor using the PI GCS communication protocol with serial or USB connection\n- Tunable Filter (KURIOS VB1 - Thorlabs) with serial or USB connection\n- Filter Wheel (FW102B - Thorlabs) with serial or USB connection\n- Newport Picomotor linear actuators\n- Standa 8SMC5-USB motor using driver Standa 8smc4-5: standa devices are currently not supported on MacOS X because the installation of the libximc library via pip command does not include the macosx package.\n\n\n### Starting Servers\nOn the servers machine use the executable\n```\nplico_motor_server_n\n```\nwhere n indicates the number of the server you want to start in according to what is declared in the configuration file.\nIf you wish to start all servers included in the configuration file, use the command\n```\nplico_motor_start\n```\n\n### Using the client module \nIn a python terminal on the client computer:\n\n```\nfrom plico_motor import motor\nyour_motor = motor(ServerHostName, ServerPort, axis)\n```\n\nUsage example\n```\nyour_motor.home()\nyour_motor.move_to(1000) #nanometers\nyour_motor.move_by(-50)\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "motor controller with PLICO",
"version": "0.0.5",
"project_urls": {
"Homepage": "https://github.com/ArcetriAdaptiveOptics/plico_motor"
},
"split_keywords": [
"plico",
" motor",
" picomotor",
" laboratory",
" instrumentation control"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "59ab90c8c0e11995ea01941b628071fc4d5c0dec98b97bee1d10ce41f9fade01",
"md5": "726b09c93e04daaa716ae39ba3c30593",
"sha256": "0ab5e1cf88194244736b0939e82bac94bb971bf482c21530eba27e1f84f91ffd"
},
"downloads": -1,
"filename": "plico_motor-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "726b09c93e04daaa716ae39ba3c30593",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 10369,
"upload_time": "2024-06-25T13:55:47",
"upload_time_iso_8601": "2024-06-25T13:55:47.986485Z",
"url": "https://files.pythonhosted.org/packages/59/ab/90c8c0e11995ea01941b628071fc4d5c0dec98b97bee1d10ce41f9fade01/plico_motor-0.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bd0c3ba6738bffce9bfdb6fd4d6e95489f528c252e576561f6f74bc816b252fb",
"md5": "c51f7514c5228d4e80e0336f1d92a972",
"sha256": "4c638aaa490b2e12c303c200354b45e9076e6e0abfba2eb58c9ac03ad288ee8b"
},
"downloads": -1,
"filename": "plico_motor-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "c51f7514c5228d4e80e0336f1d92a972",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14233,
"upload_time": "2024-06-25T13:55:50",
"upload_time_iso_8601": "2024-06-25T13:55:50.673695Z",
"url": "https://files.pythonhosted.org/packages/bd/0c/3ba6738bffce9bfdb6fd4d6e95489f528c252e576561f6f74bc816b252fb/plico_motor-0.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-25 13:55:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ArcetriAdaptiveOptics",
"github_project": "plico_motor",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "plico-motor"
}