Skip to content

Commit

Permalink
Milestone! I tested this with a live drone and ran it through some ma…
Browse files Browse the repository at this point in the history
…unevers. It works!
  • Loading branch information
Remy Porter committed Jun 12, 2015
1 parent 2b92aa4 commit 423af9c
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 3 deletions.
6 changes: 6 additions & 0 deletions drone-osc.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ dc.register("/test/op", function(drone, address, data) {
dc.flying = false;
});
})
.register("/move/stop", function(drone, address, data) {
drone.stop();
})
.register("/config/outdoor", function(drone, address, data) {
drone.config("CONFIG:outdoor", data[0]);
})
Expand All @@ -44,6 +47,9 @@ dc.register("/test/op", function(drone, address, data) {
.register("/config/no_shell", function(drone, address, data) {
drone.config("CONTROL:flight_without_shell", data[0]);
})
.register("/reset", function(drone, address, data) {
drone.disableEmergency();
})
;

["left", "right",
Expand Down
60 changes: 60 additions & 0 deletions drone.ck
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
public class Drone {
OscOut osc;
fun void connect(string host, int port) {
(host, port) => osc.dest;
}
fun void takeoff() {
osc.start("/takeoff").send();
}
fun void land() {
osc.start("/land").send();
}
fun void light(string pattern, float freq, float durInMills) {
osc.start("/light/" + pattern).add(freq).add(durInMills).send();
}
fun void anim(string pattern, float durInMills) {
osc.start("/anim/" + pattern).add(durInMills);
}
fun void forward(float speed) {
osc.start("/move/front").add(speed).send();
}
fun void up(float speed) {
osc.start("/move/up").add(speed).send();
}
fun void down(float speed) {
osc.start("/move/down").add(speed).send();
}
fun void backward(float speed) {
osc.start("/move/back").add(speed).send();
}
fun void left(float speed) {
osc.start("/move/left").add(speed).send();
}
fun void right(float speed) {
osc.start("/move/right").add(speed).send();
}
fun void clockwise(float speed) {
osc.start("/move/clockwise").add(speed).send();
}
fun void counterClockwise(float speed) {
osc.start("/move/counterClockwise").add(speed).send();
}
fun void stop() {
osc.start("/move/stop").send();
}
fun void verticalSpeed(float speed) {
osc.start("/config/vert_speed").add(speed).send();
}
fun void yawSpeed(float speed) {
osc.start("/config/yaw_speed").add(speed).send();
}
fun void outdoor(string val) {
osc.start("/config/outdoor").add(val).send();
}
fun void noShell(string val) {
osc.start("/config/no_shell").add(val).send();
}
fun void reset() {
osc.start("/reset").send();
}
}
21 changes: 18 additions & 3 deletions osctest.ck
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
OscOut oout;
("localhost", 8081) => oout.dest;
oout.start("/test/op").add("data").add(5.0).send();
Drone d;
("localhost", 8081) => d.connect;
d.reset();
1::second => now;
d.takeoff();
2::second => now;
d.light("snakeGreenRed", 5, 20000);
2::second => now;
d.forward(1);
d.up(0.5);
4::second => now;
d.clockwise(0.5);
0.5::second => now;
d.stop();
d.anim("flipAhead", 500);
3::second => now;
d.anim("flipBehind", 500);
d.land();
2 changes: 2 additions & 0 deletions runosctest.ck
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Machine.add(me.dir() + "/drone.ck");
Machine.add(me.dir() + "/osctest.ck");

0 comments on commit 423af9c

Please sign in to comment.