Skip to main content

Function Documentation

version 2.2.1

Connection

disconnect()

Description

This function disconnects with the drone that you're connected to.

Syntax

disconnect()

Parameters

None

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//below this have to code in setup
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff();
CoDrone.hover(3);
CoDrone.land();
CoDrone.disconnect(); // disconnects
}

void loop(){

}

pair()

Description

This function pairs the BLE board to the CoDrone. After establishing a connection, it always waits for 3 seconds before executing the next command. Pair works a bit differently between Arduino and Python. With the Arduino-based remote, pair() with no parameters will pair with the last paired CoDrone. If it's your first time running pair(), it will just find the nearest CoDrone it can find, then "lock in" with that CoDrone, save it to "PairInfo" and always pair with it until you run pair(drone.Nearest).

Syntax

pair()
pair(Nearest)
pair(bluetoothAddress)

Parameters

Nearest: If you specify Nearest in Arduino, it will pair with the first drone it finds (which may not always be the nearest CoDrone, in some cases, just the first CoDrone it finds). This function can be used to "unlock" the drone from only pairing with the CoDrone it's been "locked in" with. Once you've paired with a nearest CoDrrone, you can run pair() again with no parameters, and it will only pair with the "locked in" CoDrone.
address: This is the address of the CoDrone. In Arduino, this is a 6-index array of bytes representing the Bluetooth address.

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//below this have to code in setup
CoDrone.begin(115200);

//IMPORATNT: You would only run ONE of the 3 options below

/* 1) This will pair with the last drone that the remote was paired to. If this is the first time pairing,
* this function will pair with whatever first drone it finds, and "lock in" to that drone and only pair with
* that drone
*/
CoDrone.pair();

/* 2) This will pair with the nearest drone that the BLE board finds. You can use this function to "unlock" a
* remote that's been "locked in" to a drone. So first run this code, then just upload and run with "CoDrone.pair()" * to "lock in" to that drone
*/
CoDrone.pair(Nearest);

}

void loop(){

}


Flight Commands (Start/Stop)

emergencyStop()

Description

This function immediately stops all commands and stops all motors, so the drone will stop flying immediately. The function will also zero-out all of the flight motion variables to 0.

Syntax

emergencyStop()

Parameters

None

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff(); // take off and hover for 3 second
CoDrone.emergencyStop(); // emergency stop
}

void loop(){

}

land()

Description

This function makes the drone stop all commands, hovers, and makes a soft landing where it is. The function will also zero-out all of the flight motion variables to 0.

Syntax

land()

Parameters

None

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//below this have to code in setup
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff(); // take off and hover for 3 second
CoDrone.hover(3); // hover for 3 second
CoDrone.land(); //landing
}

void loop(){

}

takeoff()

Description

This function makes the drone take off and begin hovering. The drone will always hover for 3 seconds in order to stabilize before it executes the next command. If it receives no command for 8 seconds, it will automatically land.

Syntax

takeoff()

Parameters

None

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//below this have to code in setup
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff(); // take off and hover for 3 second
CoDrone.hover(3); // hover for 3 second
CoDrone.land(); //landing
}

void loop(){

}

Flight Commands (Movement)

flySequence()

Description

This function make drone fly specific shape and hover after finish. The options are square, circle, spiral, triangle, hop, sway, zigzag

Syntax

flySequence(sequence)

Parameters

const Sequence: SQUARE, CIRCLE, SPIRAL, TRIANGLE, HOP, SWAY, ZIGZAG

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff();
CoDrone.flySequence(TRIANGLE); // Fly triangle shape
CoDrone.flySequence(SPIRAL); // Fly spiral shape
CoDrone.flySequence(SQUARE); // Fly square (right -> forward -> left -> backward)
CoDrone.land();
}

void loop(){

}

goToHeight()

Description

This is a setter function will make the drone fly to the given height above the object directly below its IR sensor (usually the ground). It’s effective between 20 and 2000 millimeters. It uses the IR sensor to continuously check for its height.

Syntax

goToHeight(height)

Parameters

