Skip to content

dungducphan/UT3_Control_And_Data_Acquisition_System

Repository files navigation

UT3 Control and Data Acquisition System

TANGO Control System and Data Aacquisition Front-End for UT3 Laboratory

Dependencies:

  • 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.

Build instruction:

Deployment instruction:

Change logs

2023-08-21

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.

2023-08-28

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.