m30运行测试问题
已完成目前使用树莓派开发版,已经连接并配置好串口和usb从设备功能,仅使用用串口运行基本功能正常,使用usb的rndis和bulk出现问题。几个问题如下:
1、运行demo后,在网络注册的初始函数 HalNetWork_Init 中打印ip和mask字符串分别为192.168.140.2、192.168.255.255,树莓派也正确配置网口设备,但是不能能ping通m30无人机ip 192.168.112.1。手动设置相同网段192.168.112.x之后,可以ping通m30无人机ip。这里表现和m300自动配置后不同网段能和都无人机互ping,是否为M30固件的bug? 如果使用手动配置的方式,那么以后m30无人机的ip是否永远固定?
2、关于推流功能、拉流功能的配置问题。目前看到相关配置函数有DjiPlatform_RegHalUsbBulkHandler、DjiPlatform_RegHalNetworkHandler 和 DjiPlatform_RegSocketHandler,请问仅使用推流功能、仅使用拉流功能,分别需要注册哪几个函数?
3、确定运行环境、配置均无问题情况下(如仅使用串口功能能正常运行,usb rndis配置后可ping无人机ip),在运行psdk时(期间无人机ip可ping),初始化 DjiCore_Init 失败,返回225超时错误,如下图所示。
这个超时问题是否需要提供log日志或其他配合?还是仅需要你们协调树莓派资源进行psdk库源码级测试排查?
-
1、M30是动态IP,硬件连接环境不变的情况下,飞机IP一般是固定不会变。目前M30上192.168.112.1,会将设备端IP设置成:192.168.140.2,掩码:255.255.0.0,正常情况下这个是要能ping通飞机IP才对。 2、推流使用RNIDS,拉流使用bulk。USB 使用bulk目前必须要注册DjiPlatform_RegHalUsbBulkHandler,DjiPlatform_RegHalNetworkHandler和DjiPlatform_RegSocketHandler。不使用bulk 拉流,可以不注册:DjiPlatform_RegHalUsbBulkHandler 3、这个报错是飞机端与设备通道协商没有通过,我们需要协调树莓派搭建环境确认一下此问题,确认后再同步出来。 -
这边用树莓派搭建环境测试验证了一下,我这边目前在树莓派上修改USB device的VIP和PID没有成功。VID和PID修改不成功就会出现与飞机不通的情况,PSDK 3.2最新版本已经将VID和PID修改为通过外部传入(之前的版本PSDK内部都是写死的0x0955:0x7020,要改USB配置)。 这边树莓派的VID和PID(可以连接到linux usb host上,通过lsusb查看)填入到文件:hal_usb_bulk.c ![](https://djisdksupport.zendesk.com/attachments/token/j7uFaRr0pimlcDwclYC8WTnYE/?name=image.png) 配置的网桥:l4tbr0 ![](https://djisdksupport.zendesk.com/attachments/token/nFE1Uqw6s4zctQVO7cg2Zfj2h/?name=image.png) ![](https://djisdksupport.zendesk.com/attachments/token/OLLQdZcQa1yp88AtXCZ3Srskd/?name=image.png) -
补充一下前面错误的代码和运行测试情况,替换为最新版本 3.2 的代码测试,结果一致,
1、没有注册 DjiPlatform_RegHalUsbBulkHandler ,因为仅测试推流功能,不需要拉流功能。因此,没有修改。还是说,hal_usb_bulk.c的代码修改了vid和pid的宏定义在其他代码地方有调用的歧义?
2、树莓派配置rndis已经成功,接入m30运行demo程序,usb0配置成功,ip地址为192.168.140.2,mask为192.168.255.255 ,但是不能ping通无人机ip。后手动修改树莓派usb0的ip为192.168.112.x网段,可以ping成功。运行报错如下:
你回复结果就ping飞机成功的截图,最终是否运行psdk成功?
-
纠正一下前面提到的不需要注册bulk。之前版本是写死的VID和PID,设备端USB device需要配置成0x0955:0x7020,可以不用注册bulk。 ![](https://djisdksupport.zendesk.com/attachments/token/7zudYbk1X7dtMaZuLjmoAMqhE/?name=image.png) **当前通过外部传入设备端VID,PID,所以要注册DjiPlatform_RegHalUsbBulkHandler**。并将USB device的VID,PID配置到hal_usb_bulk.c文件中。进行协商时,飞机会通过VID和PID来检查usb device是否有接入。
请先登录再写评论。
评论
16 条评论