Skip to main content

Python driver for AA OptoElectronics AOTF device.

Project description

AA OptoElectronics MPDSnCxx AOTF Driver

License

python driver to control MPDSnCxx AOTF devices.

Installation

To install this package from PyPI, invoke: pip install aaopto-aotf

To install this package from the Github in editable mode, from this directory invoke: pip install -e .

To install this package in editable mode with dependencies for building the docs, invoke: pip install -e .[dev]

Intro and Basic Usage

from aaopto_aotf.aotf import MPDS

aotf = MPDS("COM3")

Before writing values, you must first set the global blanking mode, and each channel's frequency, mode, and whether it is driven by external input or internal (software controlled) input.

from aaopto_aotf.aotf import MPDS, MAX_POWER_DBM
from aaopto_aotf.device_codes import DriverMode, BlankingMode, VoltageRange

aotf.set_blanking(BlankingMode.INTERNAL)  # disable blanking control from external input pin.
aotf.set_external_input_voltage_range(VoltageRange.ZERO_TO_FIVE_VOLTS)

# Note: device channels are 1-indexed to be consistent with the datasheet.
for channel in range(1, aotf.num_channels + 1):
    aotf.set_frequency(channel, 110.5)
    aotf.set_driver_mode(DriverMode.EXTERNAL)

If the driver mode is set to DriverMode.EXTERNAL, the device will take its output setpoint from the external input pin.

If set to DriverMode.INTERNAL, you can control the output with software settings:

for channel in range(1, aotf.num_channels + 1):
    aotf.set_driver_mode(DriverMode.INTERNAL)
    aotf.set_power_dbm(channel, MAX_POWER_DBM)
    aotf.enable_channel(channel)

Note that internal mode only enables a simple "On/Off" control scheme, and does not support linear scaling like external mode does vial the external analog input.

At this point, you might want to save the values set above to the current profile.

aotf.save_profile()  # Now, calling an aotf.reset() will start with the saved settings.

What's missing?

Here are the minor dangling features that are not implemented.

  • changing laser channel profiles at runtime. (These must be changed with the external input pins.)
  • automatic sweeping mode
    • automatic self-sweeping is a somewhat out-of-the-ordinary feature for most users.

Examples:

Have a look at the examples folder to see other examples and make use of a useful calibration script.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aaopto_aotf-0.0.12.tar.gz (39.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aaopto_aotf-0.0.12-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file aaopto_aotf-0.0.12.tar.gz.

File metadata

  • Download URL: aaopto_aotf-0.0.12.tar.gz
  • Upload date:
  • Size: 39.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.25

File hashes

Hashes for aaopto_aotf-0.0.12.tar.gz
Algorithm Hash digest
SHA256 6658b98e335f472985c9df0de7dc7aef3a642fff20a46f49b557f51b2ca100dc
MD5 711c27b1d45f01fd9db9231ff78aec05
BLAKE2b-256 5b3ef1cea6097b50ecfa137d956a3cd93a063aec146ae93d51bae0c2126e2952

See more details on using hashes here.

File details

Details for the file aaopto_aotf-0.0.12-py3-none-any.whl.

File metadata

  • Download URL: aaopto_aotf-0.0.12-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.25

File hashes

Hashes for aaopto_aotf-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 dd18dd87ff14d7b2f727cf9b4cf8064300693ffc3a88cd0be4c0171e9ff389ae
MD5 0d311d572d6e169be1326aea5ae11f99
BLAKE2b-256 ab6850df2cded7bdef37b0cb1fa26524664ac8044d8ead862f3743b9510b9b96

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page