![]() |
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: