This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DLPNIRNANOEVM:需要帮助:DLPNIRNANOEVM—橙色状态点和 Python API 问题 (v2.1.0)

Guru**** 2810285 points

Other Parts Discussed in Thread: DLPNIRNANOEVM, HDC1000, BQ24250

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/1609195/dlpnirnanoevm-help-needed-dlpnirnanoevm-orange-status-dots-and-python-api-issues-v2-1-0

器件型号: DLPNIRNANOEVM
主题中讨论的其他器件: HDC1000BQ24250

您好、  

问题摘要: 我无法从接收数据 DLPNIRNANOEVM 使用 Python 脚本 (hidapi)、尽管器件功能正常且能够在中进行扫描 Windows GUI 。 该器件经常进入带有橙色状态指示器的“锁存错误“状态。

硬件设置:

  • 电源: 3.7V 锂聚合物电池连接到 J3。
  • 温度: 10K NTC 热敏电阻连接到 J7。
  • SD 卡: 32GB microSD、格式化为 FAT32。

当前状态:

  • 固件: 已确认 v2.1.0 (TIVA 软件)。
  • 指示灯: 绿色“心跳“LED 处于活动状态。 红色错误指示灯为 迷惑不解
  • GUI 状态: * TIVA SD 卡 点是什么 橙色
    • 温度传感器 点是偶尔出现的 橙色 、即使在读取 0.00°C 或室温时也是如此。
  • Python 错误: 脚本返回响应:[]或错误:设备未返回扫描数据。

已尝试的内容:

  1. 目录结构: 已验证 SD 卡根目录是否包含 C370053/FACT_REF.DAT 和 config/DefConfig.dat 子文件夹。
  2. 清除错误: 已尝试在 GUI 中按以清除、并在 Utilities 选项卡中尝试复位。 错误通常会持续存在或重新锁存。
  3. 资源锁定: 已确保 Windows GUI 为 完全关闭 然后运行 Python 脚本以防止 HID 接口锁定。
  4. 电源时序: 按照“先电池、然后 USB “上电序列进行操作。

面向 TI 工程师的具体问题:

  1. 执行 橙色温度 SD 卡 状态点明确阻止 HID API 将数据返回给第三方脚本?
  2. 如何永久清除 温度传感器锁存 是否验证了硬件连接 (J7)?
  3. 是否有特定内容 USB 报告 ID 时序要求 (例如,在启动扫描后 Tiva 处理器响应 Python device.read () 命令所需的非阻塞读取)?
  4. 通过 Windows GUI 在本地保存时、扫描配置会存储在哪里?

您能为以下扫描配置提供.DAT 文件吗?

方法:哈达玛

起始 NM:900

结束 NM:1700

宽度 NM:7.03

第 228 章我是不是也不知道

曝光时间:0.635

导入隐藏
导入时间

