Open vdebad opened 2 years ago
Agent comment from DJI SDK in Zendesk ticket #56781:
尊敬的开发者,感谢您联系DJI 大疆创新
由于github不是我们主要的咨询渠道,您的问题可能跟进不及时。我们建议您通过填写表单( https://djisdksupport.zendesk.com/hc/zh-cn/requests/new )向我们反馈问题。或者您也可以在论坛发帖,与其它开发者交流。论坛链接:https://djisdksupport.zendesk.com/hc/zh-cn/community/topics
Dear developer, thank you for contacting DJI.
Since github is not our main consultation channel, your questions may not be followed up in time. We recommend that you fill in the form (https://djisdksupport.zendesk.com/hc/en-us/requests/new) to report problems to us. Or you can post in the forum to communicate with other developers. Forum link: https://djisdksupport.zendesk.com/hc/zh-cn/community/topics
°°°
Agent comment from kyle.cai in Zendesk ticket #56781:
Dear developer ,
Thank you for contacting DJI.
Sorry for the inconvenience. We have noticed this problem. After upgrading the new firmware, download only works with less than 3 photos in the SD card. We have submitted this bug and we will fix it later. If this function blocks your development, it is recommended to temporarily roll back the version.
Thank you for your understanding and support, hope you have a nice day.
Best Regards,
DJI SDK Support Team
°°°
A temporary fix is to comment checking of frame-length in dji_file_mgr_impl.cpp
in function parseFileList
line 596 to 599:
Comment this code block:
if (listdata->len > fullDataList.size() * maxDataFrameLen) {
DERROR("File list total data len error !");
return pack;
}
Please beware: I know file listing is working afterwards, but I cannot guarantee, that this fix does not break any other features, so be careful!
I am trying to download image files from the Zenmuse H20T's SD-Card for image processing. When requesting file list, the call returns with the error "parseFileList, L710: File list total data len error !". See code at the end of this post for reproduction.
Aircraft: DJI Matrice M300 RTK
Firmware version: Aircraft: 03.00.0101 Remote control: 03.00.0102 Battery1: 01.02.05.31 Battery2: 01.02.05.31 Zenmuse H20T: 03.00.01.02
Here is the log:
Eventually related to #833
Identified problem:
In
dji_file_mgr_impl.cpp
in functionparseFileList
data->len
is checked againstmaxDataFrameLen
which is set to 1024, but length of data is obviously larger (6560 in this case).fullDataList.size()
is 2.Commenting the length check yields normal operation. At a frist glance at least. My guess: maxDataFrameLen changed in a firmware release but was not changed in
dji_file_mgr_impl.cpp
.Could DJI please confirm this bug and validate my workaround? Is there a new maxDataFrameLen-value?
Code to reproduce