I’ve been searching the forums for information about a C/C++ SDK for the ANAFI drones and I’ve found a few responses from @ndessart regarding the fact that Olypme is built on top of libarsdk and libarsdkctrl.
That said, is there documentation that will help me develop my application on top of that or am I left to reading the source for those libraries and Olympe?
FYI - I’m brand new to the Parrot ecosystem, having spent all my time with ArduPilot/PX4 drones.
No, this is a Linux application. We’ve got a lot of other autonomy code that is C++ based that we’d like to use with the Parrot and are looking for the best way to integrate it.
So, the best option is Python via Olympe for command and control + some bridge to your C++ libs, or you can try using arsdk natively in your app, but that’s a lot of work.
Jerome - if we were to go the arsdk route is there documentation anywhere on the protocol, etc.? Or is my best bet again to look at the Olympe source code?
Does a C/C++ SDK exist for Windows applications? If so I wonder if I could start with it and port that to Linux…
Is there any documentation for the live piloting commands? Can it receive live piloting commands and missions via UDP? Are these points possible via UDP over radio:
This is very handy, thanks! What ports to the ANAFI run mavink on? I cannot seem to detect any outgoing MAVLINK packages on any ports when running Sphinx. Must it be enabled somehow?
So i need two wifi-interfaces to gain access to the MAVLINK traffic? I have done this previously with one wifi-interface and i do not see any MAVLINK messages. Is is possible to get access to the traffic on the stolen interface?
Do you have a how-to or some tips on getting this to work? I.e running mavlink traffic on the host simulating the drone? Having two wifi-interfaces on a linux machine is not an easy task without some tinkering. @Jerome Do you know why the MAVLINK protocol does not run on the Vitrtual Ethernet interface of the simulated drone? This should definitely be a feature for the Sphinx simulator.
Finally got it working: Added an extra wifi-interface to the host computer, connected it to the AP created on the stolen interface and eureka, got a bunch of MAVLINK heartbeats from the drone!
So I am seeing the heartbeat broadcast from the drone, but none of the other messages at the link you provided…
When I subscribe to a message (a COMMAND_LONG with MAV_CMD_SET_MESSAGE_INTERVAL) I see the requested message at the desired rate for a few seconds, then it stops sending the message. In fact, I request just SYS_STATUS at 1 Hz and I see a whole lot more traffic on the network with tcpdump…
Any ideas why it stops sending messages? Do I need to continuously ask for them to be sent? Where am I going wrong?