{ "info": { "author": "Olivier Heriveaux", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "[![Documentation Status](https://readthedocs.org/projects/pypdm/badge/?version=latest)](https://pypdm.readthedocs.io/en/latest/?badge=latest)\n\n# PyPDM\n\nPython3 library for controlling Alphanov's PDM laser sources. Currently supported PDM protocol version is 3.4. Daisy-chain configuration for multiple devices is supported, so it is possible to use many PDMs with only one serial link.\n\n## Installation\n\nClone the repository then use pip3 to install the package.\n\n pip3 install pypdm\n\n## Documentation\n\nA quick documentation is available on [Read the Docs](https://pypdm.readthedocs.io). A simple usage example is also provided below.\n\n## Requirements\n\nThis library requires the following packages:\n- pyserial\n\n## Safety\n\nWhen a PDM object is deleted, the library may try to switch off the laser source for safety. However, you shall not rely on this behavior and always beware of dangers when using laser equipments! Please always wear laser safety goggles or use any appropriate safety equipment to prevent any harmful accident.\n\n## Usage example\n\n### Basic laser activation in continuous mode\n\n```python\nimport pypdm\n\npdm = pypdm.PDM(1, 'COM0')\n# Set offset current in mA.\npdm.offset_current = 30\npdm.activation = True\n# Apply new settings to the device.\npdm.apply()\n```\n\n### Basic laser configuration for pulsed operation\n\n```python\nimport pypdm\n\npdm = pypdm.PDM(1, 'COM0')\n# Set pulse power to 50%\npdm.current_source = pypdm.CurrentSource.NUMERIC\npdm.current_percentage = 50\npdm.activation = True\n# Apply new settings to the device.\npdm.apply()\n```\n\n### List of available properties\n\n```python\nimport pypdm\n\npdm = pypdm.PDM(1, 'COM0')\nprint('Mode:', pdm.mode)\nprint('Synchronization source:', pdm.sync_source)\nprint('Delay line type:', pdm.delay_line_type)\nprint('Frequency (Hz):', pdm.frequency)\nprint('Pulse width (ps):', pdm.pulse_width)\nprint('Delay (ps):', pdm.delay)\nprint('Offset current (mA):', pdm.offset_current)\nprint('Current (%):', pdm.current_percentage)\nprint('Current (mA):', pdm.current)\nprint('Temperature (C\u00b0):', pdm.temperature)\nprint('Maximum current (mA):', pdm.maximum_current)\nprint('Interlock status:', pdm.interlock_status)\nprint('Laser activation:', pdm.laser_activation)\n```\n\n### Use of two sources in daisy-chain configuration\n\n```python\nimport pypdm\n\npdm1 = pypdm.PDM(1, 'COM0')\npdm2 = pypdm.PDM(2, pdm1)\n```\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Ledger-Donjon/pypdm", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pypdm", "package_url": "https://pypi.org/project/pypdm/", "platform": "", "project_url": "https://pypi.org/project/pypdm/", "project_urls": { "Homepage": "https://github.com/Ledger-Donjon/pypdm" }, "release_url": "https://pypi.org/project/pypdm/1.1/", "requires_dist": [ "pyserial" ], "requires_python": ">=3.4", "summary": "", "version": "1.1" }, "last_serial": 5944396, "releases": { "1.1": [ { "comment_text": "", "digests": { "md5": "fa65ff8bbe11e51a9ad8614d28e6a9ee", "sha256": "7a43e9364f204d377e767ae9c18d2b8b4450d517b87c0769518e30190e570f11" }, "downloads": -1, "filename": "pypdm-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fa65ff8bbe11e51a9ad8614d28e6a9ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 22821, "upload_time": "2019-10-08T11:45:35", "url": "https://files.pythonhosted.org/packages/d7/4d/811b5557695d2ca00b442bf37c2c7f8a9328cf8beba7b28cf7222325f6f1/pypdm-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2579261fa0ecb6e85484ae805e123f9", "sha256": "1ad06d7fe28eac452caf0588e331ff442fe497cffe773e98d4ea122b2dfed42d" }, "downloads": -1, "filename": "pypdm-1.1.tar.gz", "has_sig": false, "md5_digest": "a2579261fa0ecb6e85484ae805e123f9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 6290, "upload_time": "2019-10-08T11:45:38", "url": "https://files.pythonhosted.org/packages/92/cc/220b07d8c7595f51401956b4e44fbe47d28cc489f4ff99a680db957dfb99/pypdm-1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fa65ff8bbe11e51a9ad8614d28e6a9ee", "sha256": "7a43e9364f204d377e767ae9c18d2b8b4450d517b87c0769518e30190e570f11" }, "downloads": -1, "filename": "pypdm-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fa65ff8bbe11e51a9ad8614d28e6a9ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 22821, "upload_time": "2019-10-08T11:45:35", "url": "https://files.pythonhosted.org/packages/d7/4d/811b5557695d2ca00b442bf37c2c7f8a9328cf8beba7b28cf7222325f6f1/pypdm-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2579261fa0ecb6e85484ae805e123f9", "sha256": "1ad06d7fe28eac452caf0588e331ff442fe497cffe773e98d4ea122b2dfed42d" }, "downloads": -1, "filename": "pypdm-1.1.tar.gz", "has_sig": false, "md5_digest": "a2579261fa0ecb6e85484ae805e123f9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 6290, "upload_time": "2019-10-08T11:45:38", "url": "https://files.pythonhosted.org/packages/92/cc/220b07d8c7595f51401956b4e44fbe47d28cc489f4ff99a680db957dfb99/pypdm-1.1.tar.gz" } ] }