height: An int from 20 to 2000 in millimeters

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff();
CoDrone.goToHeight(1000); // Fly 1000mm away from bottom and hover
}

void loop(){

}

go()

Description

A simpler Junior level function that represents positive flight with a direction, but with more natural language. It simply flies in the given direction for the given duration and power.

Syntax

go(direction)
go(direction, duration)
go(direction, duration, power)

Parameters

const Direction: a constant in Arduino. It’s the direction of the flight, which can be one of the following: FORWARD, BACKWARD, LEFT, RIGHT, UP, and DOWN.
duration: the duration of the flight motion in seconds. If undefined, defaults to 1 seconds. If duration is 0, it will turn right indefinitely.
power: the power at which the drone flies forward. Takes a value from 0 to 100. Defaults to 50 if not defined.

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff();
CoDrone.go(FORWARD); // Go forward at 50% power for 1 second
CoDrone.go(UP, 5); // Go up for 5 seconds at 50% power
CoDrone.go(BACKWARD, 3, 70) // Go backwards for 3 seconds at 70% power
}

void loop(){

}

hover()

Description

This function makes the drone hover for a given amount of time. If you enter a 0 or None, it will hover indefinitely until given a another command.

Syntax

hover(duration)

Parameters

duration: the duration of the hovering in seconds.

Returns

None

Example Code

//Arduino code
#include<CoDrone.h>

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff(); // take off and hover for 3 second
CoDrone.hover(3); // hover for 3 second
CoDrone.land(); //landing
}

void loop(){

}

rotate180()

Description

This function makes the drone rotate 180 degrees. Only rotates in a random direction, because this is a pre-set flight event in the firmware.

Syntax

rotate180()

Parameters

None

Returns

None

Example Code


turnDegree()

Description

A Senior level function that yaws by a given degree in a given direction. This function takes an input degree in an input direction, and turns until it reaches the given degree. In some instances, the drone may turn past the given degree and need to rotate all the way around again before reaching the correct degree.

Syntax

turnDegree(direction, degree)

Parameters

const Direction: LEFT or RIGHT
const Degree: a constant in Arduino. The degree the drone will turn to the right, with its starting position representing 0 degrees, ANGLE_30, ANGLE_45, ANGLE_60, ANGLE_90, ANGLE_120, ANGLE_135, ANGLE_150, ANGLE_180, ANGLE_210, ANGLE_225, ANGLE_240, ANGLE_270, ANGLE_300, ANGLE_315, ANGLE_330

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff();
CoDrone.turnDegree(LEFT, ANGLE_45); // Turn left 45 degrees
}

void loop(){

}

turn()

Description

A function that represents yaw, but with more natural language. It simply turns in the given direction, duration and power.

Syntax

turn(direction)
turn(direction, duration)
turn(direction, duration, power)

Parameters

const Direction: a constant in Arduino. It’s the direction of the turn, which can be one of the following: LEFT or RIGHT.
duration: the duration of the turn in seconds. If 0, it will turn right indefinitely. Defaults to 1 second if not defined.
power: the power at which the drone turns right. Takes a value from 0 to 100. Defaults to 50 if not defined.

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff();
CoDrone.turn(LEFT); // Turn left for 1 second at 50 power
CoDrone.turn(LEFT, 0); // Turn left at 50 power indefinitely
CoDrone.turn(RIGHT, 5, 100); // Turn right for 5 seconds at 100 power
}

void loop(){

}

Flight Variables

getPitch()

Description

This is a getter function that gets the value of the pitch variable.

Syntax

getPitch()

Parameters

None

Returns

power: The power of the pitch variable (int)

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// save current pitch value in variable “current_pitch”
int current_pitch = CoDrone.getPitch();
}
void loop(){

}

getRoll()

Description

This is a getter function that gets the value of the roll variable.

Syntax

getRoll()

Parameters

None

Returns

power: The power of the roll variable (int)

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// save current roll value in variable “current_roll”
int current_roll = CoDrone.getRoll();
}
void loop(){

}

getThrottle()

Description

This is a getter function that gets the value of the throttle variable.

Syntax

