UNPKG

ojousima.ruuvi_endpoints.ts

Version:
36 lines (31 loc) 1.24 kB
import { AccelerationBroadcast } from '../accelerationbroadcast'; import { dfacparser } from '../ojousima_endpoint_ac'; /* https://gist.github.com/tauzen/3d18825ae41ff3fc8981 */ function hexStringToByte(str: string): Uint8Array { if (!str) { return new Uint8Array(0); } let a: number[] = []; for (let i: number = 0, len = str.length; i < len; i += 2) { a.push(parseInt(str.substr(i, 2), 16)); } return new Uint8Array(a); } test('test_dfbadecode_is_valid', () => { let data: Uint8Array = hexStringToByte('AC00007900790079007900790079007900790079AF100001'); let tag: AccelerationBroadcast = dfacparser(data); expect(tag.version).toBe(0); expect(tag.dataFormat).toBe(0xac); expect(tag.p2pXG).toBeCloseTo(0.121, 3); expect(tag.p2pYG).toBeCloseTo(0.121, 3); expect(tag.p2pZG).toBeCloseTo(0.121, 3); expect(tag.rmsXG).toBeCloseTo(0.121, 2); expect(tag.rmsYG).toBeCloseTo(0.121, 2); expect(tag.rmsZG).toBeCloseTo(0.121, 3); expect(tag.devXG).toBeCloseTo(0.121, 2); expect(tag.devYG).toBeCloseTo(0.121, 2); expect(tag.devZG).toBeCloseTo(0.121, 3); expect(tag.batteryVoltageV).toBeCloseTo(3.0, 3); expect(tag.temperatureC).toBeCloseTo(16, 3); expect(tag.measurementSequence).toBe(1); });