Andrew Stewart
9fe92967bb
Make use of `thisArg` instead of #bind
2014-11-30 15:17:57 -08:00
Andrew Stewart
3eb1da8481
Simplify halt code in Robot slightly
2014-11-30 11:47:33 -08:00
Andrew Stewart
29583c0bd5
Add back debug logging for device/connection start
2014-11-28 14:42:26 -08:00
Andrew Stewart
4f850d5e9e
Support passing config to Logger#setup again
2014-11-28 09:37:44 -08:00
Andrew Stewart
ca8e22f1e2
Fluent #device/#connection update
...
Now pass name, then object of details
#device({ name: 'ping', driver: 'ping' });
// vs
#device('ping', { driver: 'ping' });
2014-11-26 09:33:19 -08:00
Andrew Stewart
9047797c9f
Deprecate 'connection' and 'device' Robot opts
2014-11-25 14:43:57 -08:00
Andrew Stewart
15c9b96333
Extract out Connection/Device initialization
...
Simple extraction out of Connection/Device initialization code inside
Robot.
This yields an interesting boon, however - this is now a valid Cylon
program:
var Cylon = require('cylon');
Cylon
.robot()
.connection({ name: 'loopback', adaptor: 'loopback' })
.device({ name: 'ping', driver: 'ping' })
.on('ready', function(bot) {
console.log("Bot working!");
every(1000, function() {
console.log(bot.ping.ping());
})
});
Cylon.start();
For those that prefer imperative programs with Cylon, this is a nice
syntax addition.
2014-11-20 08:43:08 -08:00
Andrew Stewart
668acf1e18
Add support for specifying API configuration to Cylon#api
2014-11-14 13:05:16 -08:00
Andrew Stewart
25119c170f
Refer to correct element for proxying
2014-11-14 11:34:37 -08:00
Andrew Stewart
5ff743a4c5
Correct API inconsistency
2014-11-14 11:06:21 -08:00
Andrew Stewart
38bf5fdfed
Refer to Adaptor instances as 'Connection'
2014-11-14 10:56:45 -08:00
Andrew Stewart
39f9c8b637
Fix up API errors
2014-11-11 13:41:09 -08:00
Andrew Stewart
ce87a355f0
Modifications, fix test suite
2014-11-11 11:41:23 -08:00
Andrew Stewart
e67ae19882
Remove Connection and Device classes
...
They are now functions that return instances of Adaptors and Drivers
respectively.
2014-11-10 16:06:10 -08:00
Andrew Stewart
f1b982fedd
Support providing connections/devices as an object
...
Before:
connections: [
{ name: 'loopback', adaptor: 'loopback', port: 13 }
],
Now:
connections: {
loopback: { adaptor: 'loopback', port: 13 }
}
Array syntax still works, but has been marked as deprecated.
2014-11-10 10:52:55 -08:00
Andrew Stewart
4c539ab9d1
Better configuration for TDR test mode
2014-11-06 09:48:21 -08:00
Andrew Stewart
277d4a51ee
Correct API errors
2014-11-06 09:10:56 -08:00
Andrew Stewart
e0d3ffbe22
Bump version to "0.20.1"
2014-11-05 15:56:37 -08:00
Andrew Stewart
e9f73228f1
Move requires around to make Browserify cooperate
2014-11-05 15:24:50 -08:00
Andrew Stewart
c43978bea2
Add logging for module registration
2014-11-05 14:26:18 -08:00
Andrew Stewart
60e89c9671
If key supplied in hash, use it to find module in Registry
2014-11-05 10:04:45 -08:00
Andrew Stewart
966f8aa530
s/Repository/Registry/g
2014-10-31 14:14:02 -07:00
Andrew Stewart
d62673bc8a
Stop using extraParams
2014-10-31 13:50:22 -07:00
Andrew Stewart
1c922f02c1
Address bugs w/ connections
2014-10-31 13:48:05 -07:00
Andrew Stewart
44075a1a30
Hook Repository class up, change-up module loading
...
Cylon modules were previously styled something like this:
module.exports = {
adaptor: function(args) {
return new Adaptor(args);
},
register: function(robot) {
Cylon.Logger.debug("Registering Firmata adaptor for " + robot.name);
robot.registerAdaptor('cylon-firmata', 'firmata');
GPIO.register(robot);
I2C.register(robot);
}
};
Now, they should be something more like this:
module.exports = {
adaptors: ['firmata'],
dependencies: ['cylon-gpio', 'cylon-i2c'],
adaptor: function(args) {
return new Adaptor(args);
},
};
2014-10-30 13:29:06 -07:00
Andrew Stewart
63e43cc553
Repository module added, not integrated yet
2014-10-29 15:25:35 -07:00
Andrew Stewart
0f59645fd7
Move Logger configuration into Cylon#config
2014-10-28 15:53:03 -07:00
Ron Evans
903f8a9518
Merge pull request #235 from hybridgroup/add/log-levels
...
Add log levels
2014-10-28 17:38:00 +00:00
Ron Evans
3ceb6cda85
Merge pull request #234 from hybridgroup/workMode
...
Work mode configuration
2014-10-28 17:37:24 +00:00
Andrew Stewart
a8b16a3469
Proxy all opts that aren't already used internally
2014-10-27 13:40:38 -07:00
Andrew Stewart
2cb2fc232d
Basic log level implementation
2014-10-27 08:59:36 -07:00
Andrew Stewart
d65742bb49
Generate code! It's what the cool kids are doing!
2014-10-24 14:54:56 -07:00
Andrew Stewart
f5de644af7
Not sure why these were classes to begin with
2014-10-24 14:02:03 -07:00
Andrew Stewart
3f9a7cf148
Fixup some Browserify errors, indicate support in README
2014-10-21 11:31:22 -07:00
Andrew Stewart
9be0f779ae
Update dependencies
2014-10-20 14:38:41 -07:00
Andrew Stewart
157fcec25e
Avoid creating functions inside loop, properly terminates now
2014-10-14 10:25:58 -07:00
Adrian Zankich
b80ad6e167
start the robots in parallel
2014-10-04 00:56:08 -07:00
Adrian Zankich
d4ed3117f3
enable async or sync work modes
2014-10-03 23:07:07 -07:00
Andrew Stewart
e74675d65a
Small fixes to robot.js
2014-10-02 11:35:33 -07:00
Andrew Stewart
a4498d0281
Reduce duplication in Basestar event proxying code
2014-10-02 11:14:19 -07:00
Andrew Stewart
2c1c691cbc
Add new function proxying as utility function
2014-10-02 11:00:39 -07:00
Andrew Stewart
35c3a4b9e9
Proxy methods after #connect/#start
2014-10-01 18:11:36 -07:00
Andrew Stewart
d865bac72b
Add error triggering
2014-09-30 16:13:20 -07:00
Andrew Stewart
81dfda5732
Fixup specs
2014-09-30 12:22:00 -07:00
Andrew Stewart
8e0790ad9f
Default to manual mode, prevent multiple #starts
...
Additionally adds #halt/#disconnect to built-in loopback/ping
2014-09-30 12:17:02 -07:00
Andrew Stewart
f029438c19
Remove #Robot export, config option is now
2014-09-30 11:53:53 -07:00
Andrew Stewart
75c8d47676
Remove commands array from Adaptor base class
2014-09-29 15:41:13 -07:00
Andrew Stewart
77ecc2a82b
Automatically proxy methods from Adaptors to Connections
2014-09-29 15:25:51 -07:00
Andrew Stewart
de0a8fc0cb
Emit 'ready' event, not 'work', when working
2014-09-29 10:21:29 -07:00
Andrew Stewart
90cf0eed0a
Add direct Adaptor access inside Drivers
2014-09-23 11:57:35 -07:00