getThrottle()

Parameters

None

Returns

power: The power of the throttle variable (int)

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// save current throttle value in variable “current_throttle”
int current_throttle = CoDrone.getThrottle();
}
void loop(){

}

getYaw()

Description

This is a getter function that gets the value of the yaw variable.

Syntax

getYaw()

Parameters

None

Returns

power: The power of the yaw variable (int)

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// save current yaw value in variable “current_yaw”
int current_yaw = CoDrone.getYaw();
}
void loop(){

}

move()

Description

You can use this function to create more complex flight movements. With no parameters, move() will just run based on whatever the flight variables have been set to with functions like setPitch() and setThrottle() indefinitely. You can also run it for a certain duration. The function also takes multiple parameters, where you can set roll, pitch, yaw, and throttle all at once. You can run it infinitely with 4 parameters, or you can run it for a given duration with 5 parameters. If the drone is not flying, nothing will happen.

Syntax

move(): runs infinitely
move(duration)
move(roll, pitch, yaw, throttle): runs infinitely
move(duration, roll, pitch, yaw, throttle)

Parameters

duration: the duration of the flight motion in seconds. If 0, the duration is infinity.
roll: the power of the roll, which is an int from -100 to 100
pitch: the power of the pitch, which is an int from -100 to 100
yaw: the power of the yaw, which is an int from -100 to 100
throttle: the power of the throttle, which is an int from -100 to 100

Returns

None

Example Code

#include<CoDrone.h>     //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff(); // take off

// Move indefinitely with pitch set to 50
CoDrone.setPitch(50);
CoDrone.move();

// Move 5 seconds to the right with roll set to 50
CoDrone.setRoll(50);
CoDrone.move(5);

CoDrone.move(0, 0, 0, 80, 80); // Move up(throttle) and turn left(yaw) indefinitely
CoDrone.move(5, 0, 0, 80, 80); // Move up(throttle) and turn left(yaw) for 5 seconds

CoDrone.land(); //land
}

void loop(){

}

setPitch()

Description

This is a setter function that allows you to set the pitch variable.

Syntax

setPitch(power)

Parameters

power: An int from -100 to 100 that sets the pitch variable. The number represents the direction and power of the output for that flight motion variable. Negative pitch is backwards, positive pitch is forwards.

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff();
CoDrone.setPitch(60); // set pitch power for 60%
CoDrone.move(5); // move drone for 5 seconds
CoDrone.land();
}

void loop(){

}

setRoll()

Description

This is a setter function that allows you to set the roll variable.

Syntax

setRoll(power)

Parameters

power: An int from -100 to 100 that sets the roll variable. The number represents the direction and power of the output for that flight motion variable. Negative roll is left, positive roll is right.

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff();
CoDrone.setRoll(60); // set roll power for 60%
CoDrone.move(5); // move drone for 5 seconds
CoDrone.land();
}

void loop(){

}

setThrottle()

Description

This is a setter function that allows you to set the throttle variable.

Syntax

setThrottle(power)

Parameters

power: An int from -100 to 100 that sets the throttle variable. The number represents the direction and power of the output for that flight motion variable. Negative throttle descends, positive throttle ascends.

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff();
CoDrone.setThrottle(60); // set throttle power for 60%
CoDrone.move(5); // move drone for 5 seconds
CoDrone.land();
}

void loop(){

}

setYaw()

Description

This is a setter function that allows you to set the yaw variable.

Syntax

setYaw(power)

Parameters

power: An int from -100 to 100 that sets the yaw variable. The number represents the direction and power of the output for that flight motion variable. Negative yaw turns left, positive yaw turns right.

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.takeoff();
CoDrone.setYaw(60); // set yaw power for 60%
CoDrone.move(5); // move drone for 5 seconds
CoDrone.land();
}

void loop(){

}

LED

armColor()

Description

This function sets the LED color of the arms using RGB values and their brightness with value from 1 - 100.

Syntax

armColor(color, brightness)
armColor(red, green, blue, brightness)

Parameters

