Literate CoffeeScript version of sphero_messages example
This commit is contained in:
parent
8af9a624b0
commit
791b301eda
|
@ -0,0 +1,67 @@
|
|||
# Sphero Messages
|
||||
|
||||
For this Cylon example, we're going to hook up to a Sphero, and respond to
|
||||
a number of events the Sphero adaptor is capable of emitting. Before we get
|
||||
started, make sure you've got the `cylon-sphero` module installed.
|
||||
|
||||
To get started, let's import the Cylon module:
|
||||
|
||||
Cylon = require '../..'
|
||||
|
||||
With that set up, we can start defining our robot:
|
||||
|
||||
Cylon.robot
|
||||
|
||||
As with other Sphero examples, we'll have one connection and one device, both
|
||||
the same Sphero.
|
||||
|
||||
connection: { name: 'sphero', adaptor: 'sphero', port: '/dev/rfcomm0' }
|
||||
device: { name: 'sphero', driver: 'sphero' }
|
||||
|
||||
And now we can start defining our robot's work.
|
||||
|
||||
work: (me) ->
|
||||
|
||||
When the Sphero's connected, we want to set up collision detection and change
|
||||
it's color.
|
||||
|
||||
me.sphero.on 'connect', ->
|
||||
Logger.info "Setting up Collision Detection..."
|
||||
me.sphero.detectCollisions()
|
||||
me.sphero.setRGB 0x00FF00
|
||||
|
||||
When the Sphero emits an 'update' event, we want to log the data it's provided
|
||||
to us:
|
||||
|
||||
me.sphero.on 'update', (data) ->
|
||||
Logger.info "Update event eventName: #{data} "
|
||||
Logger.info "Update event args: "
|
||||
Logger.info data
|
||||
|
||||
Similarly, when we get a message from the Sphero, we want to log the data, but
|
||||
we'll also change it's color while we're at it.
|
||||
|
||||
me.sphero.on 'message', (data) ->
|
||||
me.sphero.setRGB 0x0000FF
|
||||
Logger.info "Message:"
|
||||
Logger.info data
|
||||
|
||||
In the event of a collision, we want to change the color of the Sphero again, as
|
||||
well as logging the data provided by the collision event.
|
||||
|
||||
me.sphero.on 'collision', (data) ->
|
||||
me.sphero.setRGB 0xFF0000
|
||||
Logger.info "Collision:"
|
||||
Logger.info data
|
||||
|
||||
And, last but not least, when we get a notification event we want to record it's
|
||||
data and change the color.
|
||||
|
||||
me.sphero.on 'notification', (data) ->
|
||||
me.sphero.setRGB 0xFF0000
|
||||
Logger.info "Notification:"
|
||||
Logger.info data
|
||||
|
||||
And with all that done, we can finally start the robot.
|
||||
|
||||
.start()
|
Loading…
Reference in New Issue