WIP on event emitter for device and connection.

This commit is contained in:
Edgar O Silva 2013-10-24 13:25:45 -05:00
parent f169e5c10b
commit cc24e89249
3 changed files with 13 additions and 4 deletions

View File

@ -1,6 +1,6 @@
Cylon = require('..')
Cylon.robot
cylon = Cylon.robot
connection:
name: 'sphero', adaptor: 'sphero', port: '/dev/rfcomm0'
@ -10,4 +10,9 @@ Cylon.robot
work: (me) ->
every 1.second(), -> me.sphero.roll(60, Math.floor(Math.random() * 360), 1)
.start()
console.log(cylon.devices['sphero'])
cylon.devices['sphero'].on('driver_load', ->
console.log("DRIVER LOAD EVENT TRIGGERED!")
)
cylon.start()

View File

@ -10,8 +10,9 @@
require("./robot")
Port = require("./port")
EventEmitter = require('events').EventEmitter
module.exports = class Connection
module.exports = class Connection extends EventEmitter
constructor: (opts = {}) ->
@self = this
@ -23,6 +24,7 @@ module.exports = class Connection
connect: ->
Logger.info "Connecting to '#{@name}' on port '#{@port.toString()}'..."
@self.emit('connected')
@adaptor.connect(@self)
disconnect: ->

View File

@ -9,8 +9,9 @@
'use strict';
require('./cylon')
EventEmitter = require('events').EventEmitter
module.exports = class Device
module.exports = class Device extends EventEmitter
constructor: (opts = {}) ->
@self = this
@robot = opts.robot
@ -33,6 +34,7 @@ module.exports = class Device
requireDriver: (driverName) ->
Logger.info "dynamic load driver"
@self.emit('driver_load')
@robot.requireDriver(driverName, @self)
addCommands: (object) ->