Exists C# - SDK


#1

Hi,

I’ve seen that in the Windows Store Apps there is an app called “FreeFlight 3” that work correctly with Windows 8.1 and I want to know if exists a SDK for C#

Thanks in advance.


#2

Pretty sure it is all unmanaged C, but this doesn’t mean you couldn’t use C#… You’d have to wrap all the win32 calls and use things like IntPtr to get at the underlying memory buffers.


#3

Thanks @synman, but where I can find the dlls or I have to compile the sdk, I don’t know how to start. Thanks!


#4

Hi Tori.

You won’t find any dll as the SDK does not support windows platforms.

Currently you can program for those platforms :

  • iOS
  • Android
  • UNIX (Linux & Mac)

You can still use C# and then do some cross-compilation. However as said @synman you’ll have to wrap the SDK.

Regards


#5

Hi guys,

Currently I’m working on a c# API for the minidrones. The basics are already working for UWP (Windows 10) apps.

The project is not good enough to release yet but I would love to share some examples to see if the code also works with other drones. I currently own an airborne cargo drone and haven’t been able to test against other devices.

But is short, it is definitely possible to control the drone with c#, without the need for the SDK or working with unmanaged c++. It’s all about figuring out what commands to send over bluetooth. :slightly_smiling:


#6

Hi Rob,

I’m glad to hear that!

If you want I can help you to test the App or help you with the coding

Thanks :slightly_smiling:


#7

Controlling the drone in C# should not be that difficult, as there are many implementation in python, javascript, nodeJs, React etc … that works on W10 already !

@d3v1anc3 if you need information on BLE commands, please ask :slightly_smiling:

But be aware that BLE direct control and SDK are different :

  • it works only for BLE drone (rolling spider and airborne)
  • if Parrot changes the BLE command, the compatibility would be broken . This is not the case if you use the SDK :slightly_smiling:

cheers,
Jerome


#8

Cool, that would be fun! I just moved my source code to visual studio online. (TFS) If you send me the email address under which you would like to access it, I’ll add you to the project. :slight_smile:
(or I can send you a zip of the code for a quick test)


#9

Thanks Jerome. Most of the commands are clear (now), it has been a challenging puzzle. But i’m sure I will run into more questions when I dive deeper in the drone features.

The BLE commands are the first step in this little hobby project. For now this is ok but maybe in the future it would be fun to also add the Wifi drones. (Wifi) drones with camera’s combined with machine learning/computer vision would be an interesting project. I would say that is my ultimate goal but I started with the less expensive ones to see if I could get those working.

Writing your own API always put you at risk of being broken when the service you talk to is upgraded. A little heads-up would be nice or notification after the fact if the heads-up is not possible. But I expect I will notice long after the drone has been updated :slight_smile:
Anyways, In this case for me it’s an exercise in using Bluetooth and drones. So a breaking change once in a while I don’t mind. Although I kinda expect the AR Commands to stay pretty stable. But we will see.


#10

Hi Rob,

Here you are my e-mail tori_parla@hotmail.com :slightly_smiling:

Happy to be of help!

Thanks in advance


#11

One question about the BLE commands.

I would like to be able to turn the drone 90 or 180 degrees, like is possible in the freeflight app.

When looking at the documentation I can find a ADDCAPOFFSET command for the jumping sumo that makes this possible but this command is not available for the Mini Drones. What is the correct way to implement this for a mini drone?


#12

Never mind… found the answer myself. The mini drones have a Cap command in the Animation class (instead of the piloting class)

    /// <summary>
    /// Turn the drone by degrees.
    /// </summary>
    /// <param name="angle">The angle.</param>
    /// <returns></returns>
    internal static ARCommand Cap(short angle)
    {
        // Declare return variable
        ARCommand result = new ARCommand();

        result.ProjectIdentifier = 0x02;
        result.CommandClass = 0x04;
        result.Command = new byte[2] { 0x01, 0x00 };
        result.Arguments = BitConverter.GetBytes(angle);

        // Return result
        return result;
    }

#13

Hi i saw u write app for the drones, i have my bebop drone and can help with programm and testing on bebop if u want. Also i try make some site on node.js to control drone from a browser but thi si so bed idea)
So if u want some help i can testing or help with programm: xab101ancient@gmail.com


#14

d3v1anc3 Can you share your code? I’m trying to write a windows app to control my Rolling Spider (BT based) and don’t want to reinvent the wheel and figure out the BT commands if I can avoid it.

Thanks!


#15

¿Are the any news about any Windows app/ code working? I´m trying to write a C# UWP app to control jumping minidrones via wifi, but I don’t know where to start or if it’s possible to build SDK on Windows.


#16

Sorry for the delayed reply… but yeah, got it working. See https://dronedev.wordpress.com/

I haven’t spend much time on the project lately though