Merge master and multiple examples

This commit is contained in:
Andrew Stewart 2013-11-27 13:25:30 -08:00
parent 95aa7f8962
commit 8ccf93ce40
5 changed files with 21 additions and 84 deletions

View File

@ -6,15 +6,14 @@ bots = [
{ port: '/dev/cu.Sphero-BRG', name: 'Louie' }
]
SpheroRobot =
connection:
name: 'Sphero', adaptor: 'sphero'
class SpheroRobot
connection: { name: 'Sphero', adaptor: 'sphero' }
work: (my) ->
Logger.info "Robot #{my.name} is now working!"
for bot in bots
robot = Object.create(SpheroRobot)
robot = new SpheroRobot
robot.connection.port = bot.port
robot.name = bot.name

View File

@ -1,4 +1,3 @@
// Generated by CoffeeScript 1.6.3
var Cylon = require('../..');
var bots = [
@ -7,17 +6,22 @@ var bots = [
{ port: '/dev/cu.Sphero-BRG', name: 'Louie' }
];
var SpheroRobot = {
connection: { name: 'Sphero', adaptor: 'sphero' },
var SpheroRobot = (function() {
function SpheroRobot() {}
work: function(my) {
SpheroRobot.prototype.connection = { name: 'Sphero', adaptor: 'sphero' };
SpheroRobot.prototype.work = function(my) {
Logger.info("Robot " + my.name + " is now working!");
}
};
};
return SpheroRobot;
})();
for (var i = 0; i < bots.length; i++) {
var bot = bots[i];
var robot = Object.create(SpheroRobot);
var robot = new SpheroRobot;
robot.connection.port = bot.port;
robot.name = bot.name;

View File

@ -24,16 +24,15 @@ a base robot and change it's attributes as needed.
{ port: '/dev/cu.Sphero-BRG', name: 'Louie' }
]
Now we can define our cleverly-named `SpheroRobot` object. This will be the base
object for all three of the robots.
Now we can define our cleverly-named `SpheroRobot` class. This will be the base
class for all three of the robots.
SpheroRobot =
class SpheroRobot
Every robot needs to connect to a Sphero. We're doing this using the
`cylon-sphero` adaptor.
connection:
name: 'Sphero', adaptor: 'sphero'
connection: { name: 'Sphero', adaptor: 'sphero' }
We'll just give our robots some basic work so we can tell they're actually
working:
@ -43,12 +42,12 @@ working:
And that's all we need for that.
Next up, we'll create Cylon robots by making a duplicate of the `SpheroRobot`
object, and modifying the attributes that are unique to each robot. After the
Next up, we'll create Cylon robots by making an instance of the `SpheroRobot`
class, and modifying the attributes that are unique to each robot. After the
customized robot is ready, we'll feed it into Cylon.
for bot in bots
robot = Object.create(SpheroRobot)
robot = new SpheroRobot
robot.connection.port = bot.port
robot.name = bot.name

View File

@ -1,25 +0,0 @@
Cylon = require '../..'
bots = [
{ name: 'Huey' },
{ name: 'Dewey' },
{ name: 'Louie' }
]
class ChattyRobot
connection: { name: 'loopback', adaptor: 'loopback' }
device: { name: 'ping', driver: 'ping' }
hello: (my) ->
Logger.info "#{my.name}: #{my.ping.ping()}"
work: (my) ->
every 1.seconds(), ->
my.hello(my)
for bot in bots
robot = new ChattyRobot
robot.name = bot.name
Cylon.robot robot
Cylon.start()

View File

@ -1,40 +0,0 @@
var bot, bots, robot, _i, _len;
var Cylon = require('../..');
bots = [
{ name: 'Huey' },
{ name: 'Dewey' },
{ name: 'Louie' }
];
var ChattyRobot = (function() {
function ChattyRobot() {}
ChattyRobot.prototype.connection = { name: 'loopback', adaptor: 'loopback' };
ChattyRobot.prototype.device = { name: 'ping', driver: 'ping' };
ChattyRobot.prototype.hello = function(my) {
Logger.info("" + my.name + ": " + (my.ping.ping()));
};
ChattyRobot.prototype.work = function(my) {
every((1).seconds(), function() {
my.hello(my);
});
};
return ChattyRobot;
})();
for (var i = 0; i < bots.length; i++) {
var bot = bots[i];
var robot = new ChattyRobot;
robot.name = bot.name;
Cylon.robot(robot);
}
Cylon.start();