const Color: a const in Arduino, which can be set using predefined colors out of the list below in "Example Code" under "LED Color Options"
red: int value from 0 to 255
green: int value from 0 to 255
blue: int value from 0 to 255
brightness: in value from 0 to 100, which represents the brightness of the light

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.armColor(White, 100); // set color to red using Color
CoDrone.armColor(255, 0, 0, 100); // set color to red using RGB
}

void loop(){

}
LED Color options
	AliceBlue, AntiqueWhite, Aqua,
Aquamarine, Azure, Beige,
Bisque, Black, BlanchedAlmond,
Blue, BlueViolet, Brown,
BurlyWood, CadetBlue, Chartreuse,
Chocolate, Coral, CornflowerBlue,
Cornsilk, Crimson, Cyan,
DarkBlue, DarkCyan, DarkGoldenRod,
DarkGray, DarkGreen, DarkKhaki,
DarkMagenta, DarkOliveGreen, DarkOrange,
DarkOrchid, DarkRed, DarkSalmon,
DarkSeaGreen, DarkSlateBlue, DarkSlateGray,
DarkTurquoise, DarkViolet, DeepPink,
DeepSkyBlue, DimGray, DodgerBlue,
FireBrick, FloralWhite, ForestGreen,
Fuchsia, Gainsboro, GhostWhite,
Gold, GoldenRod, Gray,
Green, GreenYellow, HoneyDew,
HotPink, IndianRed, Indigo,
Ivory, Khaki, Lavender,
LavenderBlush, LawnGreen, LemonChiffon,
LightBlue, LightCoral, LightCyan,
LightGoldenRodYellow, LightGray, LightGreen,
LightPink, LightSalmon, LightSeaGreen,
LightSkyBlue, LightSlateGray, LightSteelBlue,
LightYellow, Lime, LimeGreen,
Linen, Magenta, Maroon,
MediumAquaMarine, MediumBlue, MediumOrchid,
MediumPurple, MediumSeaGreen, MediumSlateBlue,
MediumSpringGreen, MediumTurquoise, MediumVioletRed,
MidnightBlue, MintCream, MistyRose,
Moccasin, NavajoWhite, Navy,
OldLace, Olive, OliveDrab,
Orange, OrangeRed, Orchid,
PaleGoldenRod, PaleGreen, PaleTurquoise,
PaleVioletRed, PapayaWhip, PeachPuff,
Peru, Pink, Plum,
PowderBlue, Purple, RebeccaPurple,
Red, RosyBrown, RoyalBlue,
SaddleBrown, Salmon, SandyBrown,
SeaGreen, SeaShell, Sienna,
Silver, SkyBlue, SlateBlue,
SlateGray, Snow, SpringGreen,
SteelBlue, Tan, Teal,
Thistle, Tomato, Turquoise,
Violet, Wheat, White,
WhiteSmoke, Yellow, YellowGreen,
EndOfColor

armDefaultColor()

Description

This function sets the default LED color of the eyes as well as the mode, so it will remain that color even after powering off and back on. The colors set are using RGB values.

Syntax

armDefaultColor(red, green, blue, brightness)

Parameters

red: int value from 0 to 255
green: int value from 0 to 255
blue: int value from 0 to 255
brightness: in value from 0 to 100, which represents the brightness of the light

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// set default arm color to an RGB of (0, 120, 155) with full brightness
CoDrone.armDefaultColor(0, 120, 155, 100);
}

void loop(){

}

armDefaultPattern()

Description

This function sets the default color of the arm LED lights to flash in a particular pre-set pattern at a given speed, which means the lights will remain in that color and pattern when powered off and back on.

Syntax

armDefaultPattern(color, mode)
armDefaultPattern(color, mode, speed)
armDefaultPattern(red, green, blue, mode)
armDefaultPattern(red, green, blue, mode, speed)

Parameters

const Color: a const which can be set using predefined colors out of the list under "LED Color Options"
red: int value from 0 to 255
green: int value from 0 to 255
blue: int value from 0 to 255
const Mode: an const in Arduino which can be selected from the following predefined list: BLINK, DOUBLE_BLINK, DIMMING, PULSE, REVERSE_PULSE
speed: int value from 0-255, which represents the speed of the pattern. 255 is slowest, 0 is fastest.

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// set default arm pattern to blue using RGB and double blink slowly
CoDrone.armDefaultPattern(0, 0, 100, BLINK, 150);
}

