本帖最后由 a736015 于 2019-12-27 15:50 编辑
IWR1443BOOST开箱测试:https://bbs.eeworld.com.cn/thread-1101610-1-1.html
SDK及例程下载:https://bbs.eeworld.com.cn/thread-1102315-1-1.html
XWR14XX 数据路径:https://bbs.eeworld.com.cn/forum.php?mod=post&action=newthread&fid=154
IWR1443 BOOST 的CLI命令:https://bbs.eeworld.com.cn/thread-1104699-1-1.html
人体位置检测:https://bbs.eeworld.com.cn/thread-1105760-1-1.html
传感器管理模块源程序位置在工程文件根目录的sensor_mgmt.c文件中,int32_t MmwDemo_sensorMgmtInit (void)先对传感器管理模块进行初始化及设置,之后创建void MmwDemo_sensorMgmtTask (UArg arg0, UArg arg1)任务。void MmwDemo_sensorMgmtTask (UArg arg0, UArg arg1)任务中对LED及按键初始化,之后进入死循环,等待时间发生。
传感器管理模块定义来了以下几中工作状态
MmwDemo_SensorState_INIT:传感器管理模块初始化后的状态。传感器管理模块进行初始化及设置后进入此状态。
MmwDemo_SensorState_START:传感器启动后的状态。通过mmwave_start()启动传感器后进入此状态。
MmwDemo_SensorState_STOP_PENDING:传感器等待停止状态。通过mmwave_stop()停止传感器后进入此状态,等待所有模块(如datapath、Bss等)达到完全停止状态。
MmwDemo_SensorState_STOP:传感器及其所有部件停止的状态。传感器所有模块(如datapath、Bss等)达到完全停止状态后进入此状态。
传感器管理模块定义了以下几种传感器事件
MmwDemo_SensorEvent_START:传感器启动事件。
MmwDemo_SensorEvent_STOP:传感器停止事件。
MmwDemo_SensorEvent_FRAME_START:传感器帧启动事件。
MmwDemo_SensorEvent_KEY_PRESS:传感器按键事件。用户按GPIO1按键后触发该事件。
MmwDemo_SensorEvent_BSS_STOP:BSS停止事件。BSS停止后触发此事件
MmwDemo_SensorEvent_DATAPATH_STOP:datapath停止事件。datapath停止后触发此事件
传感器定义了以下状态机
MmwDemo_sensorSMFunc MmwDemo_sensorStateMachine[MmwDemo_SensorState_MAX]=
{
MmwDemo_sensorStateInit,
MmwDemo_sensorStateStart,
MmwDemo_sensorStateStopPending,
MmwDemo_sensorStateStop
};
MmwDemo_sensorStateInit:传感器处于初始状态时的事件处理函数。当传感器处于MmwDemo_SensorState_INIT状态时,触发事件后,进入状态机的void MmwDemo_sensorStateInit(MmwDemo_SensorEvent event)函数进行事件处理.
MmwDemo_sensorStateStart:传感器处于启动状态时的事件处理函数。当传感器处理MmwDemo_SensorState_START状态时,触发事件后,进入状态机的void MmwDemo_sensorStateStart(MmwDemo_SensorEvent event)函数进行事件处理.
MmwDemo_sensorStateStopPending:传感器处于等待停止状态时的事件处理函数。当传感器处于MmwDemo_SensorState_STOP_PENDING状态时,触发事件后,进入状态机的void MmwDemo_sensorStateStopPending(MmwDemo_SensorEvent event)函数进行事件处理.
MmwDemo_sensorStateStop:传感器处于停止状态时的事件处理函数。当传感器处于MmwDemo_SensorState_STOP状态时,触发事件后,进入状态机的void MmwDemo_sensorStateStop(MmwDemo_SensorEvent event)函数进行事件处理.
void MmwDemo_sensorMgmtTask (UArg arg0, UArg arg1)任务根据传感器的状态及触发的事件,通过MmwDemo_sensorStateMachine状态机就方便的进行管理,我们也可以通过状态及事件很方便的可以找到处理源函数,了解其处理过程。
|