noflo-legoev3
Version:
NoFlo components for a LEGO Mindstorms EV3
44 lines (33 loc) • 1.24 kB
text/coffeescript
fs = require 'fs'
noflo = require 'noflo'
# noflo-nodejs
# https://github.com/ev3dev/ev3dev/wiki/Using-the-LEDs
# https://github.com/ev3dev/ev3dev/wiki/EV3-LEDs
# TODO(ensonic): support trigger=timer to make it blink
class LED extends noflo.Component
description: 'Control LED'
icon: 'lightbulb-o'
constructor: ->
'left'
= new noflo.InPorts
color:
datatype: 'color'
values: ['#000000', '#ff0000', '#ffff00', '#00ff00']
description: 'LED color'
port:
datatype: 'string'
values: ['left', 'right']
description: 'LED port'
.color.on 'data', (data) =>
r_val = parseInt(data.substr(1,2),16)
g_val = parseInt(data.substr(3,2),16)
fs.writeFile + 'trigger', 'none'
fs.writeFile + 'brightness', if (r_val == 255) then 1 else 0
fs.writeFile + 'trigger', 'none'
fs.writeFile + 'brightness', if (g_val == 255) then 1 else 0
.port.on 'data', (data) =>
data
updateBase: (port) ->
= '/sys/class/leds/ev3:red:' + port + '/'
= '/sys/class/leds/ev3:green:' + port + '/'
exports.getComponent = -> new LED