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
Andrew Stewart
179c486c80
Address namespace collisions for robots, devices, and connections
2014-09-04 14:51:44 -07:00
Andrew Stewart
48497b7b0e
Default to no-op callbacks for #halt methods
2014-09-04 11:22:00 -07:00
Andrew Stewart
d2b00c7d30
Attempt to stop drivers, then adaptors
2014-09-04 10:18:18 -07:00
Andrew Stewart
8f20ccbcf3
Default #halt timeout is 3s, now user configurable
2014-09-03 15:39:54 -07:00
Andrew Stewart
3b7c96e81e
Add user configuration for Cylon internals
2014-09-03 15:08:48 -07:00
Andrew Stewart
11082b44a9
Remove extraneous Connection#halt method
2014-09-02 20:26:26 -07:00
Andrew Stewart
897668f3ab
Clean up DigitalPin class
2014-08-29 12:59:44 -07:00
Andrew Stewart
55f9445149
Remove #proxyTestStubs in favor of inline solution
2014-08-13 15:04:25 -07:00
Andrew Stewart
b312f6bb6b
Correctly proxy functions from driver to device
2014-08-12 18:33:20 -07:00
Andrew Stewart
ffc27f9942
Add ability to pass proxy
2014-08-12 10:07:17 -07:00
Andrew Stewart
6e9ceee6cf
Fixes to driver commands
2014-08-11 15:30:01 -07:00
Andrew Stewart
1f0b214c97
Add Driver#setupCommands method
2014-08-11 14:11:06 -07:00
Andrew Stewart
bad414be39
Correctly avoid labelling 'work' as a command
2014-08-07 14:00:30 -07:00
Andrew Stewart
7a481f6767
Correctly execute device commands
2014-08-07 13:56:06 -07:00
Andrew Stewart
e6c567a090
Add new command structure
2014-08-07 12:24:29 -07:00
Andrew Stewart
50f3ece923
Add basic error handling
2014-08-01 13:04:39 -07:00
Andrew Stewart
026d3777e6
Simplify coercion of Robot to JSON
2014-07-29 18:49:35 -07:00
Andrew Stewart
d0c29822ff
Correctly respond w/ 404 error
2014-07-28 10:01:16 -07:00
Andrew Stewart
029aca2e9e
Add 'details' subsection to Device/Connection
2014-07-25 16:11:45 -07:00
Ron Evans
8762820d0c
Merge pull request #213 from hybridgroup/refactor/threepio
...
Threepio Support
2014-07-19 01:08:19 +02:00
Andrew Stewart
715d9c89af
Emit 'ping' when Ping is told to #ping
...
sorry
2014-07-18 14:44:50 -07:00
Andrew Stewart
f5734b137e
Add MCP commands route, fix /robots route
2014-07-17 12:08:17 -07:00
Andrew Stewart
c97514689b
Only look for command params in POST bodies
2014-07-17 12:07:49 -07:00
Andrew Stewart
6b1d6e2653
WIP on Threepio changes
2014-07-15 12:45:32 -07:00
Andrew Stewart
4f66bdeb51
Namespace API routes under '/api'
2014-07-15 12:33:04 -07:00
Andrew Stewart
7394eefde2
WIP on commands + JSON serialization
2014-07-15 12:27:16 -07:00
Andrew Stewart
d7987f959e
Fix typo
2014-07-15 11:54:16 -07:00
Andrew Stewart
ace5f15a36
Refer to device connections by name in JSON format
2014-07-15 11:49:29 -07:00
Andrew Stewart
b4a68d1a37
Remove connection_id from Connection class
2014-07-15 11:43:43 -07:00
Adrian Zankich
0184efb4cd
Merge pull request #211 from hybridgroup/fix/require-connection
...
Require a connection if a robot has any devices
2014-07-14 07:57:20 -10:00
Andrew Stewart
c4d03428e8
Defer to Utils#fetch for getting ENV state
2014-07-12 11:00:34 -07:00
Andrew Stewart
ba295e9642
Slightly clean up Connection
2014-07-12 11:00:22 -07:00
Andrew Stewart
1c8e84cfb2
Clean up robot initialization
2014-07-12 10:48:57 -07:00
Andrew Stewart
4dd7e013ed
Require a connection if a robot has any devices
2014-07-11 10:46:22 -07:00
Andrew Stewart
ee366739d3
Misc. small refactors
2014-07-10 09:51:23 -07:00
Andrew Stewart
ca2bf7e5a9
Merge branch 'dev' into servo-level-up
...
* dev:
Remove `self` references in favor of #bind
Stop using #fetch here for now, it just breaks tests
Just use arguments directly instead of array
Remove Utils#bind in preference of built-in fn
Consolidate logstring generation into private fn
Experiment with Utils.fetch in Driver class
Add #fetch Utility function
Fix JSHint errors
Fix an edge case and improve tests for API
2014-07-03 11:52:02 -07:00
Edgar Silva
1eabab6ec9
WIP: Change noop to use anonymous function and added tests.
2014-07-03 13:42:43 -05:00
Andrew Stewart
f0d8b0360b
Remove `self` references in favor of #bind
2014-07-03 09:35:24 -07:00
Edgar Silva
ed8d6faeee
Chance Adaptor#noop for Adaptor#_noop.
2014-07-02 20:06:40 -05:00
Edgar Silva
afa7fe7495
Adds noop function to base adaptor.
2014-07-02 19:42:39 -05:00
Edgar Silva
c4b10e66f4
Merge branch 'master' into servo-level-up
2014-07-02 17:05:15 -05:00
Andrew Stewart
5ce0d37640
Stop using #fetch here for now, it just breaks tests
2014-06-24 10:37:59 -07:00
Andrew Stewart
5974eb80cd
Just use arguments directly instead of array
2014-06-18 16:02:54 -07:00
Andrew Stewart
a9b874a917
Merge branch 'master' into dev
...
* master:
Bump version to 0.15.1
Only require the API/Express when using it
2014-06-18 15:19:53 -07:00
Andrew Stewart
856619e902
Only require the API/Express when using it
...
Fixes an issue with the Tessel, which cannot load Express.
2014-06-18 14:44:46 -07:00
Andrew Stewart
5acfd4aed4
Remove Utils#bind in preference of built-in fn
...
We were re-implementing Function.prototype.bind, so let's just use that.
2014-06-17 19:35:07 -07:00
Andrew Stewart
6fa87fbf7c
Consolidate logstring generation into private fn
2014-06-17 19:18:12 -07:00
Andrew Stewart
e8520e3de2
Experiment with Utils.fetch in Driver class
2014-06-17 19:15:38 -07:00
Andrew Stewart
6f42b061b3
Add #fetch Utility function
...
The #fetch utility acts in (roughly) the same way as Ruby's Hash#fetch function.
This addition should hopefully make constructors more rigorous and help to
prevent a few classes of errors.
2014-06-17 16:02:54 -07:00
Andrew Stewart
af8cfbe333
Fix JSHint errors
2014-06-16 13:09:13 -07:00
Andrew Stewart
ca749fd03e
Fix an edge case and improve tests for API
2014-06-16 12:22:11 -07:00
Andrew Stewart
587efe2fee
Rename API variables for less confusion
...
api.express => the Express instance
api.server => the actual server (@express or a https.Server instance)
2014-06-16 08:44:52 -07:00
Andrew Stewart
6de922f2fc
Make halting on SIGINT async
...
This change gives adaptors/drivers more flexibility in halting. Additionally,
now, by default, all Adaptors/Drivers will remove all their event listeners
before halting, which should prevent some additional commands from being sent to
the adaptor during shutdown.
2014-06-12 15:31:49 -07:00
edgarsilva
0869909521
Updated fromScale util to return top or bottom of scale, updated specs to reflect new fromScale behavior.
2014-06-11 16:32:40 -05:00
Andrew Stewart
9e1ffad6f6
Add more tests for BasicLogger class
2014-06-10 19:05:41 -07:00
Andrew Stewart
9bbc7faf5e
Misc. JSHint-suggested cleanups in BasicLogger
2014-06-10 18:50:10 -07:00
Andrew Stewart
682bfc6536
Add missing semicolon to appease JSHint
2014-06-10 18:45:08 -07:00
Andrew Stewart
f797cf4c48
Misc. cleanup in Basestar
2014-06-10 18:44:40 -07:00
Andrew Stewart
9c60700c0f
Clean up declaration of default work block
2014-06-10 18:38:55 -07:00
Andrew Stewart
b66a1d3fee
Remove unused param for #start callback
2014-06-10 18:38:00 -07:00
Andrew Stewart
594c73dc60
Declare missingModuleError before it's used
2014-06-10 18:37:19 -07:00
Andrew Stewart
3b312def0d
Small cleanups in Device
2014-06-10 18:19:04 -07:00
Andrew Stewart
8d3c89076d
Allow easier extension in subclasses w/ prototypes
2014-06-10 14:18:35 -07:00
Andrew Stewart
1832e20e17
Expose commands as array, instead of function
...
For appropriate classes, #commands is now an array, instead of a function that
returns the same array.
2014-06-10 12:29:44 -07:00