uci-i2c-device/lib/device.js

50 lines
962 B
JavaScript

'use strict'
// **********************************
class Device {
// bus is i2c-bus bus object
constructor(bus, address, opts) {
this.bus = bus.methods // artifact of adapting ic2-bus to class format
this.address = address
if (opts) {
this.id = opts.id // must be unique within a bus
this.desc = opts.desc
}
}
readRaw(length, buffer) {
return this.bus.i2cRead_p(this.address, length, buffer)
}
writeRaw(length, buffer) {
return this.bus.i2cWrite_p(this.address, length, buffer)
}
read(cmd) {
return this.bus.readByte_p(this.address, cmd)
}
write(cmd, byte) {
return this.bus.writeByte_p(this.address, cmd, byte)
}
read2(cmd) {
return this.bus.readWord_p(this.address, cmd)
}
write2(cmd, bytes) {
return this.bus.writeWord_p(this.address, cmd, bytes)
}
// command with more than two bytes following
readBytes() {}
writeBytes() {}
}
module.exports = {
Device
}