UNPKG

bt-sensors-plugin-sk

Version:

Bluetooth Sensors for Signalk - see https://www.npmjs.com/package/bt-sensors-plugin-sk#supported-sensors for a list of supported sensors

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