mmWave模块stop后,再进行open,config出现错误

    你好,

    改变mmWave模块的配置,先MMWave_stop,然后调用openlink,addchirp,config等函数去重新配置参数时,出现下面的问题:

    和第一次发指令配置mmWave执行的步骤是一样的,给一组参数去启动模块后,模块就按这组参数工作,再次发指令改变一组参数时出现了上面的问题。这组参数和第一次的参数一样也会有这个问题。

   不是只要先stop了模块后,就可以重新配置的吗??

  • 你好,

    错误提示是异步消息ID 16没有被处理。你需要在i代码的异步消息处理里添加一下对下面消息的处理。

    mmwave_sdk_02_01_00_04\packages\ti\control\mmwavelink\includ\rl_messages.h
    #define RL_RF_AE_FRAME_END_SB (0x0FU)

    如果你的参数配置不改变,之前的number of frame是有限的,比如1帧。那么在上一帧结束后,不需要调用sensorstop。可以继续sensor start的。
  • 你好,ID 16是这个#define RL_RF_AE_ANALOG_FAULT_SB (0x10U)
    我配置的是无穷帧,主要是卡在那个while中出不去了。那个while函数是将校准数据写入BSS后及调用rlRfInit后wait for the sync用到的。
    需求是改变参数配置时要重新配置的。
    我之前只配置1帧,重复MMWave_stop,openlink,addchirp,config,sensor start这个过程是没出现这个问题的。现在是无穷帧,不改变参数配置的话,就隔一段时间发一个chirp,处理完这个chirp数据后,再发下一个,这样循环,直到接收到参数改变命令,再停止sensor,再去配置就出现这个问题了。
  • 你好,

    你能在你的代码里添加ID 16的异步信息的处理么?可以先就对ANALOG_FAULT这个消息 进入以下处理分支就可以了。看看之后是否还有问题?
  • 你好,不行的,添加异步消息16的处理只是不打印这个提示了,但是代码还是卡住,这个异步消息是故障消息,它代表什么故障呢

  • 你好,

    重新配置参数是不需要做rfinit的。rfinit是在芯片上电/复位后才会调用的。

    建议你看看mmwave sdk里面mmw demo里面重新配置参数的流程。
  • 你好,
    1.还是想问RL_RF_AE_ANALOG_FAULT_SB异步事件属于什么故障,什么情况下mmWave Front end会发送这个异步事件??
    2.我看mmw demo,demo里用了CLI模块,配置参数时我都没有看到调用rfinit、MMWave_addProfile、MMWave_addChirp等一系列函数,好像只调用个MMWave_config就搞定了???
  • 关于问题2,已看cli.c、cli_mmwave.c中的代码弄明白,就不用回复此问题了,谢谢。