...
- The Camera Watchdog creates Camera objects in MATLAB for each FACET Profile Monitor. Each Camera tracks object stores data such as the Camera's name, location, and the number of times a reboot has been attempted.
- Each Camera is assigned assigns itself a State PV based on its Connection status, Acquisition status (Acquiring or Idle), Trigger Mode (Sync in 1 or Free Run) and Array Rate (zero or nonzero). The Camera script object is listening for updates from EPICS, so if one of these values PVs changes, the Camera updates the State PV.
- If the State PV shows that the Camera is in a disconnected State, it attempts to reboot itrevive itself.
- Once a day, the Camera Watchdog creates a report and saves it to a MAT file.
States
The different possible States for the Cameras are:
0 - The Camera is connected, acquiring, the array rate is nonzero, and the trigger mode is set to 'Sync in 1'.
1 - The Camera is disconnected.
2 - The Camera is connected and acquiring, but the array rate is zero.
3 - The Camera is connected, but it is idle.
4 - The Camera is connected, acquiring, and the array rate is nonzero, but the trigger mode is set to 'Free Run.'
The Camera object is periodically checking for updates from EPICS. If one of the relevant PVs changes, it updates the State. All State updates are recorded in a log file.
Rebooting
If a Camera is in State 1, it can attempt to reboot itself by calling its PowerCycle PV. It will only attempt to revive itself once.
If a Camera is in State 3, it can put itself in acquiring mode.
If a Camera is in State 4, it can set its trigger mode to 'Sync in 1'.
Daily Report
Once a day, the Camera Watchdog creates a report of camera data for all of the FACET profile monitors. It captures the following data in a table:
Name, Model, PV, X Orientation, Y Orientation, Resolution, Exposure, Connection, Serial Number, and Number of Reboots