UNPKG

bonescript

Version:

Physical computing library for embedded Linux

145 lines (128 loc) 3.85 kB
var fs = require('fs'); var winston = require('winston'); var my = require('./my'); var gpioFile = {}; var logfile = 'bonescript.log'; var readPWMFreqAndValue = function (pin, pwm) { winston.info('readPWMFreqAndValue(' + [pin.key, pwm.key] + ')'); var mode = {}; mode.freq = pwm.freq; mode.value = pwm.value; return (mode); }; var readGPIODirection = function (n, gpio) { winston.info('readGPIODirection(' + [n] + ')'); var mode = {}; if (typeof gpio[n] != 'undefined') { if (gpio[n].active) { mode.active = true; } else { mode.active = false; } mode.direction = gpio[n].direction; } return (mode); }; var readPinMux = function (pin, mode, callback) { winston.info('readPinMux(' + [pin.key] + ')'); if (callback) { if (callback.length == 1) callback(mode); else callback(null, mode); } return (mode); }; var setPinMode = function (pin, pinData, template, resp) { winston.info('setPinMode(' + [pin.key, pinData, template] + ')'); gpioFile[pin.key] = true; return (resp); }; var setLEDPinToGPIO = function (pin, resp) { winston.info('setLEDPinToGPIO(' + [pin.key] + ')'); return (resp); }; var exportGPIOControls = function (pin, direction, resp) { winston.info('expertGPIOControls(' + [pin.key, direction] + ')'); return (resp); }; var writeGPIOValue = function (pin, value, callback) { winston.info('writeGPIOValue(' + [pin.key, value] + ')'); if (callback) { callback(); } }; var readGPIOValue = function (pin, resp, callback) { winston.info('readGPIOValue(' + [pin.key] + ')'); if (callback) { resp.value = 0; if (callback.length == 1) callback(resp); else callback(null, resp.value); return (true); } resp.value = 0; return (resp); }; var enableAIN = function () { winston.info('enableAIN()'); return (true); }; var readAIN = function (pin, resp, callback) { winston.info('readAIN(' + [pin.key] + ')'); resp.value = 0; if (callback) { if (callback.length == 1) callback(resp); else callback(null, resp.value); } return (resp); }; var writeGPIOEdge = function (pin, mode) { winston.info('writeGPIOEdge(' + [pin.key, mode] + ')'); var resp = {}; return (resp); }; var writePWMFreqAndValue = function (pin, pwm, freq, value, resp) { winston.info('writePWMFreqAndValue(' + [pin.key, pwm.name, freq, value] + ')'); return (resp); }; var readEeproms = function (eeproms) { winston.info('readEeproms()'); var boardName = 'A335BNLT'; var version = ''; var serialNumber = ''; eeproms['/sys/bus/i2c/drivers/at24/1-0050/eeprom'] = {}; eeproms['/sys/bus/i2c/drivers/at24/1-0050/eeprom'].boardName = boardName; eeproms['/sys/bus/i2c/drivers/at24/1-0050/eeprom'].version = version; eeproms['/sys/bus/i2c/drivers/at24/1-0050/eeprom'].serialNumber = serialNumber; return (eeproms); }; var readPlatform = function (platform) { winston.info('readPlatform()'); platform.name = 'BeagleBone Simulator'; return (platform); }; var getPin = function (pin) { return (my.getpin(pin)); }; module.exports = { logfile: logfile, readPWMFreqAndValue: readPWMFreqAndValue, readGPIODirection: readGPIODirection, readPinMux: readPinMux, setPinMode: setPinMode, setLEDPinToGPIO: setLEDPinToGPIO, exportGPIOControls: exportGPIOControls, writeGPIOValue: writeGPIOValue, readGPIOValue: readGPIOValue, enableAIN: enableAIN, readAIN: readAIN, writeGPIOEdge: writeGPIOEdge, writePWMFreqAndValue: writePWMFreqAndValue, readEeproms: readEeproms, readPlatform: readPlatform, getPin: getPin }