private CameraStatus ConvertToCameraStatus(ASI_EXPOSURE_STATUS asi_EXPOSURE_STATUS) { switch (asi_EXPOSURE_STATUS) { case ASI_EXPOSURE_STATUS.ASI_EXP_IDLE: return(CameraStatus.Idle); case ASI_EXPOSURE_STATUS.ASI_EXP_WORKING: return(CameraStatus.Working); case ASI_EXPOSURE_STATUS.ASI_EXP_SUCCESS: return(CameraStatus.CaptureSuccess); case ASI_EXPOSURE_STATUS.ASI_EXP_FAILED: return(CameraStatus.Error); default: return(CameraStatus.Unknown); } }
public Result GetCaputreStat(out CameraStatus captureStatus, bool logSuccessResult = false) { ASI_ERROR_CODE asi_error_code = ASI_ERROR_CODE.ASI_SUCCESS; Exception exception = null; Result result; ASI_EXPOSURE_STATUS aSI_EXPOSURE_STATUS = ASI_EXPOSURE_STATUS.ASI_EXP_WORKING; try { asi_error_code = ASIGetExpStatus(CameraID, out aSI_EXPOSURE_STATUS); } catch (Exception e) { exception = e; } result = GetOperationResult("ASIGetExpStatus", asi_error_code, exception, logSuccessResult); Status = result.Code == ErrorCode.OK ? ConvertToCameraStatus(aSI_EXPOSURE_STATUS) : CameraStatus.Unknown; captureStatus = Status; return(result); }
public static ASI_ERROR_CODE ASIGetExpStatus(int iCameraID, out ASI_EXPOSURE_STATUS pExpStatus) { return(IntPtr.Size == 8 /* 64bit */ ? ASIGetExpStatus64(iCameraID, out pExpStatus) : ASIGetExpStatus32(iCameraID, out pExpStatus)); }
private static extern ASI_ERROR_CODE ASIGetExpStatus64(int iCameraID, out ASI_EXPOSURE_STATUS pExpStatus);