如何自行编写程序启动AWR1642,并记录数据?

Other Parts Discussed in Thread: AWR1642BOOST, AWR1642

我正在使用AWR1642BOOST的demo程序,我现在希望给传回的每个packet都打上时间戳,因此我希望绕过demo visualizer,自己编写程序来启动、记录。

我尝试过保存demo visualizer的配置文件,然后通过UART串口发送,代码如下:

    def send_message(self,filename):
        file=open(filename)
        message=file.read()
        sendMsg=message.encode()
        if self.port.write(sendMsg)==len(sendMsg):
            print('send success')
        else:
            print('send false')
serialDataPort = 'COM6'  # data串口
serialCFGPort = 'COM3'  # cfg串口
dataBaudRate = 921600  # 波特率
cfgBaudRate = 115200  # 波特率
#打开串口
dataSerial = SerialPort(serialDataPort, dataBaudRate)
cfgSerial = SerialPort(serialCFGPort, cfgBaudRate)

cfgfilename='profile.cfg'
cfgSerial.send_message(cfgfilename)
但是我发现这样并没有效果,请问应该怎么做呢?
  • 你好,

    TI industrial toolbox里的lab里面有GUI源码是可以通过串口下发配置命令的。你可以参考:
    dev.ti.com/.../node
  • 这些GUI是配合相应的lab的,接收数据的解析可能和mmw demo有不同,你使用的时候要自行修改。
  • 这里的labs基本都只包含了ccs project和说明文档,我看到只有14xx-vital signs里面有一个PC GUI,请问是这个吗?
    但是我点击下载之后页面显示无法访问。我已经开了VPN,应该不是网络问题。这是怎么回事呢?
  • Chenming,

    访问dev.ti.com下载toolbox不需要VPN。

    把鼠标放到toolbox标签上,在右边会出现3个点,点击后会出现下载按钮,点击进行下载。

    toolbox里有多个GUI,有基于matlab,python,VS的。

  • 请问具体是哪一个文件夹下的哪一个文件呢?
    上面的链接指向的是industrial toolbox下面的labs文件夹,就像我说的,这些labs里我只看到了一个PC GUI,请问你所说的基于matlab、python、VS的GUI源码在哪里呢?
  • 你好,我已经找到了相关代码,并用python重写了一下。

    现在我已经可以看到cfg串口返回的消息,和Demo Visualizer里看到的一样。

    但是不知道为什么,我接着开始读取data串口的数据时,每次都是收到十几KB就突然停住了,请问这可能是什么原因呢?

  • 看了一下,是只传了一个packet就停了,请问是为什么呢?
  • 你好,请问可以解答一下我之前遇到的问题吗?
    我使用自己的程序启动之后,数据端口总是传输十几KB就停止了,这可能是什么原因呢?
  • 你好,请问可以解答一下我之前遇到的问题吗?
    我使用自己的程序启动之后,数据端口总是传输十几KB就停止了,这可能是什么原因呢?
  • 你好,

    我不清楚你修改的是那个python GUI。lab的GUI和mmw 的区别可能在波特率,串口输出数据的解析。lab GUI还可能根据接收到的数据进行处理,显示。请从这几个方面看看。
  • 我借鉴的是这个文件:out_of_box_demo\68xx_mmwave_sdk_hcc\gui\loadCfg.m
    其实步骤很简单,把指令依次发送,每发送一条就等待返回的信息,然后检验是否正确就可以了。
    我自己的程序(我取名为RecordData.py)运行之后,收到的返回信息都是对的,数据端口也正常开始传输数据了,但都是发送完一个packet就停止。我试着解析了一下返回的这个packet,也是正常的。
    并且,在Demo Visualizer里,重复发送配置是没问题的。但是我的RecordData.py在停止运行之后,再次运行,却发现在第一条指令“sensorStop”发送完就会停住(cfg端口没有任何响应),必须拔掉电源、再接上,才能再次成功运行。
    感觉上,我的RecordData运行的时候,就像是“单次有效”的,但Demo Visualizer运行却是长时间有效的。这和波特率、输出数据的解析应该没有关系。请问还可能是什么原因呢?
  • 你好,

    你借鉴的这个gui,是Hard-Coded Config Version,也就是不下发配置,只接收数据的。
  • 那么请问和demo visualizer类似的gui源码在哪里呢?
    我在labs这个文件目录下搜索gui,找到的有代码的文件夹就只有这个了
  • 你好,
    我后来又看了看demo visualizer的源码,我在mmWave_Demo_Visualizer\app\mmWave.js里,找到了cmd_sender_listener.issuecmd()函数,看起来它是最终发送指令的函数。
    其中,发送指令的代码是:
    templateObj.$.CFG_port.sendValue(this.myCfg[this.myCmdIdx]);
    我在app文件夹下并没有找到sendValue的定义,看起来是js里串口通信的功能函数?
    但如果是这样的话,配置指令的发送就和我之前所说的流程没有区别,那么为什么我的程序会出现只返回一个packet就停止的问题呢?
  • 你好,
    我又看了另一个gui,是mmwave_industrial_toolbox_4_6_0\labs\area_scanner\68xx_area_scanner\gui,其中有一个主文件area_scanner_visualizer.m,其中的流程是调用loadCfg()来发送配置,然后循环调用readUARTtoBuffer()来读取数据。
    这个gui的loadCfg内容和我之前参考的那个也是一样的,看起来我的方法应该没有问题,出问题的原因还可能是什么呢?
  • 你好,我也碰到了同样的问题,我觉得可能是输出的数据量太大了,导致mss和dss同步失败,程序终止了,不知道您是否解决这个问题了?
  • 你好,我刚接触awr1642,运行了sdkdemo,请问有哪个文件介绍了它的帧包解析

  • 你好,

    请下载industrial toolbox (dev.ti.com/tirex),参考file:///C:/ti/mmwave_industrial_toolbox_4_x_x/labs/out_of_box_demo/68xx_mmwave_sdk_hcc/docs/understanding_oob_uart_data.html