void loop(){

}

armOff()

Description

This function turns off the arm LEDs

Syntax

armOff()

Parameters

None

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.armOff();
}

void loop(){

}

armPattern()

Description

This function sets the color of the arm LED lights to flash in a particular pre-set pattern at a given speed.

Syntax

armPattern(color, mode)
armPattern(color, mode, speed)
armPattern(red, green, blue, mode)
armPattern(red, green, blue, mode, speed)

Parameters

const color: a const in Arduino which can be set using predefined colors out of the list under "LED Color Options"
red: int value from 0 to 255
green: int value from 0 to 255
blue: int value from 0 to 255
const mode: a const in Arduino which can be selected from the following predefined list: BLINK, DOUBLE_BLINK, DIMMING, PULSE, REVERSE_PULSE
speed: int value from 0-255, which represents the speed of the pattern. 255 is slowest, 0 is fastest.

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.armPattern(Red, DOUBLE_BLINK, 200); // Set arms to double blink red slowly using Color
CoDrone.armPattern(0, 0, 255, PULSE, 200); // Set arms to pulse blue slowly using RGB
}

void loop(){

}

armStrobe()

Description

This function makes the arms to strobe in various colors

Syntax

armStrobe()

Parameters

None

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// strobe the arms
CoDrone.armStrobe();
}

void loop(){

}

eyeColor()

Description

This function sets the LED color of the arms using RGB values and their brightness with value a from 1 - 100.

Syntax

eyeColor(color, brightness)
eyeColor(red, green, blue, brightness)

Parameters

const color: a const in Arduino which can be set using predefined colors out of the list under "LED Color Options"
red: int value from 0 to 255
green: int value from 0 to 255
blue: int value from 0 to 255
brightness: in value from 0 to 100, which represents the brightness of the light

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.eyeColor(White, 100); // set color to red using Color
CoDrone.eyeColor(255, 0, 0, 100); // set color to red using RGB
}

void loop(){

}

eyeDefaultColor()

Description

This function sets the default LED color of the eyes using RGB values and their brightness with a value from 1 - 100. This means the color will remain, even after the CoDrone has been powered off and back on.

Syntax

eyeDefaultColor(red, green, blue, brightness)

Parameters

red: int value from 0 to 255
green: int value from 0 to 255
blue: int value from 0 to 255
brightness: in value from 0 to 100, which represents the brightness of the light

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// set default eye color to an RGB of (0, 0, 100) with full brightness
CoDrone.eyeDefaultColor(0, 120, 155, 100);
}

void loop(){

}

eyeDefaultPattern()

Description

This function sets the default color of the eyes LED lights to flash in a particular pre-set pattern at a given speed, which means the lights will remain in that color and pattern when powered off and back on.

Syntax

eyeDefaultPattern(color, mode)
eyeDefaultPattern(color, mode, speed)
eyeDefaultPattern(red, green, blue, mode)
eyeDefaultPattern(red, green, blue, mode, speed)

Parameters

const color: a const in Arduino which can be set using predefined colors out of the list under "LED Color Options"
red: int value from 0 to 255
green: int value from 0 to 255
blue: int value from 0 to 255
const mode: a const in Arduino which can be selected from the following predefined list: BLINK, DOUBLE_BLINK, DIMMING
speed: int value from 0-255, which represents the speed of the pattern. 255 is slowest, 0 is fastest

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// set default arm pattern to blue using RGB and blink quickly
CoDrone.eyeDefaultPattern(0,0,100, BLINK, 20);
}

void loop(){

}

eyeOff()

Description

This function turns off the eye LEDs

Syntax

eyeOff()

Parameters

None

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// turn off the eyes
CoDrone.eyeOff();
}

void loop(){

}

eyePattern()

Description

This function sets the color of the eye LED lights to flash in a particular pre-set pattern at a given speed.

