navdata

package
v0.0.0-...-b9750d8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 2, 2014 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	STATE_FLYING                       State = 1 << 0  // FLY MASK : (0) ardrone is landed, (1) ardrone is flying
	STATE_VIDEO_ENABLED                      = 1 << 1  // VIDEO MASK : (0) video disable, (1) video enable
	STATE_VISION_ENABLED                     = 1 << 2  // VISION MASK : (0) vision disable, (1) vision enable
	STATE_CONTROL_ALGORITHM                  = 1 << 3  // CONTROL ALGO : (0) euler angles control, (1) angular speed control
	STATE_ALTITUDE_CONTROL_ALGORITHM         = 1 << 4  // ALTITUDE CONTROL ALGO : (0) altitude control inactive (1) altitude control active
	STATE_START_BUTTON_STATE                 = 1 << 5  // USER feedback : Start button state
	STATE_CONTROL_COMMAND_ACK                = 1 << 6  // Control command ACK : (0) None, (1) one received
	STATE_CAMERA_READY                       = 1 << 7  // CAMERA MASK : (0) camera not ready, (1) Camera ready
	STATE_TRAVELLING_ENABLED                 = 1 << 8  // Travelling mask : (0) disable, (1) enable
	STATE_USB_READY                          = 1 << 9  // USB key : (0) usb key not ready, (1) usb key ready
	STATE_NAVDATA_DEMO                       = 1 << 10 // Navdata demo : (0) All navdata, (1) only navdata demo
	STATE_NAVDATA_BOOTSTRAP                  = 1 << 11 // Navdata bootstrap : (0) options sent in all or demo mode, (1) no navdata options sent
	STATE_MOTOR_PROBLEM                      = 1 << 12 // Motors status : (0) Ok, (1) Motors problem
	STATE_COMMUNICATION_LOST                 = 1 << 13 // Communication Lost : (1) com problem, (0) Com is ok
	STATE_SOFTWARE_FAULT                     = 1 << 14 // Software fault detected - user should land as quick as possible (1)
	STATE_LOW_BATTERY                        = 1 << 15 // VBat low : (1) too low, (0) Ok
	STATE_USER_EMERGENCY_LANDING             = 1 << 16 // User Emergency Landing : (1) User EL is ON, (0) User EL is OF
	STATE_TIMER_ELAPSED                      = 1 << 17 // Timer elapsed : (1) elapsed, (0) not elapsed
	STATE_MAGNOMETER_NEEDS_CALIBRATION       = 1 << 18 // Magnetometer calibration state : (0) Ok, no calibration needed, (1) not ok, calibration needed
	STATE_ANGLES_OUT_OF_RANGE                = 1 << 19 // Angles : (0) Ok, (1) out of range
	STATE_TOO_MUCH_WIND                      = 1 << 20 // WIND MASK: (0) ok, (1) Too much wind
	STATE_ULTRASONIC_SENSOR_DEAF             = 1 << 21 // Ultrasonic sensor : (0) Ok, (1) deaf
	STATE_CUTOUT_DETECTED                    = 1 << 22 // Cutout system detection : (0) Not detected, (1) detected
	STATE_PIC_VERSION_NUMBER_OK              = 1 << 23 // PIC Version number OK : (0) a bad version number, (1) version number is OK
	STATE_AT_CODEC_THREAD_ON                 = 1 << 24 // ATCodec thread ON : (0) thread OFF (1) thread ON
	STATE_NAVDATA_THREAD_ON                  = 1 << 25 // Navdata thread ON : (0) thread OFF (1) thread ON
	STATE_VIDEO_THREAD_ON                    = 1 << 26 // Video thread ON : (0) thread OFF (1) thread ON
	STATE_ACQUISITION_THREAD_ON              = 1 << 27 // Acquisition thread ON : (0) thread OFF (1) thread ON
	STATE_CONTROL_WATCHDOG_DELAY             = 1 << 28 // CTRL watchdog : (1) delay in control execution (> 5ms), (0) control is well scheduled
	STATE_ADC_WATCHDOG_DELAY                 = 1 << 29 // ADC Watchdog : (1) delay in uart2 dsr (> 5ms), (0) uart2 is good
	STATE_COM_WATCHDOG_PROBLEM               = 1 << 30 // Communication Watchdog : (1) com problem, (0) Com is ok
	STATE_EMERGENCY_LANDING                  = 1 << 31 // Emergency landing : (0) no emergency (1) emergency
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Checksum

