error: -1001

可能的原因及其处理措施如下:

  • 无法找到指定的相机

    运行程序时指定了相机序列号,但无法找到该相机。

    引起 error: -1001 报错的现象比较多,需根据报错信息排查问题。

error: -1005

可能的原因及其处理措施如下:

  • 相机被占用

    请排查是否有其他进程占用了该相机(如 Percipio Viewer 工具)。若是其他进程占用了该相机,关闭进程即可。

  • USB 连接线太长

    不建议使用过长的 USB 连接线(超过 3 米),请更换短线后再尝试打开相机。

error: -1014

现象描述 1

打开相机时报错 error: -1014。

可能的原因及解决办法

可能的原因及其处理措施如下:

  • 相机被占用

    请排查是否有本机上的其他进程(如 Percipio Viewer 工具)或其他上位机占用了该相机。若相机被占用,解除占用即可。

  • 相机内写入了第三方程序

    请联系 Percipio 售后支持。

  • 相机 IP 地址与上位机 IP 地址不在同一网段

    若相机 IP 地址与上位机 IP 地址不在同一网段,上位机可跨网段发现该相机,但不一定能打开。此时,可修改相机 IP 地址或上位机 IP 地址。若需修改相机 IP 地址,请参考 设置网络深度相机的 IP 地址

现象描述 2

采集图像时报错 error: -1014。

可能的原因及解决办法

可能的原因及其处理措施如下:

  • 程序中 TYFetchFrame 中的超时时间设置过短

    请根据相机的出图延迟时间合理设置超时时间,推荐 7000 以上,单位:毫秒。

    TYFetchFrame(hDevice, &frame, 7000);
    
  • 相机丢帧

    排查方法与相机帧率异常相同,请参见 网络相机帧率异常怎么办?

error: -1016

可能的原因及其处理措施如下:

  • 相机属性配置错误

例如:相机的 fetch_config.xml 文件中 writableAtRun≠"1" 的参数必须在 TYStartCapture() 之前设置,如图像分辨率、工作模式等。

若程序在 TYStartCapture() 之后配置将这类参数,运行程序后则会报错 error: -1016。

  • 在 Busy 时间内发送软触发命令

    TL460-S1-E1、FM851-S1-E2 在开始采集图像 TYStartCapture() 之后会有一段 Busy 时间,这段时间内发送软触发命令,会报错 error: -1016。

    可根据实际情况,采取以下方法解决:

    • 在开始采集图像 TYStartCapture() 之后增加一段延迟时间。

      MSLEEP(7000)
      
    • 修改代码,如下所示:

      while(TY_STATUS_BUSY == TYSendSoftTrigger(hDevice));
      

error: -1024

排查原因及解决办法

遇到错误 error: -1024 时,需按照以下方法排查问题:

  1. 选择以下任一方式读取 fw_error 固件错误码:

    方式 1:使用 SDK 读取

    1. 调用 TYOpenDevice() 接口,设置如下,打印 fw_err 固件错误码。

      TY_FW_ERRORCODE fw_err;
      TYOpenDevice(hIface, selectedDev.id, &hDevice,&fw_err);
      LOGD("%x", fw_err);
      
    2. 编译修改后的程序并运行,读出 fw_error 固件错误码。

    方式 2:使用 Percipio Viewer 读取

    操作步骤请参见 选择相机

  2. 根据 fw_error 固件错误码找出对应的错误信息。

    typedef enum TY_FW_ERRORCODE_LIST:uint32_t
    {
        TY_FW_ERRORCODE_CAM0_NOT_DETECTED       = 0x00000001,
        TY_FW_ERRORCODE_CAM1_NOT_DETECTED       = 0x00000002,
        TY_FW_ERRORCODE_CAM2_NOT_DETECTED       = 0x00000004,
        TY_FW_ERRORCODE_POE_NOT_INIT            = 0x00000008,
        TY_FW_ERRORCODE_RECMAP_NOT_CORRECT      = 0x00000010,
        TY_FW_ERRORCODE_LOOKUPTABLE_NOT_CORRECT = 0x00000020,
        TY_FW_ERRORCODE_DRV8899_NOT_INIT        = 0x00000040,
        TY_FW_ERRORCODE_CONFIG_NOT_FOUND        = 0x00010000,
        TY_FW_ERRORCODE_CONFIG_NOT_CORRECT      = 0x00020000,
        TY_FW_ERRORCODE_XML_NOT_FOUND           = 0x00040000,
        TY_FW_ERRORCODE_XML_NOT_CORRECT         = 0x00080000,
        TY_FW_ERRORCODE_XML_OVERRIDE_FAILED     = 0x00100000,
        TY_FW_ERRORCODE_CAM_INIT_FAILED         = 0x00200000,
        TY_FW_ERRORCODE_LASER_INIT_FAILED       = 0x00400000,
    }TY_FW_ERRORCODE_LIST;
    typedef uint32_t TY_FW_ERRORCODE;
    

    小技巧

    cam0 表示左红外镜头,cam1 表示右红外镜头,cam2 表示 RGB 镜头。

  3. 排查结果是 “0x00000008”,表示 PoE 错误,请检查 PoE 的型号是否符合协议标准。 如果是其他排查结果,请联系图漾技术支持。