Syntax

eyePattern(color, mode)
eyePattern(color, mode, speed)
eyePattern(red, green, blue, mode)
eyePattern(red, green, blue, mode, speed)

Parameters

const color: a const in Arduino which can be set using predefined colors out of the list under "LED Color Options"
red: int value from 0 to 255
green: int value from 0 to 255
blue: int value from 0 to 255
const mode: a const in Arduino which can be selected from the following predefined list: BLINK, DOUBLE_BLINK, DIMMING
speed: int value from 0 - 255, which represents the speed of the pattern. 255 is slowest, 0 is fastest.

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

CoDrone.eyePattern(Red, DOUBLE_BLINK, 1); // Set eyes to double blink red quickly using Color
CoDrone.eyePattern(255, 0, 0, DOUBLE_BLINK, 10); // Set eyes to double blink red quickly using RGB
}

void loop(){

}

eyeStrobe()

Description

This function makes the arms to strobe in various colors

Syntax

eyeStrobe()

Parameters

None

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// strobe the eyes
CoDrone.eyeStrobe();
}

void loop(){

}

resetDefaultLED()

Description

This function sets the LED color of the eyes and arms back to red and sets the mode to SOLID, which is the original default color.

Syntax

resetDefaultLED()

Parameters

None

Returns

None

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// Reset Drone’s LED to holding the Red color
CoDrone.resetDefaultLED();
}

void loop(){

}

Status Checkers

isFlying()

Description

This function checks whether the drone is flying and returns a boolean

Syntax

isFlying()

Parameters

None

Returns

Boolean: Returns True/False whether the drone is flying

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// If drone is flying land the drone
if(CoDrone.isFlying()==true)
CoDrone.land();
}
void loop(){

}

isReadyToFly()

Description

This function checks whether the drone is ready to fly by returning a boolean. The drone is ready to fly if it is oriented right-side up, and not flying.

Syntax

isReadyToFly()

Parameters

None

Returns

Boolean: Returns True/False whether the drone is ready to fly.

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

// if drone is ready to fly, take off the drone
if(CoDrone.isReadyToFly() == true)
CoDrone.takeoff()
}
void loop(){

}

isUpsideDown()

Description

This function checks whether the drone is upside-down and returns a boolean

Syntax

isUpsideDown()

Parameters

None

Returns

Boolean: Returns True/False whether the drone is upside-down

Example Code

//Arduino code
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

if(CoDrone.isUpsideDown()==false) // if drone is not upside down take off the drone
CoDrone.takeoff();
}

void loop(){

}

onLowBattery()

Description

Add callback function when CoDrone battery percentage is lower than 50%

Syntax

onLowBattery(function)

Parameters

function: a callback function when battery is lower than 50%

Returns

None

Example Code

//Arduino code
//Not supported

Sensors

getAccelerometer()

Description

This function gets the accelerometer sensor data, which returns x, y, and z. It outputs as a struct in Arduino.

Syntax

getAccelerometer()

Parameters

None

Returns

struct acceldata: Returns a struct with acceleration data.

Example Code

//Arduino code
//Code for print request data to serial monitor
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);
}

void loop(){
// Struct for get accelerometer data
acceldata accel;

CoDrone.Send_LinkModeBroadcast(LinkBroadcast_Active); //link module mode change => Active
accel = CoDrone.getAccelerometer(); //save request data
delay(100);

CoDrone.Send_LinkModeBroadcast(LinkModeMute); //link module mode change => Mute
delay(100);

Serial.println("");
Serial.println("--------- Now -----------");
Serial.print("accel x : \t");
Serial.println(accel.x);
Serial.print("accel y : \t");
Serial.println(accel.y);
Serial.print("accel z : \t");
Serial.println(accel.z);
}

getAngularSpeed()

Description

This function gets the data from the gyrometer sensor for the roll, pitch, and yaw angular speed.

Syntax

getAngularSpeed()

Parameters

None

Returns

struct gyrodata: Returns a struct with angular speed data.

Example Code

//Arduino code
//Code for print request data to serial monitor
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);
}

