Documentation
¶
Index ¶
- Constants
- func CalculateCRC8(pkt []byte) byte
- func CalculateCRC16(pkt []byte) uint16
- func ValidatePitch(data float64, offset float64) int
- type Driver
- func (d *Driver) AddVector(x, y, z, psi float32) error
- func (d *Driver) BackFlip() (err error)
- func (d *Driver) Backward(val int) error
- func (d *Driver) Bounce() (err error)
- func (d *Driver) CeaseRotation()
- func (d *Driver) Clockwise(val int) error
- func (d *Driver) Connection() gobot.Connection
- func (d *Driver) CounterClockwise(val int) error
- func (d *Driver) Down(val int) error
- func (d *Driver) Flip(direction FlipType) (err error)
- func (d *Driver) Forward(val int) error
- func (d *Driver) FrontFlip() (err error)
- func (d *Driver) Halt() (err error)
- func (d *Driver) Hover()
- func (d *Driver) Land() (err error)
- func (d *Driver) Left(val int) error
- func (d *Driver) LeftFlip() (err error)
- func (d *Driver) Name() string
- func (d *Driver) PalmLand() (err error)
- func (d *Driver) ParseFlightData(b []byte) (fd *FlightData, err error)
- func (d *Driver) Rate() (err error)
- func (d *Driver) Right(val int) error
- func (d *Driver) RightFlip() (err error)
- func (d *Driver) SendCommand(cmd string) (err error)
- func (d *Driver) SendDateTime() (err error)
- func (d *Driver) SendStickCommand() (err error)
- func (d *Driver) SetExposure(level int) (err error)
- func (d *Driver) SetFastMode() error
- func (d *Driver) SetName(n string)
- func (d *Driver) SetPsi(psi float32) error
- func (d *Driver) SetSlowMode() error
- func (d *Driver) SetVector(x, y, z, psi float32) error
- func (d *Driver) SetVideoEncoderRate(rate VideoBitRate) (err error)
- func (d *Driver) SetX(x float32) error
- func (d *Driver) SetY(y float32) error
- func (d *Driver) SetZ(z float32) error
- func (d *Driver) Start() error
- func (d *Driver) StartVideo() (err error)
- func (d *Driver) StopLanding() (err error)
- func (d *Driver) TakeOff() (err error)
- func (d *Driver) ThrowTakeOff() (err error)
- func (d *Driver) Up(val int) error
- func (d *Driver) Vector() (x, y, z, psi float32)
- type FlightData
- type FlipType
- type VideoBitRate
- type WifiData
Constants ¶
const ( // BounceEvent event BounceEvent = "bounce" // ConnectedEvent event ConnectedEvent = "connected" // FlightDataEvent event FlightDataEvent = "flightdata" // TakeoffEvent event TakeoffEvent = "takeoff" // LandingEvent event LandingEvent = "landing" // PalmLandingEvent event PalmLandingEvent = "palm-landing" // FlipEvent event FlipEvent = "flip" // TimeEvent event TimeEvent = "time" // LogEvent event LogEvent = "log" // WifiDataEvent event WifiDataEvent = "wifidata" // LightStrengthEvent event LightStrengthEvent = "lightstrength" // SetExposureEvent event SetExposureEvent = "setexposure" // VideoFrameEvent event VideoFrameEvent = "videoframe" // SetVideoEncoderRateEvent event SetVideoEncoderRateEvent = "setvideoencoder" )
Variables ¶
This section is empty.
Functions ¶
func CalculateCRC8 ¶
CalculateCRC8 calculates the starting CRC8 byte for packet.
func CalculateCRC16 ¶
CalculateCRC16 calculates the ending CRC16 bytes for packet.
func ValidatePitch ¶
ValidatePitch helps validate pitch values such as those created by a joystick to values between 0-100 that are required as params to Tello stick commands.
Types ¶
type Driver ¶
Driver represents the DJI Tello drone
func NewDriver ¶
NewDriver creates a driver for the Tello drone. Pass in the UDP port to use for the responses from the drone.
func (*Driver) AddVector ¶ added in v1.13.0
AddVector adds to the current motion vector. Pass values from 0 to 1. See Vector() for the frame of reference.
func (*Driver) CeaseRotation ¶
func (d *Driver) CeaseRotation()
CeaseRotation stops any rotational motion
func (*Driver) Clockwise ¶
Clockwise tells drone to rotate in a clockwise direction. Pass in an int from 0-100.
func (*Driver) Connection ¶
func (d *Driver) Connection() gobot.Connection
Connection returns the Connection of the device.
func (*Driver) CounterClockwise ¶
CounterClockwise tells drone to rotate in a counter-clockwise direction. Pass in an int from 0-100.
func (*Driver) Hover ¶
func (d *Driver) Hover()
Hover tells the drone to stop moving on the X, Y, and Z axes and stay in place
func (*Driver) ParseFlightData ¶
func (d *Driver) ParseFlightData(b []byte) (fd *FlightData, err error)
ParseFlightData from drone
func (*Driver) SendCommand ¶
SendCommand is used to send a text command such as the initial connection request to the drone.
func (*Driver) SendDateTime ¶
SendDateTime sends the current date/time to the drone.
func (*Driver) SendStickCommand ¶
SendStickCommand sends the joystick command packet to the drone.
func (*Driver) SetExposure ¶
SetExposure sets the drone camera exposure level. Valid levels are 0, 1, and 2.
func (*Driver) SetFastMode ¶
SetFastMode sets the drone throttle to 1.
func (*Driver) SetPsi ¶ added in v1.13.0
SetPsi sets the psi component (yaw) of the current motion vector Pass values from 0 to 1. See Vector() for the frame of reference.
func (*Driver) SetSlowMode ¶
SetSlowMode sets the drone throttle to 0.
func (*Driver) SetVector ¶ added in v1.13.0
SetVector sets the current motion vector. Pass values from 0 to 1. See Vector() for the frame of reference.
func (*Driver) SetVideoEncoderRate ¶
func (d *Driver) SetVideoEncoderRate(rate VideoBitRate) (err error)
SetVideoEncoderRate sets the drone video encoder rate.
func (*Driver) SetX ¶ added in v1.13.0
SetX sets the x component of the current motion vector Pass values from 0 to 1. See Vector() for the frame of reference.
func (*Driver) SetY ¶ added in v1.13.0
SetY sets the y component of the current motion vector Pass values from 0 to 1. See Vector() for the frame of reference.
func (*Driver) SetZ ¶ added in v1.13.0
SetZ sets the z component of the current motion vector Pass values from 0 to 1. See Vector() for the frame of reference.
func (*Driver) StartVideo ¶
StartVideo tells Tello to send start info (SPS/PPS) for video stream.
func (*Driver) StopLanding ¶
StopLanding tells drone to stop landing.
type FlightData ¶
type FlightData struct {
BatteryLow bool
BatteryLower bool
BatteryPercentage int8
BatteryState bool
CameraState int8
DownVisualState bool
DroneBatteryLeft int16
DroneFlyTimeLeft int16
DroneHover bool
EmOpen bool
Flying bool
OnGround bool
EastSpeed int16
ElectricalMachineryState int16
FactoryMode bool
FlyMode int8
FlyTime int16
FrontIn bool
FrontLSC bool
FrontOut bool
GravityState bool
VerticalSpeed int16
Height int16
ImuCalibrationState int8
ImuState bool
LightStrength int8
NorthSpeed int16
OutageRecording bool
PowerState bool
PressureState bool
SmartVideoExitMode int16
TemperatureHigh bool
ThrowFlyTimer int8
WindState bool
}
FlightData packet returned by the Tello
func (*FlightData) AirSpeed ¶ added in v1.13.0
func (f *FlightData) AirSpeed() float64
func (*FlightData) GroundSpeed ¶
func (f *FlightData) GroundSpeed() float64
type FlipType ¶
type FlipType int
FlipType is used for the various flips supported by the Tello.
const ( // FlipFront flips forward. FlipFront FlipType = 0 // FlipLeft flips left. FlipLeft FlipType = 1 // FlipBack flips backwards. FlipBack FlipType = 2 // FlipRight flips to the right. FlipRight FlipType = 3 // FlipForwardLeft flips forwards and to the left. FlipForwardLeft FlipType = 4 // FlipBackLeft flips backwards and to the left. FlipBackLeft FlipType = 5 // FlipBackRight flips backwards and to the right. FlipBackRight FlipType = 6 // FlipForwardRight flips forewards and to the right. FlipForwardRight FlipType = 7 )
type VideoBitRate ¶
type VideoBitRate int
VideoBitRate is used to set the bit rate for the streaming video returned by the Tello.
const ( // VideoBitRateAuto sets the bitrate for streaming video to auto-adjust. VideoBitRateAuto VideoBitRate = 0 // VideoBitRate1M sets the bitrate for streaming video to 1 Mb/s. VideoBitRate1M VideoBitRate = 1 // VideoBitRate15M sets the bitrate for streaming video to 1.5 Mb/s VideoBitRate15M VideoBitRate = 2 // VideoBitRate2M sets the bitrate for streaming video to 2 Mb/s. VideoBitRate2M VideoBitRate = 3 // VideoBitRate3M sets the bitrate for streaming video to 3 Mb/s. VideoBitRate3M VideoBitRate = 4 // VideoBitRate4M sets the bitrate for streaming video to 4 Mb/s. VideoBitRate4M VideoBitRate = 5 )