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

A Tello Library

Hey @Krag, first off I'd like to thank you for this library. I bought my tello so I could program some autopilots in Unity, and that would have been impossible without your hard work on this project.

Could you possibly help me understand the FlyData.height value. You can see in the video I set the white plane to the height every tello update, but is seems to just give me random values. Is there a more accurate height value somewhere in the log? Thanks.

 
I could not find any license in the library. Without license you don't claim any copyright so those who use it can do whatever they want, and even sell the results. Is that your understanding?
 
Seems like krag is super MIA. Curious if anyone out there has a really solid understanding of how this library works? I've been trying to figure it out but I've never worked with wifi packets before so I'm starting from scratch.

The biggest feature I want to implement is starting the motors for manual takeoff. In the official app this can be accomplished by moving the left stick to 4 o clock & the right stick to 8. I have tried replicating this with tellolib by both setting values for multiple seconds via Tello.controllerState.setAxis(), as well as with a game controller. Unfortunately I haven't had any success yet. My hope is that taking off manually will avoid the giant offset in the position tracking that occurs when you use auto-takeoff.

Other libraries support this function, and the creator of aTelloPilot says this is the cmd that needs to be sent to the tello.

Code:
User Datagram Protocol, Src Port: 6525, Dst Port: 8889
TELLO_CMD
    SOP   : 0xcc
    SIZE  : 176
    CRC8  : 0x7f
    PACT  : 0x60
    DIR   :  -> TO DRONE
    CMD   : TELLO_CMD_STICK (80)
    SEQ   : 0
    DATASZ: 11
    DATA  : 6c 61 0b 5b 28 0d 06 13 21 45 02
        STICK - roll: 364, pitch: 364, thr: 364, yaw:1684, fastmode:0
    CRC16 : 0x7cec

I tried converting that Data packet to this which was also unsuccessful. I kind of just guessed at the conversion to tellolibs packet values.

C#:
public static void StartMotors()
{
    var packet = new byte[] { 0x6c, 0x61, 0x0b, 0x5b, 0x28, 0x0d, 0x06, 0x13, 0x21, 0x45, 0x02, };
    setPacketSequence(packet);
    setPacketCRCs(packet);
    client.Send(packet);
}
 
Got onscreen joysticks working. Almost ready for release.
aTelloScreen5.png
That so good,
how to implement in c# programming?
 
Hello Krag,
I use tellolib but I didn't see how to get video. Can you sample about it?
 
Seems like krag is super MIA. Curious if anyone out there has a really solid understanding of how this library works? I've been trying to figure it out but I've never worked with wifi packets before so I'm starting from scratch.

The biggest feature I want to implement is starting the motors for manual takeoff. In the official app this can be accomplished by moving the left stick to 4 o clock & the right stick to 8. I have tried replicating this with tellolib by both setting values for multiple seconds via Tello.controllerState.setAxis(), as well as with a game controller. Unfortunately I haven't had any success yet. My hope is that taking off manually will avoid the giant offset in the position tracking that occurs when you use auto-takeoff.

Other libraries support this function, and the creator of aTelloPilot says this is the cmd that needs to be sent to the tello.

Code:
User Datagram Protocol, Src Port: 6525, Dst Port: 8889
TELLO_CMD
    SOP   : 0xcc
    SIZE  : 176
    CRC8  : 0x7f
    PACT  : 0x60
    DIR   :  -> TO DRONE
    CMD   : TELLO_CMD_STICK (80)
    SEQ   : 0
    DATASZ: 11
    DATA  : 6c 61 0b 5b 28 0d 06 13 21 45 02
        STICK - roll: 364, pitch: 364, thr: 364, yaw:1684, fastmode:0
    CRC16 : 0x7cec

I tried converting that Data packet to this which was also unsuccessful. I kind of just guessed at the conversion to tellolibs packet values.

C#:
public static void StartMotors()
{
    var packet = new byte[] { 0x6c, 0x61, 0x0b, 0x5b, 0x28, 0x0d, 0x06, 0x13, 0x21, 0x45, 0x02, };
    setPacketSequence(packet);
    setPacketCRCs(packet);
    client.Send(packet);
}
What you can try is packet sniffing with a serial to USB converter and log the responding data operating the different controls like the start throttle left right pitch etc and then you could see the commands .there's a guy on hackday.io that did this by intercepting the wifi board data and using either Linux or windows and a terminal. Just a suggestion
 
How can we schedule to pass multiple commands one after finishing another one. I've created a function which passes the commands but when I do Thread.sleep() to wait until completion it's disconnecting from Drone. Do you have any suggestions?
 
Hi, I have just started experimenting with the library. I cannot find a way to access the downward camera, is there a way?
Thanks.
 

New Posts

Members online

Forum statistics

Threads
5,690
Messages
39,934
Members
17,023
Latest member
Repiv

New Posts