![]() |
cacao
Release 0.1.03-dev
Compute And Control For Adaptive Optics
|
At the low level, most operations are performed by calls to the main executable which is precompiled C code. The user interacts with a high level ASCII-based GUI, which performs calls to individual scripts or directly execute instances of the main executable.
The standard code layers are : GUI calls SCRIPT calls PRECOMPILED EXECUTABLE
The top level script is aolconf
. Run it with -h
option for a quick help
./aolconf -h
The aolconf
script starts the main GUI screen from which sub-screens can be accessed. ASCII control GUI scripts are in the aolconfscripts
directory.
The scripts are listed below in the order they appear in the GUI menu. Boldface scripts corresponds to GUI screens. Supporting scripts (holding frequently used functions) are boldface italic.
Script Description
aolconf_menutop GUI: Top level menu
aolconf_funcs Misc functions
aolconf_DMfuncs DM Functions
aolconf_readconf Configuration read functions
aolconf_menuview GUI: Data view menu
aolconf_template Template (use to create additional GUI screens)
-—CONFIGURATION----------------— setup configuration, links to hardware
aolconf_menuconfigureloop GUI: Configure loop menu. Called from main menu
aolconf_configureloop_funcs Functions used within the configureloop GUI screen
-—CONTROL MATRIX---------------— compute control matrix
aolconf_menucontrolmatrix GUI: Control matrix menu. Called from main menu
aolconf_controlmatrix_funcs Functions used within the controlmatrix GUI screen
aolconf_menu_mkFModes Make modes
-—LOOP CONTROL-----------------— control AO loop
aolconf_menucontrolloop GUI: Control loop menu. Called from main menu
aolconf_controlloop_funcs Functions used within the controlloop GUI screen
-—PREDICTIVE CONTROL-----------— WFS telemetry prediction and related AO control
aolconf_menupredictivecontrol GUI:Predictive control
-—TESTING----------------------— AO loop tests
aolconf_menutestmode GUI: test mode menu
aolconf_DMturb DM turbulence functions
-—LOGGING----------------------— Log telemetry
aolconf_menurecord GUI: Record / log telemetry
aolconf_logfuncs Data and command logging
Scripts are organized in directories according to their purpose
Directory Description
aolconfscripts GUI scripts (see previous section)
aolfuncs Frequently used functions
auxscripts Auxillary scripts. Essential high level scripts in this directory.
aohardsim Hardware simulation
aocscripts Custom user-provided scripts to interact with non real-time hardware
The auxscripts
directory are called by aolconf to perform various tasks. To list all commands, type in the auxscripts
directory :
./listcommands
For each script, the -h
option will print help.
The main precompiled executable is ./AOloopControl
, which provides a command line interface (CLI) to all compiled code. Type AOloopControl -h
for help. You can enter the CLI and list the available libraries (also called modules) that are linked to the CLI. You can also list the functions available within each module (m? <module.c>
) and help for each function (cmd? <functionname>
). Type help
within the CLI for additional directions, and exit
or exitCLI
to exit the command line.
AOCCE adopts a common shared memory data format for all data streams. The data structure is defined in file <srcdir>/src/ImageStruct.h
.
Configurations parameters are stored in directory <workdir>/conf
as ASCII files. When AOCCEE is launched, it can load all required parameters and populate required shared memory streams from information contained in the <workdir>/conf
directory.