.. ot-task:: crazycar.remote_control :dependencies: crazycar.servo_motor, crazycar.motor_control_btn9960lv .. include:: Xbox Remote Control (Manual Driving) ==================================== .. contents:: :local: Plan ---- Once :doc:`motor-control-btn9960lv` and :doc:`servo-motor` are usable, we can use a remote control (XBox? Playstation? see below) to drive the car. We can then record sensor values as we drive, for example; see :doc:`sensor-mqtt` and :doc:`sensor-csv`. **XBox Controller** There are three XBox controller clones (`GXT 590 Bosi `__) available. This should be doable, provided that the `GXT 590 Bosi `__ works with the `"xbox360controller" Python library `__. That package is available on `PyPI `__ (see :doc:`here ` for what PyPI is). Under the MIT license, which is compatible to use with ours (GPLv3). **Implementation language: Python** **Fallback: Playstation** One `DualShock `__ ("DualShock 3 Sixaxis", for that matter) controller is available. We'd have to share it with another project though. Status ------ Not yet started Notes ----- Xbox .... * Configuring XInput (Xbox Controller) Support for Linux: https://help.wooting.io/article/93-configuring-xinput-support-for-linux * xbox360controller on PyPi: https://pypi.org/project/xbox360controller/ Open source remote control implementations .......................................... * http://xwiimote.github.io/xwiimote/ * https://www.baeldung.com/linux/android-remote-control * https://wiki.archlinux.org/title/Gamepad Linux Debug Notes ................. .. code-block:: console $ sudo dnf install jstest-gtk $ jstest-gtk .. code-block:: console $ libinput debug-events --verbose