void loop(){
// Struct for get Angular speed(gyro) data
gyrodata gyro;

CoDrone.Send_LinkModeBroadcast(LinkBroadcast_Active); //link module mode change => Active
gyro = CoDrone.getAngularSpeed(); //save request data
delay(100);

CoDrone.Send_LinkModeBroadcast(LinkModeMute); //link module mode change => Mute
delay(100);

Serial.println("");
Serial.println("--------- Now -----------");
Serial.print("gyro roll : \t");
Serial.println(gyro.roll);
Serial.print("gyro pitch : \t");
Serial.println(gyro.pitch);
Serial.print("gyro yaw : \t");
Serial.println(gyro.yaw);
}

getBatteryPercentage()

Description

This function gets the battery percentage of the drone, returning a value from 0 to 100.

Syntax

getBatteryPercentage()

Parameters

None

Returns

percentage: The battery’s percentage as an integer from 0 - 100.

Example Code

//Arduino code
//Code for print request data to serial monitor
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);
}

void loop(){
int batteryPercentage;

CoDrone.Send_LinkModeBroadcast(LinkBroadcast_Active); //link module mode change => Active
batteryPercentage = CoDrone.getBatteryPercentage(); //save request data
delay(100);

CoDrone.Send_LinkModeBroadcast(LinkModeMute); //link module mode change => Mute
delay(100);

Serial.println("");
Serial.println("--------- Now -----------");
Serial.print("batteryPercentage : \t");
Serial.println(batteryPercentage);
}

getBatteryVoltage()

Description

This function gets the voltage of the battery

Syntax

getBatteryVoltage()

Parameters

None

Returns

voltage: The voltage of the battery as an a float

Example Code

//Arduino code
//Code for print request data to serial monitor
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);
}

void loop(){
int batteryVoltage;

CoDrone.Send_LinkModeBroadcast(LinkBroadcast_Active); //link module mode change => Active
batteryVoltage = CoDrone.getBatteryVoltage(); //save request data
delay(100);

CoDrone.Send_LinkModeBroadcast(LinkModeMute); //link module mode change => Mute
delay(100);

Serial.println("");
Serial.println("--------- Now -----------");
Serial.print("batteryVoltage : \t");
Serial.println(batteryVoltage);
}

getDroneTemp()

Description

This is a getter function gets the data from the drone’s temperature sensor. Importantly, it reads the drone’s temperature, not the air around it.

Syntax

getDroneTemp()

Parameters

None

Returns

temperature: The temperature in Celsius as an integer.

Example Code

//Arduino code
//Code for print request data to serial monitor
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);
}

void loop(){
int temperature;

CoDrone.Send_LinkModeBroadcast(LinkBroadcast_Active); //link module mode change => Active
temperature = CoDrone.getDroneTemp(); //save request data
delay(100);

CoDrone.Send_LinkModeBroadcast(LinkModeMute); //link module mode change => Mute
delay(100);

Serial.println("");
Serial.println("--------- Now -----------");
Serial.print("temperature : \t");
Serial.println(temperature);
}

getGyroAngles()

Description

This function gets the data from the gyrometer sensor to determine the roll, pitch, and yaw as angles.

Syntax

getGyroAngles()

Parameters

None

Returns

struct angledata: Returns a struct with angle data.

Example Code

//Arduino code
//Code for print request data to serial monitor
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);
}

void loop(){
// Struct for get angles(attitude) data
angledata angle;

CoDrone.Send_LinkModeBroadcast(LinkBroadcast_Active); //link module mode change => Active
angle = CoDrone.getGyroAngles(); //save request data
delay(100);

CoDrone.Send_LinkModeBroadcast(LinkModeMute); //link module mode change => Mute
delay(100);

Serial.println("");
Serial.println("--------- Now -----------");
Serial.print("angle roll : \t");
Serial.println(angle.roll);
Serial.print("angle pitch : \t");
Serial.println(angle.pitch);
Serial.print("angle yaw : \t");
Serial.println(angle.yaw);
}

getHeight()

Description

