问题:
在远程驾驶舱接管后,停个几秒就会自动退出接管。
分析:
1.是不是驾驶舱发送退出接管,查看日志,并没有发送退出接管命令。
2.vehicle自己调用exittakeover接口,查看日志,确实调用exittakeover接口,在mqttVhicle.c文件中解析mqqt命令的函数中,有调用判断两帧命令时间间隔,如果大于两秒就会调用退出接管命令。
结论:
由于驾驶舱每秒发送十次ping命令,导致mqtt平台的云流转没有按照时间顺序转发命令,在vehicle接收的命令时间戳已经打乱,导致在判断两帧命令时间上大于2s所有就会退出接管。