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.

[参考译文] IWRL6432BOOST:表面分类演示:帧数据包长度警告

Guru**** 2434950 points
Other Parts Discussed in Thread: IWRL6432BOOST, UNIFLASH

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1515612/iwrl6432boost-surface-classification-demo-frame-packet-length-warning

器件型号:IWRL6432BOOST
Thread 中讨论的其他器件: UNIFLASH

工具/软件:

TI 团队大家好、

我目前正在使用 IWRL6432BOOST 表面分类演示、专门测试草防模式和湿干模式。

我使用 UniFlash 刷写位于以下路径的映像:
C:\ti\radar_toolbox_3_00_00_05\source\ti\examples\Industrial_and_SDK\Robotics\surface_Classification_ml_flow_pytorch\prebuilt_binaries\surface_classification_demo_SDK5502-grasse-not.Debug.appimage Personal_Electronics

然后、我使用工业可视化工具运行演示。
但是、我遇到了以下警告消息:
警告:读取的帧数据包长度不等于帧标头中的 totalPacketLen。 可能会丢弃后续帧。"

如何解决此问题?

(统计数据中的帧编号正在计数。)

此外、我还想问:

如何使工业可视化工具显示干湿标签而不是草?

目前、它仅显示草型。 这是唯一可用的版本吗?

非常感谢您的支持和帮助。

此致、

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

    您好:

    我们发现、您在这里看到的帧不匹配误差是 Python 可视化工具的伪影。 发生这种情况的原因是尝试使用多线程。 Python 有一个 全局解释器锁(Global Interpreter Lock,简称 GIL),这种机制允许任何时候只有一个线程控制 Python 解释器。 这意味着多线程库不是真正的多线程、而是可以简化代码结构以划分操作。 也就是说、我们发现、如果从可视化工具的代码中删除所有多线程、帧将不再被丢弃。 请注意、该问题不会导致后续帧出现问题、它只是偶尔导致帧被丢弃。

    如果要将其设置为湿/干标签、可以在源代码中更改它。 它只是一个标签、所呈现的分类(模型推理)值在草地/而非草地和湿/干示例中是相同的

    此致、

    Pedrorm

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

    明白了! 我不知道源代码是可用的。
    现在我可以尝试自己修复多线程错误。
    感谢您的提示!

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


    您好、我已尽力删除大多数多线程相关代码、但仍然无法显示任何结果或概率。
    我已对gui_threads.py和进行了修改gui_core.py

    如有任何建议、将不胜感激。


    gui_threads.py

    已注释类

    # class parseUartThread(QThread):
    # class sendCommandThread(QThread):

    gui_core.py 中找到

    我已经注释掉了原始parseData函数、并用我自己的实现替换了它。

    对于使用的代码的其他部分QThread,我只是直接注释掉了。

    # def parseData(self):
    #     self.uart_thread.start(priority=QThread.HighestPriority)
    
    def parseData(self):
        if self.parser.parserType == "SingleCOMPort":
            outputDict = self.parser.readAndParseUartSingleCOMPort()
        else:
            outputDict = self.parser.readAndParseUartDoubleCOMPort()
    
        self.updateGraph(outputDict)

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

    您好:

    下面是我们的"毫米波数据记录器"工具的测试版本。 它不使用任何线程。 然后你只需要把 outputDict 传送到相应的 demo.py 和 plot.py 扩展。 只要解析和绘图是分开的、绘图文件就可以继续使用 QThread 来简化实现。 该工具的层次结构很重要、因此请确保它所在 的位置合适、以便要运行的 python 文件位于 src radar_toolbox/tools/mmwave_data_recorder/public/gui_lite.py



    e2e.ti.com/.../mmwave_5F00_data_5F00_recorder.zip

    此致、

    Pedrorm