This is a getter function gets the current height of the drone from the object directly below its IR sensor.

Syntax

getHeight()

Parameters

None

Returns

height: The current height above the object directly below the drone’s IR height sensor as an int (mm).

Example Code

//Arduino code
//Code for print request data to serial monitor
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

}

void loop(){
int height;

CoDrone.Send_LinkModeBroadcast(LinkBroadcast_Active); //link module mode change => Active
height = CoDrone.getHeight(); //save request data
delay(100);

CoDrone.Send_LinkModeBroadcast(LinkModeMute); //link module mode change => Mute
delay(100);

Serial.println("");
Serial.println("--------- Now -----------");
Serial.print("height : \t");
Serial.println(height);
}

getOptFlowPosition()

Description

This function gets the x and y coordinates from the optical flow sensor. Keep in mind, the positioning does not take rotation into account.

Syntax

getOptFlowPosition()

Parameters

None

Returns

struct optdata: Returns a struct with optical flow sensor data

Example Code

//Arduino code
//Code for print request data to serial monitor
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);
}

void loop(){
// Struct for get optical flow sensor data
optdata opt;

CoDrone.Send_LinkModeBroadcast(LinkBroadcast_Active); //link module mode change => Active
opt = CoDrone.getOptFlowPosition(); //save request data
delay(100);

CoDrone.Send_LinkModeBroadcast(LinkModeMute); //link module mode change => Mute
delay(100);

Serial.println("");
Serial.println("--------- Now -----------");
Serial.print("opt x : \t");
Serial.println(opt.x);
Serial.print("opt y : \t");
Serial.println(opt.y);
}

getPressure()

Description

This is a getter function gets the data from the barometer sensor.

Syntax

getPressure()

Parameters

None

Returns

pressure: The barometer’s air pressure in millibars at (0.13 resolution).

Example Code

//Arduino code
//Code for print request data to serial monitor
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);
}

void loop(){
int pressure;

CoDrone.Send_LinkModeBroadcast(LinkBroadcast_Active); //link module mode change => Active
pressure = CoDrone.getPressure(); //save request data
delay(100);

CoDrone.Send_LinkModeBroadcast(LinkModeMute); //link module mode change => Mute
delay(100);

Serial.println("");
Serial.println("--------- Now -----------");
Serial.print("pressure : \t");
Serial.println(pressure);
}

getState()

Description

This function gets the state of the drone, as in whether it’s: ready, takeoff, flight, flip, stop, landing, reverse, accident, error.

Syntax

getState()

Parameters

None

Returns

enum state: Returns an enum value (fMode_Ready, fMode_TakeOff, fMode_Flight, fMode_Flip, fMode_Stop, fMode_Landing, fMode_Reverse, fMode_Accident, fMode_Error).

Example Code

//Arduino code
//Code for print request data to serial monitor
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);

int state;

state = CoDrone.getState(); //save request data
delay(50);

if(state == fMode_Ready)
CoDrone.takeoff();

CoDrone.hover(3);
CoDrone.land();
}
void loop(){

}

getTrim()

Description

This function gets the current trim values of the drone.

Syntax

getTrim()

Parameters

None

Returns

struct trimdata: Returns a struct with trim data

Example Code

//Arduino code
//Code for print request data to serial monitor
#include<CoDrone.h> //header

void setup(){
//open serial and connect
CoDrone.begin(115200);
CoDrone.pair(Nearest);
}

void loop(){
// Struct for get trim data
trimdata trim;

CoDrone.Send_LinkModeBroadcast(LinkBroadcast_Active); //link module mode change => Active
trim = CoDrone.getTrim(); //save request data
delay(100);

CoDrone.Send_LinkModeBroadcast(LinkModeMute); //link module mode change => Mute
delay(100);

Serial.println("");
Serial.println("--------- Now -----------");
Serial.print("trim roll : \t");
Serial.println(trim.roll);
Serial.print("trim pitch : \t");
Serial.println(trim.pitch);
Serial.print("trim yaw : \t");
Serial.println(trim.yaw);
Serial.print("trim throttle : \t");
Serial.println(trim.throttle);
}