The TApi is used for low level debugging of the system. Some features are not exposed at high levels, or are more cumbersome.
There are SctApiOptions, mostly for debugging.
The SctApi itself does things like:
- Handling primitives to RODs
- Histogramming modules
It configures itself using the ConfigurationService.
It is controlled by the CalibrationController.
It publishes Histograms to IS using ScanResultWriter.
It communicates with the DDC using SctDdc.
There is gui called SctApiGUI.
It is defined by the class <SctApi>.
A ROOT interface is provided TApi.
An IPC interface <SctApi> is used by the CalibrationController.
Future (SctApiToDo):
- Synchronous triggers (TIM)
- Separate interface from primitive builder.
Done:
- New memory management for primitive lists.
- Multiple RODs (untested)
- Refactor for unit testing
- Crate becomes threaded primitive executer.
For SctRodDaqRelease3:
- DSP code (Rev E) integration
- Multiple RODs (coding and testing)
- TIM (for synchronous triggers)
- TIM trigger definitions
- DDC
- Get configuration to PVSS
- Commands (select, run change, hard reset)
- IVCurve
- Set any parameter
- Disable modules (remove configuration from ROD temporarily?)