Some refactoring step 1 (scanconfig)
Main changes:
Bringing some ideas from the conceptual thought, but with minimal change in the code structure.
-
DataProcessthreads are moved inside each class, and removed fromscanConsole.- Threads are simply callable by run() and join(). For
Fei4DataProcessor, multiple threads are allocated, while forFei4HistogrammerandFei4Analysisa single thread is present. - The threads run with wait using
std::condition_variablewhere it is a member of the inputClipBoard. In this way, the upstream process can notify to the downstream about non-emptiness of theClipBoard. Then e.g. wait(100ms) is not needed.
- Threads are simply callable by run() and join(). For
- Trying to make class
FrontEndlighter by removingFei4HistogrammerandFei4Analysisfrom the members. Instead these are administrated directly byscanConsole-- will be suitable for less dependencies.
Confirmed the functionality for scan_config.json and a few scans (digitalscan, analogscan, totscan). See attachment log.