Hello Tello Pilot!
Join our DJI Tello community & remove this banner.
Sign up

SDK responses

Neoflash

Member
Joined
Dec 28, 2018
Messages
24
Reaction score
0
So I've been playing around with sending commands using the SDK and am I understanding correctly that the Tello only sends an OK response once it has finished executing the command and not in acknowledgement that it has received it?

So in the case of commands that are relatively longer to execute such as 'takeoff' or longer distance translations it can take over 5 secs to receive an answer. Then you have set commands such as 'rc a b c d' that generally return a fast response but what if the packet was just lost on the way to or from the Tello. Should we just be frantically sending the same command at 10ms intervals until we get an 'ok' back and then move on to the next command? I'm having a hard time understanding how to work with this.

It would be interesting if experienced Tello dev could share the general flow of their application when it comes to sending commands, waiting on a response, sending the next command and/or retrying a command.
 

hellowill89

Active member
Joined
Dec 30, 2018
Messages
33
Reaction score
5
Since the protocol is over UDP, there's no guarantee that the packet is received or a response is given. You generally have to do smart things like send it a few times to add robustness and resiliency.
 
  • Like
Reactions: Neoflash

hellowill89

Active member
Joined
Dec 30, 2018
Messages
33
Reaction score
5
You can also monitor the drone state information which can confirm whether the action was taken. For example, takeoff should produce a change in time-of-flight
 
  • Like
Reactions: Neoflash

Neoflash

Member
Joined
Dec 28, 2018
Messages
24
Reaction score
0
Since the protocol is over UDP, there's no guarantee that the packet is received or a response is given. You generally have to do smart things like send it a few times to add robustness and resiliency.
I like that. So basically sending out a burst of... say three to five... copies of the same command. That way you are almost sure that one gets thru and the duplicate ones will simply be ignored by Tello.
 

clydemcqueen

Member
Joined
Sep 20, 2018
Messages
16
Reaction score
5
Website
github.com
Are you seeing responses to "rc a b c d" commands? I'm not seeing those. I am seeing responses to commands like "takeoff", "battery?" and so forth.
 

hellowill89

Active member
Joined
Dec 30, 2018
Messages
33
Reaction score
5
What's the point of using the 'rc' commands rather than the given named ones?
 

clydemcqueen

Member
Joined
Sep 20, 2018
Messages
16
Reaction score
5
Website
github.com
What's the point of using the 'rc' commands rather than the given named ones?
1. rc commands set all 4 channels at once
2. rc commands set velocity, where as the named commands set target position.** Velocity is more useful for my application.

**The docs indicate that the named commands (left, up, etc.) set a target delta, though I haven't played around with these, and the docs aren't always accurate.

The docs don't say that the rc commands set velocity, but this seems to be the case. I'm working on a test environment where I can measure the actual response curves.
 

hellowill89

Active member
Joined
Dec 30, 2018
Messages
33
Reaction score
5
@clydemcqueen, awesome, I would be interested to know what units are being used for the rc commands. Like what 'yaw 100' would mean since it doesn't seem to be degrees.
 

hellowill89

Active member
Joined
Dec 30, 2018
Messages
33
Reaction score
5
Also, do you know how to start the motors without calling "liftoff"? In the Tello app, it is done by holding sticks at 5 o'clock and 7 o'clock. I tried "rc -50 50 50 -50" and other variants of that but I'm not able to get the motors to spin up without calling "liftoff"
 
  • Like
Reactions: Neoflash

New Threads

Members online

No members online now.

Forum statistics

Threads
3,222
Messages
24,927
Members
8,305
Latest member
cbobb