The Crazyflie graphical control client needs an input-device (joystick) with a minimum of 4 analogue axes to be able to pilot the Crazyflie. The Playstation 3 controller is supported out of the box but the application supports creating new configurations that uses other controllers. This page details what controllers are supported out of the box, how to create a new configurations and how to debug problems.
First of all there's currently a few limitations in the client (that will be fixed in the future):
Here's a few steps that you have to go though in order to get the input-device working. If any of the steps are not working then the input-device will not be usable for piloting the Crazyflie:
Please note!! In the 2013.4.1 and previous versions there's a bug where the loading of a previous configuration will not work correctly. The values are not loaded but the configuration call still be saved. This results in a configuration file that will not work and an error will be shown when trying to use it. In order to fix this manually delete the contents of the user config folder (win: C:\Users\your_user\AppData\Roaming\cfclient, linux: ~/.config/cfclient) and create a new configuration from scratch as described above.
Below is a list of controllers and the status for different OSs. The list is far from complete so if you have more info please edit or drop us an email.
|Controller||Linux USB||Linux BT||Win XP USB||Win XP BT||Win7 USB||Win7 BT||Win8 USB||Mac OSX USB||Mac OSX BT|
|Playstation 3 (or copy)||Works||Instructions||Works||Instructions?||Motion joy instructions?||Motion joy instructions?||Instructions||Works||Instructions|
|Xbox 360 (or copy)||Instructions||N/A||Works||N/A||Works||N/A||Not tested||Not tested|
How to set up Sixaxis on Ubuntu (tested on Ubuntu 13.10)
There's support for this using MotionJoy, but the mapping of the axis is not the same as for Windows XP/Linux and has to be configured. TODO Insert instructions for re-mapping.
Should work using MotionJoy but this needs confirmation.
Works. To pair the controller follow the steps outlined here. TODO: This procedure is somewhat shaky. Figure out and add a solid set of steps here.
NOTE: To shut down the controller you need to disconnect the controller from OSX. This is easiest done if you enable in in System Preferences → Bluetooth enable Show Bluetooth status in menu bar. From the menu bar item you can easily disconnect it.
All modern Linux distribution now have a kernel driver for the x-box gamepad. Thus it is unlikely the xboxdrv user-space driver is needed.
If you are having problems getting this to work the userspace driver
xboxdrv might be needed. It can be installed (on Ubuntu) by running:
sudo apt-get install xboxdrv
And then started by running:
More info about the
xboxdrv is available here.