type Checksum uint32

func (*Checksum) Add

func (c *Checksum) Add(buf []byte)

func (*Checksum) Sub

func (c *Checksum) Sub(buf []byte)

type Conn

type Conn struct {
	// contains filtered or unexported fields
}

func Dial

func Dial(addr string) (conn *Conn, err error)

func (*Conn) ReadNavdata

func (this *Conn) ReadNavdata() (navdata *Navdata, err error)

func (*Conn) SetReadTimeout

func (this *Conn) SetReadTimeout(timeout time.Duration)

type ControlState

type ControlState uint16
const (
	CONTROL_DEFAULT ControlState = iota
	CONTROL_INIT
	CONTROL_LANDED
	CONTROL_FLYING
	CONTROL_HOVERING
	CONTROL_TEST
	CONTROL_TAKOFF
	CONTROL_GOTOFIX
	CONTROL_LANDING
	CONTROL_LOOPING
)

func (ControlState) String

func (this ControlState) String() string

String() returns the name of the given ControlState.

type Demo

type Demo struct {
	FlyState     FlyState
	ControlState ControlState
	Battery      uint32 // percentage value, between 0 - 100
	Orientation
	Altitude uint32
	Speed
}

type ErrBadChecksum

type ErrBadChecksum struct {
	Expected Checksum
	Got      Checksum
}

func (ErrBadChecksum) Error

func (err ErrBadChecksum) Error() string

type ErrReadTimeout

type ErrReadTimeout struct {
	// contains filtered or unexported fields
}

func (ErrReadTimeout) Error

func (err ErrReadTimeout) Error() string

type ErrUnknownHeaderTag

type ErrUnknownHeaderTag struct {
	Expected HeaderTag
	Got      HeaderTag
}

func (ErrUnknownHeaderTag) Error

func (err ErrUnknownHeaderTag) Error() string

type FlyState

type FlyState uint16
const (
	FLY_OK FlyState = iota
	FLY_LOST_ALTITUDE
	FLY_LOST_ALTITUDE_GO_DOWN
	FLY_ALTITUDE_OUT_ZONE
	FLY_COMBINED_YAW
	FLY_BRAKE
	FLY_NO_VISION
)

func (FlyState) String

func (this FlyState) String() string

String() returns the name of the given FlyState.

type HeaderTag

type HeaderTag uint32
const DefaultHeaderTag HeaderTag = 0x55667788
type Navdata struct {
	Header   NavdataHeader
	Demo     *Demo
	Checksum Checksum
}

func Decode

func Decode(buf []byte) (navdata *Navdata, err error)

Decode blocks until the next navdata packets becomes available, which it then parses and returns.

type NavdataHeader struct {
	Tag            HeaderTag
	State          State
	SequenceNumber uint32
	VisionFlag     uint32
}

type OptionHeader

type OptionHeader struct {
	Tag    OptionTag
	Length uint16
}

type OptionTag

type OptionTag uint16
const (
	DEMO OptionTag = iota
	TIME
	RAW_MEASURES
	PHY_MEASURES
	GYROS_OFFSETS
	EULER_ANGLES
	REFERENCES
	TRIMS
	RC_REFERENCES
	PWM
	ALTITUDE
	VISION_RAW
	VISION_OF
	VISION
	VISION_PERF
	TRACKERS_SEND
	VISION_DETECT
	WATCHDOG
	ADC_DATA_FRAME
	VIDEO_STREAM
	GAMES
	PRESSURE_RAW
	MAGNETO
	WIND_SPEED
	KALMAN_PRESSURE
	HDVIDEO_STREAM
	WIFI
	ZIMMU3000
	CHECKSUM = 0xffff
)

type Orientation

type Orientation struct {
	FrontBack float32
	LeftRight float32
	ClockSpin float32
}

Orientation values are given in milli-degree.

type Speed

type Speed struct {
	LeftRight float32
	FrontBack float32
	UpDown    float32
}

Speed stores the estimated linear velocity of the drone. I am not sure yet what unit these values are in. see: ARDrone_SDK_2_0/ARDroneLib/Soft/Common/navdata_common.h

type State

type State uint32

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL