TANGO Control System and Data Aacquisition Front-End for UT3 Laboratory
- TANGO control.
- Camera SDKs: PCO pco.cpp, Basler pylon, and FLIR spinnaker.
- Boost libraries: filesystem, concurrency, interprocess.
- OpenCV: for image preprocessing.
- Image format library: TIFF, PNG, JPEG.
Finished basic functionality:
- ConfigureShotMode cameras in shot mode (reveicing external trigger from timing unit) and test mode (receiving manual software trigger from clients).
- Multithreaded: individual threads to collect acquired images while one thread to handle client requests.
- Saving image to a specified directory. Naming convention:
<TANGO_device_name>\shot_<shotID:%05d>_<millisec_linuxtimestamp>.tiff
for external trigger shots.<TANGO_device_name>\test_<shotID:%05d>_<millisec_linuxtimestamp>.tiff
for test shots.- Test shots do not increase the
shotID
, so operators/experts can associate the test shots with the correct external-triggered shots.
- Froze the development with v0.1.
Resolve some issues with the PR with respect to the CameraServer:
- Build system refactoring.
- Adding new Image attribute to TANGOCamera.
- Make the new Image attribute dynamic.
- Small fix bugs and quality of life. Approved PR, merged to main.
More functionalities on CameraServer. Now the data and state control should be moved into client codes, we will extend the functionalities of the device server a bit:
- Clients can configure the devices in 3 modes: ShotMode (for production), ManualTriggerMode (for test purposes), and FreeRunMode (for alignment/test purposes).
- Fix some major issues with server state machine (in particular, when client issues Init(), only the init_device() function is called, leading to memory leaks on dynImage.