Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Service docs work (Steiger) #224

Merged
merged 15 commits into from
Jul 16, 2024
Merged
42 changes: 42 additions & 0 deletions docs/services/bmc_dm.rst
Original file line number Diff line number Diff line change
@@ -1,14 +1,56 @@
Boston Deformable Mirror
========================
This service operates a pair of identical Boston Micromachines MEMS DMs controlled by the same driver. The following Boston DMs have been tested with catkit2 thus far:

- `BMC DM Kilo-C-1.5 <https://bostonmicromachines.com/products/deformable-mirrors/standard-deformable-mirrors/>`_

Configuration
-------------
.. code-block:: YAML

boston_dm:
service_type: bmc_dm
simulated_service_type: bmc_dm_sim
interface: bmc_dm
requires_safety: true

serial_number: 0000
command_length: 2048
num_actuators: 952
dac_bit_depth: 14
max_volts: 200

flat_map_fname: !path ../flat_data.fits
gain_map_fname: !path ../gain_map.fits
dm_mask_fname: !path ../dm_mask.fits

startup_maps:
flat: !path ../flat_data.fits

channels:
- correction_howfs
- correction_lowfs
- probe
- poke
- aberration
- atmosphere
- astrogrid
- resume
- flat

Properties
----------
``channels``: List of command channel names (dict).

Commands
--------

None.

Datastreams
-----------
``total_voltage``: Array of the total voltage applied to each actuator of the DM.

``total_surface``: Array of the total amplitude of each DM actuator (nanometers).

``channels[channel_name]``: The command (nm surface) per virtual channel, identified by channel name.
63 changes: 63 additions & 0 deletions docs/services/flir_camera.rst
Original file line number Diff line number Diff line change
@@ -1,14 +1,77 @@
FLIR Camera
===========
This service operates an FLIR camera. The following are the different types of FLIR cameras that have been tested and used with catkit2 so far:

- `Teledyne FLIR BFS-U3-63S4M-C <https://wilcoimaging.com/products/teledyne-flir-bfs-u3-63s4m-c?_pos=1&_sid=ff2b850d4&_ss=r>`_

For further documentation, see:

- `image format control <http://softwareservices.flir.com/BFS-U3-200S6/latest/Model/public/ImageFormatControl.html>`_

Note that using FLIR cameras requires a manual installation of drivers from `flir.com. <https://www.flir.com/support-center/iis/machine-vision/knowledge-base/technical-documentation-blackfly-s-usb3/>`_

Configuration
-------------
.. code-block:: YAML

camera1:
service_type: flir_camera
simulated_service_type: camera_sim
requires_safety: false

serial_number: 000000
width: 312
height: 312
offset_x: 100
offset_y: 134
adc_bit_depth: 12bit
pixel_format: mono12p
well_depth_percentage_target: 0.65
exposure_time: 1000
gain: 0
env:
KMP_DUPLICATE_LIB_OK: TRUE

Properties
----------
``exposure_time``: Exposure time (in microseconds) of the camera.

``gain``: Gain of the camera.

``width``: The width of the camera frames.

``height``: The height of the camera frames.

``offset_x``: The x offset of the camera frames on the sensor.

``offset_y``: The y offset of the camera frames on the sensor.

``sensor_width``: The width of the sensor.

``sensor_height``: The height of the sensor.

``pixel_format``: Format of the pixel provided by the camera.

``adc_bit_depth``: Fixed bit output of the camera ADC.

``acquisition_frame_rate``: Frame rate of the acquisition (if enabled, see below).

``acquisition_frame_rate_enable``: Whether to allow manual control of the acquisition frame rate.

``device_name``: The name of the camera.

Commands
--------
``start_acquisition()``: This starts the acquisition of images from the camera.

``end_acquisition()``: This ends the acquisition of images from the camera.


Datastreams
-----------
``temperature``: The temperature (in Celsius) as measured by the camera.

``images``: The images acquired by the camera.

``is_acquiring``: Whether the camera is currently acquiring images.

53 changes: 53 additions & 0 deletions docs/services/nkt_superk.rst
Original file line number Diff line number Diff line change
@@ -1,14 +1,67 @@
NKT Super K Compact Tunable Laser
=================================
The NKT Super K service contains software for controlling both the `NKT SuperK EVO Supercontinuum White Light Laser <https://contentnktphotonics.s3.eu-central-1.amazonaws.com/SuperK-EVO/SuperK%20EVO%20and%20EVO%20HP%20Product%20Guide-%2020231010%20R1.4.pdf>`_
and the `NKT SuperK VARIA Variable Bandpass Filter <https://contentnktphotonics.s3.eu-central-1.amazonaws.com/SuperK-VARIA/SuperK%20VARIA%20Product%20Guide-%2020231016%20R1.3.pdf>`_.
This is done because a single open port to the device is needed that cannot be shared between multiple services.

Associated drivers for both the EVO and VARIA (found in the linked manuals) also need to be installed.

Configuration
-------------

.. code-block:: YAML

nkt_superk:
service_type: nkt_superk
simulated_service_type: nkt_superk_sim
interface: nkt_superk
requires_safety: false

port: COM4
emission: 1
power_setpoint: 100
current_setpoint: 100
nd_setpoint: 100
lwp_setpoint: 633
swp_setpoint: 643
sleep_time_per_nm: 0.013
base_sleep_time: 0.05

Properties
----------

None.

Commands
--------

None.

Datastreams
-----------
``base_temperature``: Base temperature output by the EVO (Celsius).

``supply_voltage``: DC supply voltage to the EVO.

``external_control_input``: Level of external feedback control for the EVO (Volts, DC).

``emission``: Output emission of the EVO (int) - 0 is OFF, 1 is ON.

``power_setpoint``: Output emission power level of the EVO (in percent).

``current_setpoint``: Output current level of the EVO (in percent).

``monitor_input``: Monitors the input to the VARIA from the EVO.

``nd_setpoint``: Set point for the VARIA ND filter.

``swp_setpoint``: Upper bandwidth limit for the VARIA (in nm).

``lwp_setpoint``: Lower bandwidth limit for the VARIA (in nm).

``nd_filter_moving``: Whether the ND filer is moving for the VARIA.

``swp_filter_moving``: Whether the short wavelength (high-pass) filter is moving for the VARIA.

``lwp_filter_moving``: Whether the long wavelength (low-pass) filter is moving for the VARIA.

Loading