![]() |
cacao
Release 0.1.03-dev
Compute And Control For Adaptive Optics
|
Input channels are provided to offset the AO loop convergence point. By default, DM channels 04-11 can be dedicated to zero-point offsetting. The DM channels are sym-linked to aolN_dmZP0 - aolN_dmZP7.
Zero-point offsetting relies on two separate processes :
Zonal offsetting takes a DM map, multiplies it by the response matrix (in CPU or GPU). With Modal offsetting, this multiplication is pre-computed.
CPU-based zero point offsets will compute WFS offsets from the zero point offset DM channels (04-11) and apply them to the aolN_wfszpo# stream.
zplon0 to zplon7) to convert dm zero point displacements to wfs offsets.Every time one of the activated DM channel changes, the corresponding wfs aolN_wfszpo# zero point offset is CPU-computed.
The process runs inside tmux session aolNzploop#
A faster GPU-based zero point offset from DM to WFS is provided for each of the 8 offset channels. GPU-based and CPU-based offsetting for a single channel are mutually exclusive.
GPUzplon0 to GPUzplon7) to convert dm zero point displacements to wfs offsets.Every time one of the activated DM channel changes, the corresponding wfs aolN_wfszpo# zero point offset is GPU-computed.
The process runs inside tmux session aolNGPUzploop#
The two methods above are zonal offsetting: the DM map is multiplied by the zonal WFS response to compute WFS offset.
Modal offsetting, instead, relies on a pre-computed set of WFS modal offets. This is most useful when a separate control loop is driving modal offsets to the current loop.
To implement modal offsetting from a separate loop (refered to as the offsetting loop) :
To activate WFS offsets to aolN_wfsref, the user needs to :
LPzpo) prior to starting the loop.Command aolzpwfscloop (function AOloopControl_WFSzeropoint_sum_update_loop() ) launches a loop that monitors shared memory streams aolN_wfszpo0 to aolN_wfszpo7, and updates the WFS reference when one of these has changed.
The loop is running inside tmux session aolNwfszpo, and is launched when the loop is closed (Floopon) if the loop zero point offset flag is toggled on (LPzpo)
Measures average WFS residual with script :
./auxscripts/aolmkWFSres 0.0005
Running average is in stresm aol_wfsres_ave
The next steps are similar to the ones previously described, with the following important differences: