UNPKG

ble-ble113

Version:

Library to run the Bluetooth BLE113 Tessel Module.

107 lines (92 loc) 2.34 kB
var tessel = require('tessel'); var master = tessel.port('a'); var slave = tessel.port('b'); var passedLED = tessel.led(1); var errLED = tessel.led(2); passedLED.output().low(); errLED.output().low(); var ble = require('../index'); var _masterController; var _slaveController; var connectToMaster = function(next) { _masterController = ble.connect(master, function(err) { if (err) { console.log("Error connecting to master!") return errLED.high(); } else { console.log("Successfully connected to master.") } setImmediate(function() { next && next(); }); }); } var connectToSlave = function(next) { console.log("Connecting to slave..."); _slaveController = ble.connect(slave, function(err) { if (err) { console.log("Error connecting to slave!") return errLED.high(); } else { console.log("Successfully connected to slave.") } setImmediate(function() { next && next(); }); }) } var connectModules = function(next) { connectToMaster(function() { connectToSlave(function() { next && next(); }) }) } var connectOverBLE = function(next) { console.log("Beginning slave advertisement..."); _slaveController.setAdvertisementData("Yay Tessel", function(err, response) { if (err) return console.log("err adv", err); else { _slaveController.startAdvertising( function() { if (err) { console.log("Error making slave advertise..."); return errLED.high(); } else { console.log("Slave started advertising successfully...") _masterController.scanForPeripherals( function(err, response) { if (err) { console.log("Error scanning for peripherals..."); return errLED.high(); } else { console.log("Scanning for peripherals"); masterDetectSlave(next); } } ) } }) } }) } var masterDetectSlave = function(next) { _masterController.on('discoveredPeripheral', function(peripheral) { console.log("Found a peripheral!"); console.log(peripheral); _masterController.stopScanning(function(err, response) { if (err) return console.log("stop scan error: ", err); else { console.log("stop scan result: ", response.result); } }); }); } connectModules( function() { connectOverBLE(function() { console.log("Finished connecting..."); }); });