Comments (18)
I have fixed that in the past, it's probably some deadlock. Can you reproduce it with the Swift Example? Or the Python or C++ code? If yes, I'll be quicker in debugging it.
from mavsdk-swift.
Yes, I can reproduce in the Swift Example app (https://github.com/mavlink/MAVSDK-Swift-Example) using the latest master of the Swift SDK. You just need to add the two pieces of code I posted above. First connect to drone via wifi, then subscribe to camera Status, and last try to set some camera setting and you should see the issue.
from mavsdk-swift.
@douglaswsilva I wrote some instructions that might help you speed the process along.
https://gist.github.com/unipheas/a5f94751c665995c56fba3c3af61a7a0
from mavsdk-swift.
Thank you @unipheas, that's actually a really nice tutorial!
from mavsdk-swift.
@julianoes Thanks for the example. I will try to build and test it with our internal camera version.
One of our engineers reported a bug in the MAVSDK, but I have to verify this first. I'll keep you posted.
from mavsdk-swift.
I reproduced the issue with the test app you provided. Thanks!
It happens without ST10C - direct WiFi connection is enough. I haven't been able to verify the bug reported by one of our engineers, though.
I will escalate the issue to the camera team. They should be able to give me a clear answer why we have this lockout in our internal camera version and not in the public one.
from mavsdk-swift.
@douglaswsilva is this a continuation of #136 and #137?
from mavsdk-swift.
It is triggered by #136 but in this case, it is cameraStatus
subscription that actually causes the issue of locking communication with the drone.
I believe #137 is an unrelated issue.
from mavsdk-swift.
@julianoes Dario and Alessandro asked if you could take a look at this and let them know if there's anything they can do on their side.
from mavsdk-swift.
@julianoes Do you want me to try to reproduce it in python. I don't have the python build system installed, but can give it a shot. It will just take a while to get everything set up.
from mavsdk-swift.
@douglaswsilva if it's reproducible in the Swift example that's fine. I'll try that next week.
Edit: I put it on my todo list, hopefully it doesn't fall off again.
from mavsdk-swift.
I pushed some fixes that we can try: mavlink/MAVSDK#796
I haven't been able to test them yet or reproduce the issue though.
from mavsdk-swift.
FYI: I'll merge the PR as soon as the CI passes, and I'll make a new release of MAVSDK for you guys to test.
from mavsdk-swift.
Hi guys,
I just tested the new mavsdk_server
that @byuarus built from mavlink/MAVSDK#796 and unfortunately we are still getting the same issue. I tested using the DronecodeSDK_Swift_Example
app connected to the camera via wifi (same thing as I posted above). I subscribe to cameraStatus
and then try to setSetting
after, this is the output (I was printing the callback from camera status, so it was printing values until I call setSetting):
Camera Status: CameraStatus(videoOn: false, photoIntervalOn: false, usedStorageMib: 15342.5, availableStorageMib: 15082.0, totalStorageMib: 30424.5, recordingTimeS: 0.0, mediaFolderName: "727E90HD", storageStatus: Dronecode_SDK_Swift.Camera.CameraStatus.StorageStatus.formatted)
2019-07-16 11:49:59.455181-0700 DronecodeSDK_Swift_Example[879:207596] Camera Status: CameraStatus(videoOn: false, photoIntervalOn: false, usedStorageMib: 15342.5, availableStorageMib: 15082.0, totalStorageMib: 30424.5, recordingTimeS: 0.0, mediaFolderName: "727E90HD", storageStatus: Dronecode_SDK_Swift.Camera.CameraStatus.StorageStatus.formatted)
Camera Status: CameraStatus(videoOn: false, photoIntervalOn: false, usedStorageMib: 15342.5, availableStorageMib: 15082.0, totalStorageMib: 30424.5, recordingTimeS: 0.0, mediaFolderName: "727E90HD", storageStatus: Dronecode_SDK_Swift.Camera.CameraStatus.StorageStatus.formatted)
[11:50:00|Error] Error: set param busy timeout: CAM_COLORMODE (mavlink_parameters.cpp:477)
failure: setSetting() CameraError(code: Dronecode_SDK_Swift.Camera.CameraResult.Result.error, description: "Error")
[11:50:00|Warn ] sending again, retries to do: 3 (527). (mavlink_commands.cpp:222)
[11:50:01|Warn ] sending again, retries to do: 2 (527). (mavlink_commands.cpp:222)
[11:50:01|Warn ] sending again, retries to do: 1 (527). (mavlink_commands.cpp:222)
[11:50:02|Error] Retrying failed (527) (mavlink_commands.cpp:239)
[11:50:02|Warn ] Command ack 527 not matching our current command: 525 (mavlink_commands.cpp:143)
[11:50:02|Warn ] sending again, retries to do: 3 (525). (mavlink_commands.cpp:222)
[11:50:03|Warn ] sending again, retries to do: 2 (525). (mavlink_commands.cpp:222)
[11:50:03|Warn ] sending again, retries to do: 1 (525). (mavlink_commands.cpp:222)
[11:50:04|Error] Retrying failed (525) (mavlink_commands.cpp:239)
[11:50:04|Warn ] sending again, retries to do: 3 (527). (mavlink_commands.cpp:222)
[11:50:05|Warn ] sending again, retries to do: 2 (527). (mavlink_commands.cpp:222)
[11:50:05|Warn ] sending again, retries to do: 1 (527). (mavlink_commands.cpp:222)
[11:50:06|Error] Retrying failed (527) (mavlink_commands.cpp:239)
[11:50:06|Info ] heartbeats timed out (system_impl.cpp:311)
[11:50:06|Debug] Lost 3762002188609060911 (mavsdk_impl.cpp:360)
Drone disconnected
[11:50:06|Debug] Discovered 3 component(s) (UUID: 3762002188609060911) (system_impl.cpp:563)
Drone connected with UUID : 3762002188609060911
[11:50:07|Warn ] sending again, retries to do: 3 (525). (mavlink_commands.cpp:222)
[11:50:07|Warn ] sending again, retries to do: 2 (525). (mavlink_commands.cpp:222)
[11:50:08|Warn ] sending again, retries to do: 1 (525). (mavlink_commands.cpp:222)
[11:50:08|Error] Retrying failed (525) (mavlink_commands.cpp:239)
[11:50:09|Warn ] sending again, retries to do: 3 (525). (mavlink_commands.cpp:222)
[11:50:09|Warn ] sending again, retries to do: 2 (525). (mavlink_commands.cpp:222)
[11:50:10|Warn ] sending again, retries to do: 1 (525). (mavlink_commands.cpp:222)
[11:50:10|Error] Retrying failed (525) (mavlink_commands.cpp:239)
[11:50:11|Warn ] sending again, retries to do: 3 (527). (mavlink_commands.cpp:222)
[11:50:12|Warn ] sending again, retries to do: 3 (525). (mavlink_commands.cpp:222)
[11:50:12|Warn ] sending again, retries to do: 2 (525). (mavlink_commands.cpp:222)
[11:50:13|Warn ] sending again, retries to do: 1 (525). (mavlink_commands.cpp:222)
[11:50:13|Error] Retrying failed (525) (mavlink_commands.cpp:239)
[11:50:14|Warn ] sending again, retries to do: 3 (527). (mavlink_commands.cpp:222)
[11:50:14|Warn ] sending again, retries to do: 2 (527). (mavlink_commands.cpp:222)
[11:50:15|Warn ] sending again, retries to do: 3 (527). (mavlink_commands.cpp:222)
[11:50:15|Warn ] sending again, retries to do: 2 (527). (mavlink_commands.cpp:222)
[11:50:16|Warn ] sending again, retries to do: 1 (527). (mavlink_commands.cpp:222)
[11:50:16|Error] Retrying failed (527) (mavlink_commands.cpp:239)
[11:50:17|Warn ] sending again, retries to do: 3 (525). (mavlink_commands.cpp:222)
2019-07-16 11:50:17.874218-0700 DronecodeSDK_Swift_Example[879:207596] Camera Status: CameraStatus(videoOn: false, photoIntervalOn: false, usedStorageMib: 0.0, availableStorageMib: 0.0, totalStorageMib: 0.0, recordingTimeS: 0.0, mediaFolderName: "727E90HD", storageStatus: Dronecode_SDK_Swift.Camera.CameraStatus.StorageStatus.notAvailable)
Camera Status: CameraStatus(videoOn: false, photoIntervalOn: false, usedStorageMib: 0.0, availableStorageMib: 0.0, totalStorageMib: 0.0, recordingTimeS: 0.0, mediaFolderName: "727E90HD", storageStatus: Dronecode_SDK_Swift.Camera.CameraStatus.StorageStatus.notAvailable)
[11:50:18|Warn ] sending again, retries to do: 3 (527). (mavlink_commands.cpp:222)
[11:50:18|Warn ] sending again, retries to do: 2 (527). (mavlink_commands.cpp:222)
[11:50:19|Warn ] sending again, retries to do: 1 (527). (mavlink_commands.cpp:222)
[11:50:19|Error] Retrying failed (527) (mavlink_commands.cpp:239)
[11:50:20|Warn ] sending again, retries to do: 3 (525). (mavlink_commands.cpp:222)
[11:50:21|Warn ] sending again, retries to do: 3 (528). (mavlink_commands.cpp:222)
[11:50:21|Warn ] sending again, retries to do: 2 (528). (mavlink_commands.cpp:222)
[11:50:22|Warn ] sending again, retries to do: 1 (528). (mavlink_commands.cpp:222)
from mavsdk-swift.
I tried to reproduce this with the Example with some hacks but it worked fine.
This was using the iOS simulator and connected directly to the camera Wifi.
@douglaswsilva
Does it happen for you over Wifi directly or just through the ST10C?
And if so could you change my branch so that all I have to do is to press a button to reproduce it?
Thanks.
from mavsdk-swift.
@darioxz if you have a link to a pre-release camera update to test against, just let me know.
from mavsdk-swift.
They should be able to give me a clear answer why we have this lockout in our internal camera version and not in the public one.
It could still be a bug in MAVSDK as well (since it should not lockup either) so if you wanted to provide a pre-release to me directly for debugging that would be good.
from mavsdk-swift.
I hope this is no longer happening, closing.
from mavsdk-swift.
Related Issues (20)
- Shell commands HOT 3
- Connect to ArduPilot + MavProxy HOT 1
- Use 2 ESP8266 as Serial Bridge over WIFI HOT 4
- Cannot find type 'GRPCCallHandler' in scope HOT 10
- Can't make MAVSDK work with our PX4 based drone HOT 3
- MAVSDK extracts battery info from SYS_STATUS and not BATTERY_STATUS HOT 11
- Adding support for Catalyst (Running iOS framework on macOS) HOT 13
- Mavlink crashes after trying to call «Arm» command HOT 6
- Is there a way to listen to NAMED_VALUE_INT command? HOT 1
- Not able to connect to TXMOD-RFD868. HOT 5
- MissionItem is missing Actions (takeoff, transition, land) HOT 13
- MAVSDK structs and classes should conform protocol (Codable, Hashable, Identifiable) HOT 3
- Documentation not up to date. HOT 3
- Have to connect to QGC first and then run sample app, otherwise telemetry won't display. HOT 6
- Parameters - setParamFloat works but setParamInt does not HOT 13
- How do I connect the camera on the simulator HOT 6
- Does mavsdk support serial port connection? HOT 1
- How do I connect multiple drones? HOT 4
- Hello, when I run Mavsdk-Swift-Example, after connecting the UAV, the CPU will reach 30%. What causes this problem? Can it be solved? HOT 10
- Is it possible to use Manual Control with an UI joystick? HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mavsdk-swift.