32 lines
696 B
JavaScript
32 lines
696 B
JavaScript
|
'use strict'
|
||
|
|
||
|
const ipc = require('node-ipc')
|
||
|
|
||
|
function capitalize (s) {
|
||
|
return s[0].toUpperCase() + s.slice(1)
|
||
|
}
|
||
|
|
||
|
class Blootstrap {
|
||
|
constructor () {
|
||
|
this._onData = () => {}
|
||
|
ipc.connectTo('blootstrap_ble', () => {
|
||
|
ipc.of.blootstrap_ble.on('connect', () => {
|
||
|
ipc.log(`Connected to the blootstrap_ble service`)
|
||
|
|
||
|
})
|
||
|
ipc.of.blootstrap_ble.on('data', data => {
|
||
|
const str = data.toString()
|
||
|
ipc.log(str)
|
||
|
this._onData(str)
|
||
|
})
|
||
|
ipc.of.blootstrap_ble.on('disconnect', () => {
|
||
|
ipc.log(`Disconnected from the blootstrap_ble service`)
|
||
|
})
|
||
|
})
|
||
|
}
|
||
|
on (eventName, callback) {
|
||
|
this[`_on${capitalize(eventName)}`] = callback
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = new Blootstrap()
|