//======= Copyright (c) Stereolabs Corporation, All rights reserved. ===============
///
/// Holds the ERROR enum returned by various high- and mid-level camera functions, and the Error2Str() method for
/// converting the errors to human-readible versions for displaying for the user.
///
public class ZEDLogMessage
{
///
/// Current version of the required SDK plugin as a string. Used to display errors
/// relating to a missing or mismatched SDK version.
///
static private string zed_sdk_version
{
get
{
int major = sl.ZEDCamera.PluginVersion.Major;
int minor = sl.ZEDCamera.PluginVersion.Minor;
return "v" + major + "." + minor;
}
}
///
/// Error categories returned by various camera functions, most often in GUIMessage.
/// See ZEDCommon.ERROR_CODE for errors straignt from the SDK.
///
public enum ERROR
{
///
/// The screen resolution is not 16:9.
///
SCREEN_RESOLUTION,
///
/// The ZED tracking could not be initialized.
///
TRACKING_NOT_INITIALIZED,
///
/// The camera failed to initialize.
///
CAMERA_NOT_INITIALIZED,
///
/// The camera has not been initialized yet.
///
CAMERA_LOADING,
///
/// SDK module are loading (tracking, object detection...)
///
SDK_MODULE_LOADING,
///
/// Could not open the camera.
///
UNABLE_TO_OPEN_CAMERA,
///
/// Camera detection issue.
///
CAMERA_DETECTION_ISSUE,
///
/// Motion sensor not detected (ZED Mini only).
///
SENSOR_NOT_DETECTED,
///
/// Low USB bandwidth.
///
LOW_USB_BANDWIDTH,
///
/// SteamVR plugin Camera Rig prefab not found.
///
VR_CAMERA_RIG_NOT_FOUND,
///
/// SteamVR plugin Camera Rig controller not found.
///
VR_CAMERA_RIG_CONTROLLER_NOT_FOUND,
///
/// A calibration file has been found but no controller/Tracker exists of the file's listed serial number.
///
PAD_CAMERA_CALIBRATION_MISMATCH,
///
/// The serial number of the calibration tool does not match any of the current controllers.
///
PAD_CAMERA_CALIBRATION_NOT_FOUND,
///
/// At least one VR controller must be detected.
///
NOT_ENOUGH_PAD_DETECTED,
///
/// SteamVR Unity plugin hasn't been imported.
///
STEAMVR_NOT_INSTALLED,
///
/// Oculus Integration Unity plugin hasn't been imported.
///
OVR_NOT_INSTALLED,
///
/// The ZED has been disconnected. (It was connected previously)
///
ZED_IS_DISCONNECETD,
///
/// The ZED SDK is not installed or a dependency is missing.
///
SDK_NOT_INSTALLED,
///
/// The ZED SDK is installed but it's not the version the Unity plugin requires.
///
INCORRECT_ZED_SDK_VERSION,
///
/// The SDK has a missing dependency.
///
SDK_DEPENDENCIES_ISSUE,
///
/// Scanned mesh is too small to create a Nav Mesh.
///
NAVMESH_NOT_GENERATED,
///
/// The tracking system could not load the spatial memory area file.
///
TRACKING_BASE_AREA_NOT_FOUND
}
///
/// Converts an ERROR enum to a string for displaying to the user. Called by various editor windows.
///
/// Error type to be converted to a string.
///
static public string Error2Str(ERROR error)
{
switch (error)
{
case ERROR.SCREEN_RESOLUTION:
return "Warning: Screen size should be set to 16:9 aspect ratio";
case ERROR.TRACKING_NOT_INITIALIZED:
return "Error: Unable to initialize Tracking module";
case ERROR.CAMERA_NOT_INITIALIZED:
return "Unable to open camera";
case ERROR.UNABLE_TO_OPEN_CAMERA:
return "Camera not detected";
case ERROR.CAMERA_DETECTION_ISSUE:
return "Unable to open camera";
case ERROR.SENSOR_NOT_DETECTED:
return "Camera motion sensor not detected";
case ERROR.LOW_USB_BANDWIDTH :
return "Low USB bandwidth";
case ERROR.CAMERA_LOADING:
return "Loading camera...";
case ERROR.SDK_MODULE_LOADING:
return " Loading modules...";
case ERROR.VR_CAMERA_RIG_NOT_FOUND:
return "Warning: No SteamVR [Camera Rig] object found. Make sure you attach the CameraRig SteamVR Prefab in the project to be able to use a VR controller.\n " +
"Otherwise, make sure the tracking is activated in the ZED Manager interface";
case ERROR.VR_CAMERA_RIG_CONTROLLER_NOT_FOUND:
return "Warning: At least one controller is recommended for the external camera";
case ERROR.PAD_CAMERA_CALIBRATION_MISMATCH:
return "Warning: VR Controller and ZED Camera must be calibrated before use with Stereolabs' GreenScreen Calibration tool). " +
"\n The controller/Tracker in the calibration file is not present.";
case ERROR.PAD_CAMERA_CALIBRATION_NOT_FOUND:
return "Warning: VR Controller and ZED Camera must be calibrated before use with Stereolabs' GreenScreen Calibration tool). " +
"\n No calibration file has been detected.";
case ERROR.NOT_ENOUGH_PAD_DETECTED:
return "Warning: At least one controller must be detected. Number of devices detected: ";
case ERROR.STEAMVR_NOT_INSTALLED:
return "Warning: SteamVR is not installed.";
case ERROR.OVR_NOT_INSTALLED:
return "Warning: OVR Plugin is not installed.";
case ERROR.ZED_IS_DISCONNECETD:
return "Camera disconnected";
case ERROR.SDK_NOT_INSTALLED:
return "ZED SDK not installed";
case ERROR.SDK_DEPENDENCIES_ISSUE:
return "The ZED plugin cannot be loaded. \n Please check that you have ZED SDK "+ zed_sdk_version +" installed" +
"\n\n If the problem persists, please contact our support team at support@stereolabs.com\n";
case ERROR.NAVMESH_NOT_GENERATED:
return "The NavMesh cannot be generated. Please change the settings of the Navigation Agent, or scan a wider zone.";
case ERROR.TRACKING_BASE_AREA_NOT_FOUND:
return "The tracking could not load the spatial memory area file.";
default:
return "Unknown error";
}
}
}