UNPKG

bt-sensors-plugin-sk

Version:

Bluetooth Sensors for Signalk -- support for Victron devices, RuuviTag, Xiaomi, ATC and Inkbird, Ultrasonic wind meters, Mopeka tank readers, Renogy Battery and Solar Controllers, Aranet4 environment sensors, SwitchBot temp and humidity sensors, Kilovault

28 lines (25 loc) 707 B
/* Ported from Python original by Keshav Varma https://github.com/keshavdv */ class _BitReader{ constructor( data){ this._data = data this._index = 0 } read_bit(){ const bit = (this._data[this._index >> 3] >> (this._index & 7)) & 1 this._index++ return bit } read_unsigned_int(num_bits){ var value ='' for (let i = 0; i < num_bits; i++) value = this.read_bit().toString()+value return parseInt(value,2) } read_signed_int(num_bits){ const value = this.read_unsigned_int(num_bits) return value & (1 << (num_bits - 1))?value - (1 << num_bits):value } } module.exports=_BitReader