DEF RUN_PHD_SCAN_v2 ():
  VID = 0x0451
  PID = 0x4200
  
  尝试:
    设备= hid.device
    device.open (VID、PID)
    打印(“已连接。 正在启动扫描...“)

    第 1 题。 触发扫描(命令 0x02 0x01)
    #注意: Windows HID 需要报告 ID 0x00
    device.write ([0x00、0x02、0x01]+[0x00]*62)
    
    #2。 轮询以完成
    #我们检查状态,而不是盲目睡眠
    对于_ in range (10):
      Time.sleep (1)
      #命令 0x01 0x01 0x01(获取器件状态)
      device.write ([0x00、0x01、0x01]+[0x00]*62)
      状态= device.read (64)
      
      #状态字节 4 通常表示系统是“忙碌“还是“空闲“
      如果 STATUS AND STATUS[4]= 0:# 0 =空闲/已完成
        打印 (“扫描完成“)
        休息
      打印(“仍在扫描...“)

    #3. 请求数据(命令 0x02 0x03)
    device.write ([0x00、0x02、0x03]+[0x00]*62)
    数据= device.read (64、timeout_ms=3000)
    
    如果是数据:
      其中 open(“phd_scan_results.bin",“,"wb"、"wb")“)表示“ 表示为 f:
        F.write(字节 (DATA))
      print(“成功:保存到 phd_scan_results.bin“的数据)
    否则:
      PRINT(“读取错误:未返回数据。 检查 SD 卡空间。“)

  例外情况为 e:
    打印 (f“失败:{e}“)
  最后:
    device.close()

如果__NAME__=“__MAIN__":“:
  RUN_PHD_SCAN_v2 () TIFORUM1.png
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我购买了 DLPNIRNANOEVM 板采购我的博士工作构建一个物联网设备独立工作与 ToF 传感器和 RasberryPi 集成,以触发扫描并保存到 SD 卡

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Shiva

    感谢您联系我们并使用 E2E 论坛! 我们团队的专家将审核该主题、并尽快回复您。

    此致、  

    Tristan Bottone

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Shiva、

     NIRscan Nano EVM Guide H.1.1 USB Transaction Sequence 和 5.2.1 Scan Workflow 中均提供了相关参考:

    1.“NNO_CMD_READ_DEVICE_STATUS"显示“显示器件状态的返回值、但这些状态检查不会停止 HID API。

    2.您能否通过单击温度错误指示灯来提供特定的 HDC1000 错误?  DRDY 信号是否能看到回 TIVA?

    3 和 4。 在 H.1.1 中、定义了数据标头以及 USB 标头。 建议您查看此 E2E 主题 (https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/1593775/dlpnirnanoevm-inquiry-regarding-usb-bluetooth-data-transfer-and-automatic-file-saving/6179090?tisearch=e2e-sitesearch&keymatch=DLPNIRNANOEVM#)。

    您似乎还缺少 必要的“读取文件列表“、“读取文件大小“以及“读取文件数据“的多次迭代 — 这是第 5.2.1 节(步骤 3)。

    请确保遵循了表 H-1 中所示的 HID 协议序列。

    此致、

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢、Aaron、但是、我在 Tiva 和 SD 卡上看到橙色。 实际上、我使用的是工业级 SD 卡、3.7V 锂离子电池、带热敏电阻。

    此外,我在 EVM 上有一个配置设置为默认值(通过 GUI 可见),但无法读取它。 如果我将配置文件保存在本地、该文件会存储在我的笔记本电脑上的什么位置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Shiva、

    GUI 按钮颜色不必包含错误、如果出现错误、第一行将显示为亮起。

    保存的扫描路径应位于“扫描“选项卡下、 路径名称旁边带有“更改“。

    此致、

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Aron:

    很抱歉长的消息、但老实说、我有点卡住了、这正变得令人沮丧、因此我想清楚地列出我看到的内容。

    我正在使用 NIRscan Nano 、虽然我可以使用 TI GUI 成功执行扫描、但在尝试通过实现工作流程自动化时、我遇到了多种限制 通过 USB 连接 Python (Raspberry Pi / Ubuntu)

    工作原理

    • 可以使用 TI GUI 连接到器件

    • 我可以从 GUI 执行扫描

    • 我可以将扫描结果保存到 本地 PC 驱动器

    • 器件显示响应迅速(灯亮起,在 GUI 中运行扫描)

    哪些不起作用

    1. 扫描配置访问

      • 我有一个DefConfig保存到 NIRscan Nano 的扫描配置(例如)

      • 但是、通过 USB 上的 Python:

        • 我无法读取存储的扫描配置

        • 我无法可靠地“Set Active Config“

        • 该器件报告零存储的配置或返回空/ACK 响应

    2. 本地配置文件

      • 我也无法使用在 PC 上本地保存的扫描配置文件 (“保存到本地“)、然后通过 USB 以编程方式应用它们

    3. MicroSD 卡

      • 我试过工业级 16 GB microSD 卡

      • 扫描无法保存到 SD 卡(即使从 GUI 也是如此)

      • 设备似乎不会在卡上创建或写入扫描数据文件

    4. 蓝牙

      • 我无法建立有效的蓝牙连接

    这为何重要(我的用例)

    我的目标用例是 全自动扫描

    • a. 飞行时间 (ToF) 接近传感器 检测何时将样本放置在采样窗口中

    • 这会自动触发扫描

    • a. 在 Raspberry Pi 上运行的微服务 4. 通过 USB 控制扫描并实时检索频谱数据

    此工作流程主要依赖于:

    • 能够以编程方式激活扫描配置

    • 能够通过 USB 或 SD 卡检索扫描数据(无需 GUI)

    问题

    假设:

    • 扫描配置以编程方式显示为不可访问

    • 无法保存 SD 卡

    • 蓝牙不起作用

    • 但扫描在 GUI 中确实有效(仅适用于 PC)

    …我开始想知道这是否可能是 设备或固件出现故障 而不是我方面的软件错误。

    如果存在:

    • 我应该注意的固件限制

    • SD 卡格式化的具体要求

    • 有关通过 USB 访问保存的扫描配置的已知限制

    • 执行任何安全操作、从而确认器件运行状况

    …非常感谢您的指导。

    感谢您的时间和耐心—任何见解都将非常有帮助。

    此致、

    Shiva Reddy

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Shiva、

    下周我将获得更多信息 — 我和我的团队将讨论您的问题并尽快回来。

    此致、

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Aaron。 感谢您的帮助。  

    其他信息:  

    • 我还尝试 在相应的连接器中插入带热敏电阻的 3.7V 锂离子电池。 但是、 由于美国 CA 至加拿大 ON 的导入限制、很难按照 TI 网页上的建议获得 DLPNIRNANOEVM 集成的“Tenergy 3200mA for Li-polymer Battery (P/N 34118)“。

    快速帮助是高度赞赏,因为我在博士课程的关键路径.

    提前感谢您。  

    此致、

    Shiva Reddy

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Shiva、

    如果您可以在不使用 Python 脚本和我们发布的常规固件的情况下使用我们的 GUI 恢复器件操作、则该器件没有硬件问题。

    很抱歉我们没有发布的 Python 通信协议、但我们已经准备了 UART、USB 和蓝牙协议。

    我提到了另一篇 E2E 文章、因此您可以在 DLP 频谱库的 DLPNIRNANOEVM 产品页面下获得 TICC49 或 TICC50。 请查看扫描模块。

    对于电池选择、请参阅 BQ24250 E2E 小组、并向该小组提出建议电池选择的问题。 由此给您带来的不便、我们深表歉意。

    此致、

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Aaron、

    感谢您的澄清。  它很有帮助。

    我现在知道、如果器件使用已发布的固件和 TI GUI 正常运行、则可以排除硬件问题。 这与我的意见一致。

    我也感谢目前所作的澄清 没有发布的 Python 通信协议 、并通过正式支持 USB/UART/蓝牙访问 DLP Spectrum 库 (TICC49/TICC50)。 这说明了我在尝试通过 Linux 上的 Python 直接实现基于 HID 的控制时遇到的限制。

    我将在 DLPNIRNANOEVM 产品页面下查看频谱库软件包、特别是与扫描相关的模块、以便更好地了解预期的主机设备交互模型。

    为了清晰起见、需要回答一个后续问题:

    • 都是扫描配置 完全通过 Spectrum Library API(基于 RAM)进行应用和管理 而不是通过 USB 命令直接访问或操作(例如,读取存储的配置)?

    我的最终目标是 A 无头、自动化工作流程 (由 ToF 传感器触发并由 Raspberry Pi 控制)、因此了解用于编程扫描触发和数据检索的建议架构将非常有帮助。

    再次感谢您的指导并为我提供正确的参考设计。

    此致、
    Shiva

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Shiva、

    返回的数据类型是在频谱库 API 中定义的结构。 USB 是一种与设备交互的方式。

    为了建立自动工作流、您需要使用与 Spectrum Library API 连接的交互式路径(即使用 USB/UART/BT 连接到 Raspberry Pi)来返回数据。

    我建议通读 DLP NIRscan Nano EVM 用户指南 的第 5.1.8 节 DLP 频谱库工作流程

    如果需要进一步说明、请随时联系。

    此致、

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Aaron、

    我已经在 Ubuntu (Raspberry Pi 4) 上构建了 DLP Spectrum Library (v2.0.3) 并确认dlpspec_scan_interpret()工作正常。

    我正在实施 USB HID 自动化 (0451:4200) 而不使用 GUI。 HID 传输和报告成帧正在起作用、但我需要准确的协议定义。

    请提供以下各项的组 ID 和命令 ID(含有效载荷格式):

    • GET_STOREED(按插槽)

    • SET_ACTIVE 配置

    • SCAN_PERFORCE

    • SCAN_READ_DATA

    同时确认:

    • 写入与先写入后读取行为

    • 多数据包响应组帧

    器件在 GUI 中正常运行 — 这纯粹是一个协议澄清请求。

    谢谢你。

    此致、
    Shiva

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Shiva、

    请参阅 DLP NIRscan Nano EVM 用户指南  的第 5.2.1 节“扫描工作流程“、本节定义了以下方面:

    1.扫描配置

    2.执行扫描

    3.获取扫描数据

    您已经说过解释数据的工作正常、因此请注意#4。 这些部分中的每一个都具有定义的命令、表 H-2 中定义了它们的命令 ID 和 USB 通信接口。

    此外、我不确定“按插槽“的含义、系统仅支持 1 个 microSD 卡。

    如果您还有其他问题、请告知!

    此致、

    Aaron