Help with connecting a BT flight controller to demo app

Hello Team Parrot,

Can anyone in the forum help guide us in connecting our Bluetooth flight controller, Fluidity’s FT Aviator www.fluidity.tech, to the Parrot Anafi stack in order to fly a demo? We have mature iOS and Android code for another drone flight control platform, but we really want to be able to access the great qualities of the Anafi. Our controller is remarkably intuitive and precise, and would make for a wonderful pairing. Thanks!

Scott

Hi,

Anafi is connectable via wifi and the remote control SkyController3 is connectable via USB, the Bluetooth is free to be connected to your flight controller.

The best way seems to be; your flight controller connected to your application via Bluetooth; your application using GroundSdk to forward commands to the skycontroller3 via usb and the skycontroller3 piloting the Anafi drone via wifi.

To connect devices, the easiest way is to use AutoConnection (iOS/Android):

  • Monitor the AutoConnection Facility (iOS/Android)
  • Start AutoConnection (iOS/Android)
  • In the observer, check the drone connected (iOS/Android) and the remoteControl connected (iOS/Android) to use them.

To pilot the drone you should use the ManualCopterPilotingItf (iOS/Android):

  • Monitor the manual copter piloting interface (iOS/Android)
  • Active it (iOS/Android)
  • Use ManualCopterPilotingItf to take off; land; set picth; roll; yaw according to your flight controller.

When you want pilot, via an application, a drone connected through a remote control, you must set the CopilotSource:

Regards,
Maxime

1 Like

This is very helpful, Maxime. Much appreciated!

Best,
Scott

Hi, how are you doing?
I’m trying to setup the copilot to be the application instead of the default remote control but I cannot find the way of doing so.
Tried to control the yaw, pitch, etc of the drone but it looks like it’s not in ‘full’ managed mode, instead, I just can take off and land. There doesn’t seem to be much information about how to change the copilot to be fully managed.

Can you help me with that please?

Regards,

   Pablo Caviglia

When I use drone.getPeripheral(Peripherals.copilot) I never get a callback. Other calls such as drone.getPilotingItf(PilotingItfs.manualCopter) and drone.getPeripheral(Peripherals.geofence) work just fine.

Hi again, I actually found the way to switch to copilot’s ‘application’ mode.

                        val a = remoteControl?.getPeripheral(Copilot::class.java) { copilot: Copilot? ->
                        copilot?.let {
                            copilot.source().value = Copilot.Source.APPLICATION
                        }
                    }

Hope this is useful for someone else.
Thanks all and ping me if have any doubt about this.

1 Like

Hi Jim,

The drone does not have a Copilot (iOS/Android ) peripheral,
but it is the remoteControl that owns it.

Regards,
Maxime

Thanks, figured that out eventually!