User Tools

Site Tools


projects:crazyflie:pc_utils:inputdevices

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:crazyflie:pc_utils:inputdevices [2013-05-01 22:05]
macke [Steps to get the controller working]
projects:crazyflie:pc_utils:inputdevices [2020-05-12 14:29] (current)
kimberly
Line 1: Line 1:
 +<WRAP center round important 60%>
 +This page has deprecated and moved to the new documentation framework of the main Bitcraze website. Please go to [[https://www.bitcraze.io/documentation/system/]]
 +</WRAP>
 +
 ====== Input-devices for the Crazyflie client ====== ====== Input-devices for the Crazyflie client ======
-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.+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.
  
 ===== Limitations ===== ===== Limitations =====
 First of all there's currently a few limitations in the client (that will be fixed in the future): First of all there's currently a few limitations in the client (that will be fixed in the future):
-  * After entering the configuration dialogue the application needs to be restarted. +  * <del>After entering the configuration dialogue the application needs to be restarted.</del> Fixed in 2013.4.2 
-  * There's only support for one input device. If you have multiple connected the application will choose the first one.+  * <del>There's only support for one input device. If you have multiple connected the application will choose the first one.</del> Fixed in 2013.4.1
  
 ===== Steps to get the controller working ===== ===== Steps to get the controller working =====
Line 11: Line 15:
   * The input-device needs to be recognized by the host operating system. This means that it should be seen in the operating system and be usable in other applications or utilities.   * The input-device needs to be recognized by the host operating system. This means that it should be seen in the operating system and be usable in other applications or utilities.
   * When using the Crazyflie graphical control client you need at least the correct mappings for roll/pitch/yaw/thrust. This can be checked by opening the //Flight Data// tab. If the input-device is found and opened then you should see values in the //Target// fields for //Roll//,//Pitch//,//Yaw// and //Thrust//. Moving the analogue axis should show you output here. Make sure that you get the full span according to the settings on the left side of the tab. I.e if the setting for //Max roll/pitch// is 20 then you should be able to get from -20 to + 20 in the target field (and the same for yaw and thrust). Also make sure that none of the axis interact (like moving roll will also move pitch).   * When using the Crazyflie graphical control client you need at least the correct mappings for roll/pitch/yaw/thrust. This can be checked by opening the //Flight Data// tab. If the input-device is found and opened then you should see values in the //Target// fields for //Roll//,//Pitch//,//Yaw// and //Thrust//. Moving the analogue axis should show you output here. Make sure that you get the full span according to the settings on the left side of the tab. I.e if the setting for //Max roll/pitch// is 20 then you should be able to get from -20 to + 20 in the target field (and the same for yaw and thrust). Also make sure that none of the axis interact (like moving roll will also move pitch).
 +  * If you aren't getting any output at all and you are using the Playstation 3 controller, then press the "Playstation" button in the middle on the controller once.
   * If the mappings are not correct in the previous point go to the menu //Input-device->Configure device mapping//, select the device you would like to configure and go though the configuration by clicking detect on each of the items in the dialog (everything has to be configured). Lastly enter the name of the configuration (without file extension) and press save. Now restart the application and try again.   * If the mappings are not correct in the previous point go to the menu //Input-device->Configure device mapping//, select the device you would like to configure and go though the configuration by clicking detect on each of the items in the dialog (everything has to be configured). Lastly enter the name of the configuration (without file extension) and press save. Now restart the application and try again.
  
-**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+**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.
-====== "Out-of-the-box" support for controllers/operating systems ====== +
-Below is a list of controllers and what operating systems they are supported for "out-of-the-box".+
  
-^  **Controller**  ^  **Linux**  ^  **Windows XP**  ^  **Windows 7 32bit**  ^  **Windows 7 64bit**  ^  **Mac OSX **  ^ +====== Input device overview ====== 
-| Playstation 3 (or copy) | Tested Ok | Tested Ok | MotionJoy gives wrong mappings | Motion Joy gives wrong mappings | Not tested |+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 | [[projects:crazyflie:pc_utils:inputdevices#linux_using_bluetooth|Instructions]] | Works | [[projects:crazyflie:pc_utils:inputdevices#winxp_using_bluetooth|Instructions?]] | [[projects:crazyflie:pc_utils:inputdevices#win7_using_usb|Motion joy instructions?]] | [[projects:crazyflie:pc_utils:inputdevices#win7_using_bluetooth|Motion joy instructions?]] | [[http://www.wikihow.com/Set-Up-USB-Game-Controllers-on-Windows-8|Instructions]] | Works | [[projects:crazyflie:pc_utils:inputdevices#max_osx_using_usb|Instructions]] |
 +| Xbox 360 (or copy) | [[projects:crazyflie:pc_utils:inputdevices#linux_using_usb|Instructions]] | N/A | Works | N/A | | Works | N/A | Not tested | Not tested |
  
-====== Installation of Playstation 3 controller ====== +====== Playstation 3 controller ====== 
-===== Linux ===== +===== Linux using Bluetooth ===== 
-==== With USB ==== +[[https://help.ubuntu.com/community/Sixaxis|How to set up Sixaxis on Ubuntu]] (tested on Ubuntu 13.10
-Just plug it in and it will work out of the box :-+===== WinXP using Bluetooth=====
-==== With Bluetooth ====+
 **TODO** **TODO**
-===== Windows XP ===== +===== Win7 using USB=====
-==== With USB ==== +
-Just plug it in and it will work out of the box :-) +
-==== With Bluetooth ==== +
-**TODO** +
-===== Windows Vista/7 32/64-bit ===== +
-==== With USB ====+
 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. 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.
-==== With Bluetooth ====+ 
 +[[http://youtu.be/b2lUxNShIDs|Video on how to get started with MotionJoy]]. 
 +===== Win7 using Bluetooth =====
 Should work using MotionJoy but this needs confirmation. Should work using MotionJoy but this needs confirmation.
-===== Mac OSX ===== +===== Mac OSX with Bluetooth ===== 
-==== With USB ==== +Works. To pair the controller follow the steps outlined [[https://gist.github.com/statico/3172711|here]]. **TODO**: This procedure is somewhat shaky. Figure out and add a solid set of steps here. 
-**TODO** + 
-==== With Bluetooth ==== +**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. 
-**TODO**+ 
 +====== Xbox 360 controller ====== 
 + 
 +===== Linux using USB ===== 
 + 
 +<WRAP center round tip 80%> 
 +**INFO** 
 + 
 +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. 
 +</WRAP> 
 + 
 + 
 +If you are having problems getting this to work the userspace driver ''xboxdrv'' might be needed. It can be installed (on Ubuntu) by running: 
 +<code> 
 +sudo apt-get install xboxdrv 
 +</code> 
 +And then started by running: 
 +<code> 
 +sudo xboxdrv 
 +</code> 
 + 
 +More info about the ''xboxdrv'' is available [[http://pingus.seul.org/~grumbel/xboxdrv/|here]]. 
 + 
projects/crazyflie/pc_utils/inputdevices.1367438718.txt.gz · Last modified: 2015-07-15 16:30 (external edit)