Commit Graph

245 Commits

Author SHA1 Message Date
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
Andrew Stewart 6fa67f0e3b Trigger test mode by checking NODE_ENV
Adds CYLON_TEST var for tests to make sure tests run properly
2014-09-22 15:05:45 -07:00
Andrew Stewart 299ade796b Rename auto_start to 'auto' 2014-09-22 14:20:26 -07:00
Andrew Stewart 83bf4e3d14 Merge branch 'dev' into add/imperative-work
* dev:
  Remove Adaptor#_noop function
  Move Cylon API config to the Cylon.configure block
  Fixup interval in driver
  Add all new platforms to README
  Add default interval in Driver class
  Switch to single Cylon#config function

Conflicts:
	test/specs/cylon.spec.js
2014-09-22 11:37:56 -07:00
Andrew Stewart 1b549f2dbb Remove Adaptor#_noop function 2014-09-22 09:53:10 -07:00
Andrew Stewart 333dc881ea Move Cylon API config to the Cylon.configure block 2014-09-19 12:03:50 -07:00
Andrew Stewart b7467e7a63 Fixup interval in driver 2014-09-18 12:03:41 -07:00
Andrew Stewart e72ce5ceac Add default interval in Driver class 2014-09-16 14:42:45 -07:00
Andrew Stewart 7560507f11 Switch to single Cylon#config function 2014-09-15 14:46:24 -07:00
Andrew Stewart c182c1316e Auto start by default, implement start of modes 2014-09-08 15:28:16 -07:00
Andrew Stewart 70bd524ebe Explain auto_start better 2014-09-08 14:33:07 -07:00
Adrian Zankich 69f066e432 async the auto start 2014-09-08 14:30:23 -07:00
Andrew Stewart 3ec6c2717a Switch to Logger.debug for default work, add test for #start return val 2014-09-08 14:14:11 -07:00
Andrew Stewart f0d0e4b738 Correct tests for auto-start, allow for non-truthy values 2014-09-08 14:12:14 -07:00
Adrian Zankich 12ae17eeb2 Fix typo 2014-09-08 13:43:11 -07:00
Adrian Zankich 021c1756dc Auto start by default 2014-09-08 13:41:59 -07:00
Andrew Stewart f1544e5a8f Add support for work to be triggered via an event 2014-09-08 12:57:56 -07:00
Andrew Stewart b48f5c3a57 Add no-op #connect and #start methods to built-ins 2014-09-08 09:31:16 -07:00
Andrew Stewart cf643d9d70 Remove default Adaptor#connect and Driver#start methods
Child classes should always implement these themselves.
2014-09-08 09:27:18 -07:00
Andrew Stewart 14d8bbab00 Remove base Adaptor#disconnect and Driver#halt fns
Would be more useful to module developers to loudly error rather than silently
not work.
2014-09-05 09:55:57 -07:00
Andrew Stewart 9fe9700eef Restructure Halt/Disconnect Structure
Moves disconnecting event handlers up a level so adaptors/drivers don't have to
worry about it.

Now, Adaptor/Driver subclasses should simply execute the provided callback to
dindicate they're done disconnecting, rather than calling the superclass method
as before.
2014-09-05 09:38:12 -07:00