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.

[参考译文] DLPNIRSCANEVM:DLPNIRNANOEVM

Guru**** 2541120 points
Other Parts Discussed in Thread: DLPNIRNANOEVM

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

https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/1552092/dlpnirscanevm-dlpnirnanoevm

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

工具/软件:

大家好、我正在尝试通过 USB 将 DLPNIRNANOEVM 板集成到 RPi4 上。 我的 python 程序正在运行、Blubs 被激活、但无法运行扫描。

日志显示 “Export a config from GUI and pass --cfg-file“(从 GUI 导出配置并通过--cfg 文件)。

但是、我没有看到任何用于导出配置的 GUI 功能。

您能帮帮吗?

python3 /home/admin/integration/NewScan.py --vid 0x0451 --pid 0x0 --cfg 0x01 -- OUT ~/NIR_scans/scan_raw.csv --U16 -- log debug
如果您遇到权限错误、请添加并重新加载 udev、然后重新插入:
subsystem=“hidraw",“,ATTRS、ATTRS{idVendor}=“0451",“,ATTRS、ATTRS{idProduct}=“0000",“,MODE="066"、MODE="066",“,TAG+="uaccess"“TAG+="uaccess"</s>、 ““
2025年08月11日 18:19:05,594 调试打开 HID 0451:0000
2025年08月11日 18:19:05,594 警告 open (vid、pid) 失败或通配符(强制枚举);正在尝试 open_path
2025年08月11日 18:19:05,611 信息通过路径打开:B'1-1.1:1.0'(VID:PID=0451:4200)
2025年08月11日 18:19:05,611 INFO >> GET_HIBERNATE(读取)grp=0x03 cmd=0x0F data=[]
2025年08月11日 18:19:05,612 调试读取尝试变体=gc_len_grp、通过特性
2025年08月11日 18:19:05,615 调试 TX(功能):00c0000200030f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2025年08月11日 18:19:05,617 调试 RX(特性):00000000000000
2025年08月11日 18:19:05,618 debug get_hibernate len = 0 mode =仅数据=[]
2025年08月11日 18:19:05,620 信息>> SET_HIBERNATE (0)(写入)grp=0x03 cmd=0x0E data=[0]
2025年08月11日 18:19:05,623 调试 TX(输出):00400003000e03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2025年08月11日 18:19:05,724 info >> DLPC+LAMP 启用(写入)grp=0x01 cmd=0x05 data=1、1]
2025年08月11日 18:19:05,727 调试 TX(输出):004000040005010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2025年08月11日 18:19:05,828 信息已连接且发出 LAMP 命令
2025年08月11日 18:19:05,829 info >> get_NUM_CFGS(读取)grp=0x02 cmd=0x22 data=[]
2025年08月11日 18:19:05,830 debug read try variant=gc_len_grp via feature
2025年08月11日 18:19:05,832 调试 TX(功能):00c000020002220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2025年08月11日 18:19:05,835 调试 RX(功能):004000000000000000
2025年08月11日 18:19:05,835 INFO << NUM_CFGS -> 0 (MODE=Only DATA RAW=[0、0、0、0、0])
2025年08月11日 18:19:05,838 错误设备报告 0 存储的配置,并且未提供 — cfg 文件。 从 GUI 导出配置并通过--cfg-file。

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

    您好、Shiva、

    您将需要连接到具有 GUI 的 PC 上、并创建一些配置并将其存储在 EVM 上、然后您应该能够从您的代码调用它们。

    菲齐克斯

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

    你(们)好  Fizix、  

    感谢您的答复。 我遵循了你的指示,但没有结果。 尽管 EVM 上存储了配置 、但代码未检测到。  

    是否有办法 从 GUI 导出配置 blob? 我在 GUI 中未找到任何内容、但文档说明了这一点。 感谢您的帮助

    Shiva Reddy

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

    您好!Shiva、

    让我就此与团队协商。   

    菲齐克斯

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

    您好、Fizix、问候。 如果您有更新、请告知我。谢谢

    我已在 NIR EPROM 上设置好配置  

    但我无法以编程方式找到它:

    $ python3 /home/admin/integration/nirscan_cfg_names2.py
    未找到配置

    此外、RSP 始终具有 通用/空帧

    admin@node-04-PI4:~/集成$ python3 /home/admin/integration/nirscan_ctrl.py --scan-and-wait 0 --timeout 90
    已打开 HID 接口 0
    【状态】TX c00002001902 RSP 0001000000
    【基线空闲】0001000000
    [扫描时隙 0] TX 40010300180200 RSP 0001000000
    【状态】TX c00202001902 RSP 0001000000
    【状态】TX c00202001902 RSP 0001000000
    【状态】TX c00202001902 RSP 0001000000
    【状态】TX c00202001902 RSP 0001000000

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

    您好!Shiva、

    暗帧专用于每帧测量一次后台信号。  它是在 24 位平面之后烘烤到固件中的、它会显示一个全黑帧。

    重新连接 TI GUI 时、您能否看到您构建并保存到器件中的配置?

    菲齐克斯

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

    是的。。 我已保存并将其设置为活动状态。 但当我连接到 RPi4 并运行脚本时、它无法检测到保存的配置。 产品文档显示导出配置、但在 UI 中看不到。 请提供帮助

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

    Shiva,

    我想问您是否在 PC 上使用 GUI、能否看到您所做和存储的配置。  我想确保它确实保存了解决方案。

    菲齐克斯

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

    好的、是的、我确实看到了 在 PC 上使用 GUI 时保存的配置

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

    您好!Shiva、

    是否已下载频谱库及相关的源代码和文档。  之前从事此工作的工程师认为、您需要的是该文档/源文件。

    菲齐克斯

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

    嗨、Fizix、我已下载相关文档并从中阅读。 我在 GUI 上看到任何用于将配置导出到.bin 文件的功能。 我基本上需要读取 EPROM 上的“保存的配置“。 我无法使用 python 读取。 请提供帮助。

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

    Shiva,

    我没有足够的 Python 经验来提供这方面的建议。  您找到了 TIVA 源代码吗?

    菲齐克斯

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

    尊敬的菲齐克斯:

    请将此请求视为重要且紧急。 我是 UOG 的一名研究员、从事近红外光谱的现场应用。 您能告诉我一位专家、他可以帮助我向前迈进吗? 提问很简单。 我需要帮助来读取 DLPNIRNANOEVM 板 EPROM 上存储的配置。 或者、使用 GUI 将存储的配置导出到文件非常有用。 14 天仍在努力向前迈进。 请提供帮助

    Shiva Reddy

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

    尊敬的 Shiva:

    原始编程器不再与 TI 配合使用。  我咨询了以前拥有此平台的工程师、他也不知道。   

    另外、可通过安装此文件找到 GUI 的源代码:  www.ti.com/.../TIDCC48。

    菲齐克斯

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

    尊敬的 TI 团队:

    我正在升级一个问题、阻止我与的研究集成 DLPNIRNANOEVM 。 我的用例需要从运行扫描 Raspberry Pi 4 (Ubuntu) 通过 USB— 之间的比较 Windows GUI。 购买此电路板的目的是实现无头集成、而不是使用 GUI。

    遗憾的是、我无法获得一个有效的记录路径来触发扫描并将结果保存到 EVM SD 卡 PI 文件系统 功能。 此外、这里还提供了文档链接 损坏

    • 断开的链路:  

    • 请提供工作链接或更新的文档集。

    环境与事实

    • 硬件:DLPNIRNANOEVM、通过 USB 连接至 Raspberry Pi 4。

    • 操作系统:Ubuntu on RPi4(无头;Windows GUI 不是部署选项)。

    • 目标:以编程方式执行扫描、或者以编程方式执行扫描

      1. 保存到 EVM 的 SD 卡、或

      2. 通过 USB 流式传输数据并在 Pi 上保存 (CSV/JSON)。

    • 接口:USB HID(通过/Python)hidapi

    • 工作原理:我可以切换休眠模式(例如,显示预期的SET_HIBERNATE(1/0) TX/功能流量)。

    • 未通过/不清楚的内容:

      • 尽管之前已在 GUI 中保存、但尝试列出或使用存储的配置不会返回未找到的配置:

        “Get_Stored (0..7) 未发现任何存储的配置。 确保您点击了 GUI 中的“Save to Device/Board“
        GUI 似乎不会显示可从 Linux 验证的清晰导出/保存到器件流程。

      • 状态/命令尝试会产生重复响应、如:
        TX c00202001902 RSP 00010001000000(未记录可操作的错误代码)。

      • 我需要一个官方支持的序列来调用 NNO_CMD_PERFORT_SCAN(或等效器件)、选择/配置扫描以及在 Linux 上检索频谱数据。

    确切的请求

    1. Linux/RPi4 过程:“最小受支持的命令序列 (HID 或 CDC)“更改为

      • 选择或定义不使用 Windows GUI 的扫描配置。

      • 执行单次扫描。

      • 保存到 EVM 上的 SD、或将频谱流式传输回主机以进行保存。

    2. 协议文档:NNO 命令集的最新完整文档(消息格式,操作码,预期响应,错误代码)、包括响应(如)的含义RSP 00010001000000

    3. Linux 的参考代码:最小的 CLI 示例 (C 或 Python):

      • 在 Linux 上打开器件。

      • 使用正确的有效载荷发出扫描命令。

      • 读回频谱并写入 CSV。

    4. 配置处理指导(无 GUI):

      • 如何从 Linux 通过 USB 完全创建扫描配置并将其保留到器件、或者如果需要的路径是、如何上载配置 blob。

      • 确认是否可以通过主机命令触发 SD 卡写入(如果可以,则确认目录/文件名方案)。

    5. 升级/联系:请将其发送至 DLPNIRNANOEVM 产品/应用工程团队、并提供直接工程联系人或案例编号。 如果需要满足固件/SDK 要求、请共享这些下载链接。

    TI 可选(但很有用)交付产品

    • 短路 “无头扫描“ 应用程序 (Linux)、获取--exposure--averages--wavelength-range等并输出 CSV。 即使是去除的样品也会解锁我。

    我可以根据请求提供的附件

    • 我正在使用的 Python/HID 简短片段

    • 完整的 HID 日志(包括写入和之类的行) SET_HIBERNATERSP 00010001000000

    • lsusb和 dmesg 摘录

    • 板标签照片和我可以查询的任何版本字符串

    这对于我的研究集成而言是时间敏感的。 感谢您提供的帮助 支持、Linux 优先路径 并不依赖 Windows GUI。

    此致、
    Shiva Reddy
    Guelph 大学研究员
    Guelph、ON

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

    Shiva,

    奇怪的是,该文件没有找到,因为我昨天下载了它。  我将通过电子邮件向您发送一条消息。

    菲齐克斯

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

    您好、Fizix:  

    感谢您提供源文件 (tidcc48a.zip)

     

    但是、要解码 Linux 上的扫描数据、我需要 DLP 频谱库作为 Linux 可加载库 (.so) 或 C 源代码提供、以便可以为 ARM 构建该库。 TI 仅提供了头文件+静态存档、但这还不够。

    1. 我收到了什么(没有来源):

    μ C/NIR Scan_Nano_Python 频谱库~ src

    目录内容:

    dlpspec_calib.h dlpspec_helper.h dlpspec_scan.h dlpspec_scan_col.h

    dlpspec_scan_had.h dlpspec_setup.h dlpspec_types.h dlpspec_util.h

    dlpspec_version.h libdlpspect.a

     

    没有*。c 文件(例如,dlpspec.c、dlpspec_scan.c、tp.c 等)、 因此我无法在 Pi 上编译共享对象

     

    1. 为什么这会阻止 Linux/RPi4 集成
    • Python 工具(和 TI 文档)需要 a Linux 共享库 (libdlpspec.so) 或 C 源代码 构建一个变压器。
    • 仅一个静态存档 (libdlpspech.a) 在 Pi 上是不够的:
      • 可能是 架构错误 (x86 与 ARM)。
      • 即使是手臂、物体也可能不是 PIC 、因此链接到.so 将失败 (relocation… 使用-fpic 重新编译)。
    • 如果没有 Linux 可加载的 libdlpspec.so、我就无法将.dat blob 解码为无头管道中的频谱。

     

    确切请求(请告知 Apps/Library 团队)

     

    1. 提供 DLP 频谱库 C 源代码(包含 dlpspec *。c、tpl.c 等的 src 文件夹)、

    1. 提供预编译的 ARM Linux 二进制文件:
      1. libdlpspec.so 适用于 ARMv7 (armhf) 和/或使用-FPIC 构建的 ARMv8 (AArch64) 以及匹配的标头。
      2. 包括 soname/version 和简单的加载器测试。
    2. 确认用于在学术项目中构建和捆绑.so 的许可/再分发条款。
    3. (最好提供)一个最小的 Linux 示例 (C 或 Python)、显示:
      1. 开放设备 (USB HID)、
      2. 执行扫描、
      3. 使用 libdlpspec 解码为波长/强度、
      4. 编写 CSV。

    影响/紧迫性

    这是 Guelph 大学对时间敏感的研究集成。 选择该电路板用于嵌入式 Linux 操作。 如果没有源或 ARM .so、系统就无法对 Pi 上的扫描进行解码。 请上报给 DLPNIRNANOEVM DLP 频谱库所有者并分享案例编号及联系方式。 我准备好立即在 RPi4 上验证提供的任何软件包。

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

    您好、Shiva、

    请注意、TI 将于 9/1 庆祝美国联邦假日、我们将于 9/2 返回。

    然后、菲齐克斯将返回。

    此致、

    Aaron

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

    Shiva,

    我以为您已经安装了 Spectrum Library。  请访问此链接:  https://www.ti.com/tool/download/TIDCAK0 

    当我安装它,我找到你在那里列出的文件:

    在 C:\ti\DLPSpecstringLibrary_1.1.5\\n src 下  

    除此之外、我们没有资源来构建您的需求。  支持 Windows。   

    我知道 GitHub 中有一些文件不受官方支持、但可能会有所帮助。

    菲齐克斯

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

    尊敬的  菲齐克斯:  

    我比以往任何时候都更需要 TI 的支持、才能取得进展Disappointed  

    我的尝试(按时间顺序和具体情况)

    1. 设备枚举(运行):
    2. 导入隐藏;print ([(hex (d['ve ndor_id'])、hex (d['product_id'])、d.get ('product_string')) 用于 hid.enumerate 中的 d (0x0451、0x4200)])
    3. #->[('0x451'、'0x4200'、'Nirscan Nano')]
    4. 低级 HID 脚本 (Python):
      从公共文档/表实现的命令:
      • 组:G_SYS=0x01、G_SCAN=0x02、G_MISC=0x04
      • 命令:DLPC_ENABLE (0x05)、READ_DEVICE_STATUS (0x03)、SCAN_CFG_NUM (0x22)、GET_ACT_CFG (0x23)、SET_ACT_CFG (0x24)、 PERFORT_SCAN (0x18)、SCAN_GET_STATUS (0x19)、SCAN_CFG_Apply (0x1E)、SCAN_CFG_SAVE (0x1F)
      • 已尝试的标志和组帧变体(详尽无遗):
        • TI 语义:写入=0x21、读取=0x61;长度= 仅有效载荷 ;报告 ID 0x00 和 0x01
        • 传统语义:写入=0x40、读取=0xC0;长度= 有效载荷+ 2 (Group+cmd);报告 ID 0x00 和 0x01
        • 块状的 对于多数据包写入(每个报告≤57 B 有效载荷)。
    5. HID 路径选择:
      • 使用 hid.enumerate 进行枚举 (0x0451、0x4200): 一条路径 报告:b'1-1.4:1.0'(接口 0)。
      • 此外、还尝试在重新插入后打开 dmesg 中显示的每个/dev/hidrawX;行为相同。
    6. DLP 频谱库配置生成(正常工作):
      • 已确认的功能签名:
      • DLPSPEC_ERR_CODE dlpSPEC_SCAN_WRITE_CONFIGURATION (
      •    const scanconfig *pCfg、void *pBuf、const size_t bufSize);
      • 提供我们自己的缓冲区 (8 KB)→ 成功 、输出 blob 87 字节 (cfg_col.bin)。
      • flat scanconfig flat 中使用的字段:scan_type=column、width_px=1、wange_start_nm=900、wange_end_nm=1700(其他可选/变体)。
    7. 通过 HID 应用/保存配置(失败):
      • 我们构建了一个强大的 apply_cfg.py、它:
        • ×所有四种方言 (TI/LEG rid 0/1)
        • 尝试打开 VID 和显式路径打开(字符串→字节)
        • 对 87 字节的 blob 使用分块写入
        • 使用 READ_DEVICE_STATUS、SCAN_CFG_NUM、GET_ACT_CFG 等进行验证
      • 在所有组合中观察到的行为: 答案是 GRP=0x00/cmd=0x00、len=0 对于每个命令、包括 DLPC_ENABLE 和 READ_DEVICE_STATUS。
      • 示例日志:
      • [DBG:TI-rid0]读取 04/03 -> g=None c=None len=0
      • [DBG:TI-rid0]写入 01/05 len = 2 -> g =无 c =无 rlen = 0
      • ...
      • [DBG:LEG-rid1]读为 04/03 -> g=None c=None len=0
      • 即使强制使用唯一枚举路径 (1-1.4:1.0) 和每个方言、 没有命令会引起非空响应
    8. 已在无 CONFIG 的情况下尝试扫描(以确保完整性):
      • perform_san + polling scan_get_status:响应为空/零;扫描从不开始。
      • 之前、一个单独的脚本报告了“Stored configs:0“、但由于命令接口上没有任何有效的应答、我们一直无法更改该状态。
    9. 检查的内务量:
      • 重新插入、不同的电缆/端口、无集线器。
      • 已停止运行/dev/hidraw 的任何进程。
      • 已尝试 open (vid、pid) 和 open_path (...)。
      • 通过以 root 身份运行(使用 sudo -E)确认权限。
      • 已尝试在引导时插入和未插入 microSD。

    阻碍 我的因素

    • 器件从不确认 在 Linux HID 上执行任何标准命令读取/写入(尝试了所有组合)。
    • 我们 CAN 使用 Pi 上的 TI 库构建有效的扫描配置 blob、但是 不能 将其传送到设备:无响应可应用、保存或任何状态查询。
    • Windows GUI 不是我们的部署选项;我们需要 记录了支持的 Linux 路径

    我们需要 TI 提供什么(具体问题)

    • 从 Windows 界面导出配置。

     我已经尝试了所有的选项,我可以感知. 我只需要配置文件就可以使用此器件进行操作。 从 Raspberry Pi 触发扫描是一种   至关重要  我的研究工作的一部分。 请提供帮助

    Shiva Reddy

    博士学者

    UOG

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

    您好!Shiva、

    在 2018 年的这个论坛上 、该主题[https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/738328/linux-dlpnirnanoevm-do-you-have-any-libraries-for-linux] 表明不存在对 Linux 的直接支持、但可以发送 USB 命令。

    该线程引用该线程[https://e2e.ti.com/support/dlp/f/94/p/538053/1960163_]

    菲齐克斯