Cameras¶
Description¶
Mini-EUSO is equipped with two ancillary cameras to provide complementary measurements in different wavelength bands (NIR and VIS). The main camera software, multiplecam
, is stored in CPU/cameras/multiplecam
and is written and maintained by Sara Turriziani (sara.turriziani@gmail.com). Some documentation can be found in CPU/cameras/multiplecam/doc
.
The CamManager class is an interface to this software and handles the lauching of the camera software in a robust way, and the parallel operation of the cameras with respect to the other instrument subsystems.
CamManager¶
-
class CamManager¶
interface to the multiplecam camera software to allow for parallel acquisition with the two cameras (VIS and NIR)
Public Types
Public Functions
-
CamManager()¶
constructor. initialisation of usb_num_storage_dev, n_relaunch attempt and launch_running
-
int SetVerbose()¶
set verbose output for debugging
-
int KillCamAcq()¶
kill the camera thread. used when switching mode or shutting down. the camera thread holds no locked resources.
-
int CollectData()¶
spawn thread to launch the camera software thread is joined if launch fails and detached if launch successful
Public Members
-
int nir_serial¶
stores the NIR serial number
-
int vis_serial¶
stores the VIS serial number
-
std::thread::native_handle_type cam_thread_handle¶
stores the camera thread handle
-
int usb_num_storage_dev¶
stores the number of available usb storage devices
-
int n_relaunch_attempt¶
stores the number of attempts to launch the cameras
Private Functions
-
int StartAcquisition()¶
start camera acquisition and react to launch failure if necessary
-
const char *DefineLaunchCmd()¶
define the command to launch the cameras based on required situation (write_directory, NIR or VIS or both, etc)
-
void ParseSerialNumbers()¶
parses the multiplecam software cameras.ini file to get the NIR and VIS serial numbers called by the CamManager constructor
-
CamManager()¶