Products
-
-
- Accessories
- Breakout boards
This is an old revision of the document!
The Crazyflie graphical control client needs an input-device (joystick) with a minimum of 4 analogue axis 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 | Mac OSX USB | Mac OSX BT |
---|---|---|---|---|---|---|---|---|
Playstation 3 (or copy) | Works | Instructions? | Works | Instructions? | Motion joy instructions? | Motion joy instructions? | Works | Instructions |
Xbox 360 (or copy) | Instructions | N/A | Works | N/A | Works | N/A | Not tested | Not tested |
TODO
TODO
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.
If you are having problems getting this to work (or you are using the wireless version) then 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:
sudo xboxdrv
More info about the xboxdrv
is available here.
The ESKY ET6I Remote Control is compatible to the Crazyflie as they share the same radio chipset. In order to use the RC instead of the Crazyflie PC Client, you'll have to compile the firmware with ESKYLINK
support. You can do this in the VM, just open a terminal and issue the following commands:
cd ~/projects/crazyflie-firmware make clean && make USE_ESKYLINK=1 CLOAD=1 all
This will create a new firmware file cflie.bin
that you can flash to your Crazyflie via the Bootloader in the PC client.
You'll have to make some adjustments on your RC in order for this to work. First, take a look into the battery compartment of your RC. There you'll see two switches. Make sure switch 1 is set to on
and switch 2 is set to off
(this disables the channel mixing the RC normally applies in order to work with the helicopter models it came bundled with):
Then close the battery compartment again and take a look at the lower right front of your RC. There are four switches, one each for AILeron, ELEvator, THRottle and RUDder. You'll have to adjust these, depending on your RC's Mode. If you have a Mode 1 RC (throttle and rudder on the right stick) the correct setting is AIL-up, ELE-down, THR-up, RUD-down. If on the other hand you have a Mode 2 RC (throttle + rudder on the left stick) you'll need to set those switches to AIL-down, ELE-up, THR-down, RUD-up.
If you want a bit more pep to your RC controlled Crazyflie1) you might want to take a look at the adjustments ''jodell'' made and use his repository version to compile your firmware instead.