Coder Social home page Coder Social logo

telloterm's Introduction

telloterm

A functioning desktop testbed written in Go for flying the Ryze Tello drone via my tello package.

Play with this entirely at your own risk - it's not the author's fault if you lose your drone or damage it, or anything else, when using this software.

Telloterm currently provides

  • detailed Tello status display
  • control from the keyboard
  • picture taking
  • optional live video feed via mplayer (must be installed separately)
  • optional control via a Dualshock 4 game controller or Thrustmaster HotasX flight controller

Only tested on GNU/Linux - it wil probably work OK on Macs, but it will take some effort to get it running on Windows.

Screenshot

Install

go get github.com/SMerrony/telloterm Updated 2023...

go mod init telloterm
go mod tidy
go build

If you wish to use the video window you must have mplayer installed and on your PATH.

Usage

  • Centre the throttle control at the mid-position if using a flight controller
  • Turn on the Tello
  • Wait for it to initialise (flashing orange LED)
  • Connect your computer to the Tello WiFi
  • Run telloterm from a terminal window at least 80x24 characters big

Hit 'v' to start a video feed, an mplayer window should appear in a couple of seconds.

If the screen gets messed up, hit r or <Ctrl-L> to redraw it.

To get help type telloterm -h

Use the -joyhelp option to see the joystick control mappings. You will need to specify an ID and type to use a joystick.

Use the -keyhelp option to see the keyboard control mappings. Be aware that in keyboard mode Tello motion continues until you counteract it, or stop the Tello with the space bar.

If you find that mplayer takes over the whole screen (rather than being in its own window), then try the -x11 option which may help.

N.B. To control the Tello the telloterm window must have focus.

Once you have landed the drone, stop the program with the Q key, and photos that have been successfully taken will then be saved in the current directory.

telloterm's People

Contributors

smerrony avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

telloterm's Issues

cursor keys fly the drone very slowly

Hello there, good work with the go lang on this project ;)

I tried to pilot my new drone using your telloterm package and I had some small issue.
Using the 'w|a|s|d' keys, I could fly upward, downward, turn left and right. Although the 'cursor keys' only fly the drone very slowly. I tried hitting the '+' key, but it didn't seem to go any faster.

Expected Behavior

Drone should move forward/backward/left/right actively.

Current Behavior

Drone moves very slowly in the corresponding direction.

Steps to Reproduce (for bugs)

  1. Turn on the tello drone (and connect to its Wi-Fi)
  2. Launch the telloterm
  3. Try to use the cursor keys to go forward/backward/left/right

Your Environment

  • Go Version used:
    go version go1.11 linux/amd64
  • Tello Package Version or Date:
    v0.8.3
  • Operating System and version:
    Description: Debian GNU/Linux 9.5 (stretch)
    Release: 9.5
    Codename: stretch

Unable to yaw left with DS4

DualShock4 controller is unable to yaw the Tello to the left using the ds4Drv driver.

Expected Behavior

The Left stick X axis should correspond to the Tello's yaw in both directions.

Current Behavior

Testing with -jstest shows that StickMessage is only recieving positive values for the Lx field. Updating the log output to show the input value of jsState.AxisData[jsConfig.axes[axLeftX]] shows the correct data and thus reveals a mismatch. I verified the joystick data to the system using jstest to rule out a possible system bug/misconfiguration.

Steps to Reproduce (for bugs)

  1. Connect telloterm with -jstype DualShock4 and -jsid 0 (using ds4Drv)
  2. Launch
  3. Attempt to yaw left

Context

I modified the joystick mapping due to the default being inconsistient with my system, but I believe that's out of the scope of this issue.

Your Environment

go version: go1.10.3
ds4 DRIVER: ds4drv --hidraw
Tello Package Date: Jun 24 11:07
os: Arch Linux 4.17.2-1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.