| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
The O² Control and Configuration (OCC) interface is the bidirectional intermediary between AliECS and all stateful controlled processes.
For FairMQ devices, the OCC interface is implemented by the OCCLite Plugin (default) and previously by the OCC Plugin (deprecated). The OCCLite plugin interfaces with the FairMQ plugin system, therefore no user code changes are necessary to make a FairMQ device compatible with AliECS.
For stateful tasks that do not use FairMQ, the OCC interface is implemented by the OCC library (OCClib). The task implementor who wishes to make use of AliECS must link against OCClib and implement the RuntimeControlledObject C++ interface.
Starting from the occ directory.
$ mkdir build && cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Debug -DFAIRMQPATH=<path to FairMQ prefix> -DFAIRLOGGERPATH=<path to FairLogger prefix>
$ makeIt can also be built via aliBuild (package Control-OCCPlugin).
From build dir:
$ occlib/examples/dummy-process/occexample-dummy-processor
$ occlib/examples/dummy-process/occexample-dummy-process --control-port <some port>or
$ OCC_CONTROL_PORT=<some port> occlib/examples/dummy-process/occexample-dummy-processThe dummy process now waits for control commands.
The figure below describes the OCC state machine, as implemented in the OCC library and exposed by the OCC API for non-FairMQ devices (controlmode.DIRECT).
Note: a PAUSED state with events PAUSE/RESUME is foreseen but not used yet.
See peanut Overview.
| Back | FazBrowse Home | New Git URL |