UNPKG

johnny-five

Version:

The JavaScript Arduino Programming Framework.

131 lines (111 loc) 3.19 kB
/* * johnny-five * https://github.com/rwldrn/johnny-five * * Copyright (c) 2012 Rick Waldron <waldron.rick@gmail.com> * Licensed under the MIT license. */ var es6 = require("es6-shim"); module.exports = { Accelerometer: require("./accelerometer"), Animation: require("./animation"), Board: require("./board"), Button: require("./button"), Compass: require("./compass"), Distance: require("./distance"), ESC: require("./esc"), Fn: require("./fn"), Gripper: require("./gripper"), Gyro: require("./gyro"), IR: require("./ir"), LCD: require("./lcd"), Led: require("./led"), LedControl: require("./ledcontrol"), Joystick: require("./joystick"), Motor: require("./motor"), Nodebot: require("./nodebot"), Piezo: require("./piezo"), Ping: require("./ping"), Pir: require("./pir"), Pin: require("./pin"), Relay: require("./relay"), Repl: require("./repl"), Sensor: require("./sensor"), Servo: require("./servo"), ShiftRegister: require("./shiftregister"), Sonar: require("./sonar"), Stepper: require("./stepper"), Switch: require("./switch"), Wii: require("./wii") }; // Customized constructors // // module.exports.Analog = function(opts) { return new module.exports.Sensor(opts); }; module.exports.Digital = function(opts) { var pin; if (typeof opts === "number") { pin = opts; opts = { type: "digital", pin: pin }; } else { opts.type = opts.type || "digital"; } return new module.exports.Sensor(opts); }; module.exports.Sensor.Analog = module.exports.Analog; module.exports.Sensor.Digital = module.exports.Digital; module.exports.IR.Distance = function(opts) { return new module.exports.Distance(opts); }; module.exports.IR.Motion = function(opt) { return new module.exports.Pir( typeof opt === "number" ? opt : ( opt.pin === undefined ? 7 : opt.pin ) ); }; module.exports.IR.Proximity = function(model) { return new module.exports.IR({ device: model || "GP2Y0D805Z0F", freq: 50 }); }; module.exports.IR.Reflect = function(model) { return new module.exports.IR({ device: model || "QRE1113GR", freq: 50 }); }; module.exports.Magnetometer = function() { return new module.exports.Compass({ device: "HMC5883L", freq: 100, gauss: 1.3 }); }; module.exports.Led.Matrix = function(opts) { opts.isMatrix = true; return new module.exports.LedControl(opts); }; module.exports.Led.Digits = function(opts) { opts.isMatrix = false; return new module.exports.LedControl(opts); }; Object.keys(module.exports.LedControl).forEach(function(key) { module.exports.Led.Digits[key] = module.exports.LedControl[key]; module.exports.Led.Matrix[key] = module.exports.LedControl[key]; }); module.exports.Led.Matrix.CHARS = module.exports.LedControl.MATRIX_CHARS; module.exports.Led.Digits.CHARS = module.exports.LedControl.DIGIT_CHARS; // Short-handing, Aliases module.exports.Boards = module.exports.Board.Array; module.exports.ESCs = module.exports.ESC.Array; module.exports.Leds = module.exports.Led.Array; module.exports.Servos = module.exports.Servo.Array; // Back Compat module.exports.Nunchuk = module.exports.Wii.Nunchuk;