From 701f8c7733437d8ecab8847446ed161eb0951dbb Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Mon, 31 Jul 2023 21:40:06 +0100 Subject: [PATCH] btadv: properly encode acc readings --- apps/btadv/app.js | 13 +++++++++---- apps/btadv/app.ts | 16 ++++++++++------ 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/apps/btadv/app.js b/apps/btadv/app.js index cb1020035..94d7f7ad7 100644 --- a/apps/btadv/app.js +++ b/apps/btadv/app.js @@ -221,15 +221,20 @@ var _a; ]; }; encodeGpsHeadingOnly_1.maxLen = 17; - var encodeXYZ = function (data) { + var encodeMag_1 = function (data) { var x = toByteArray_1(data.x, 2, true); var y = toByteArray_1(data.y, 2, true); var z = toByteArray_1(data.z, 2, true); return [x[0], x[1], y[0], y[1], z[0], z[1]]; }; - encodeXYZ.maxLen = 6; - var encodeMag_1 = encodeXYZ; - var encodeAcc_1 = encodeXYZ; + encodeMag_1.maxLen = 6; + var encodeAcc_1 = function (data) { + var x = toByteArray_1(data.x * 1000, 2, true); + var y = toByteArray_1(data.y * 1000, 2, true); + var z = toByteArray_1(data.z * 1000, 2, true); + return [x[0], x[1], y[0], y[1], z[0], z[1]]; + }; + encodeAcc_1.maxLen = 6; var toByteArray_1 = function (value, numberOfBytes, isSigned) { var byteArray = new Array(numberOfBytes); if (isSigned && (value < 0)) { diff --git a/apps/btadv/app.ts b/apps/btadv/app.ts index 77ceb40c1..89685d375 100644 --- a/apps/btadv/app.ts +++ b/apps/btadv/app.ts @@ -481,19 +481,23 @@ const encodeGpsHeadingOnly: LenFunc = (data: CompassData) => { }; encodeGpsHeadingOnly.maxLen = 17; -type XYZ = { x: number, y: number, z: number }; - -const encodeXYZ: LenFunc = (data: XYZ) => { +const encodeMag: LenFunc = (data: CompassData) => { const x = toByteArray(data.x, 2, true); const y = toByteArray(data.y, 2, true); const z = toByteArray(data.z, 2, true); return [ x[0]!, x[1]!, y[0]!, y[1]!, z[0]!, z[1]! ]; }; -encodeXYZ.maxLen = 6; +encodeMag.maxLen = 6; -const encodeMag: LenFunc = encodeXYZ; -const encodeAcc: LenFunc = encodeXYZ; +const encodeAcc: LenFunc = (data: AccelData) => { + const x = toByteArray(data.x * 1000, 2, true); + const y = toByteArray(data.y * 1000, 2, true); + const z = toByteArray(data.z * 1000, 2, true); + + return [ x[0]!, x[1]!, y[0]!, y[1]!, z[0]!, z[1]! ]; +}; +encodeAcc.maxLen = 6; const toByteArray = (value: number, numberOfBytes: number, isSigned: boolean) => { const byteArray: Array = new Array(numberOfBytes);