Version 1.0.0¶
First release of OCM comes with basic support for performing Data Acquisitions from standard compliant sources (sources implementing metadaqif or recif).
New Features¶
New applications ocmServer and ocmServerCtl that implements the server and client/controller for the Acquisition part of the Data Acquisition life-cycle.
Create serial or concurrent Data Acquisitions with any number of primary or metadata sources with
StartDaq().OCM creates a FITS file for each Data Acquisition containing user provided and data source provided FITS keywords.
Control active Data Acquisition with
StopDaq()andAbortDaq().Modify Data Acquisition primary keywords with
UpdateKeywords().Synchronize with Data Acquisition state for higher level coordination activities with
AwaitDaqState()andGetDaqStatus().Observe active Data Acquisitions with
GetActiveList().
Known Issues and Limitations¶
Keyword formatting is not configurable and no dictionary validation is performed on FITS keywords (provided with commands
StartDaq()andUpdateKeywords()or part of reply from metadaqif).Standard keywords that OCM should provide, are not yet included in the created FITS file from OCM.
Data Acquisition state persistence is not implemented yet. If ocmServer is restarted all state is lost.
An assertion in the CII Middleware Abstraction Layer used by ocmServerCtl has been observed from time to time. It is easily identified by the following output on stdout:
ocmServerCtl: ../mal-zpb/cpp/mal-zpb/src/include/Zmq.hpp:453: void zmq::context_t::close(): Assertion `rc == 0' failed.
MAL does not handle timeouts correctly. If an endpoint does not reply to a command OCM will wait indefinitely.