From 2528887d3f0b9caaa79ad95838a858589d511879 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gillard?= Date: Sat, 25 Dec 2021 21:23:21 +0100 Subject: [PATCH] Upgrade to i2c-bus 5.2.2, fix buffers allocations. --- package.json | 2 +- sensors/bme280-node.js | 6 +++--- sensors/bmp180-node.js | 4 ++-- sensors/bmp280-node.js | 4 ++-- sensors/mcp9808-node.js | 2 +- sensors/tsl2561-node.js | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index dcfb05e..5c4278a 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "bignumber.js": "^4.0.2", - "i2c-bus": "^1.2.2" + "i2c-bus": "^5.2.2" }, "node-red": { "nodes": { diff --git a/sensors/bme280-node.js b/sensors/bme280-node.js index 61d0b36..d0174fa 100644 --- a/sensors/bme280-node.js +++ b/sensors/bme280-node.js @@ -252,7 +252,7 @@ module.exports = function (RED) { // get calibration parameters set 1 (1 of 2) let p2 = new Promise((resolve, reject) => { - let buffer = new Uint8Array(12 * 2 + 1 /* 12 coefficients, 2 bytes each + 1 byte*/); + let buffer = Buffer.alloc(12 * 2 + 1 /* 12 coefficients, 2 bytes each + 1 byte*/); //new Uint8Array(12 * 2 + 1 /* 12 coefficients, 2 bytes each + 1 byte*/); i2cBus.readI2cBlock(node.address, CALIBRATION_PARAMS_ADDRESS1, buffer.length, buffer, (err, bytesRead, buffer) => { if (err) { let errResult = `${node.name} read calibration parameters error: ${err}`; @@ -299,7 +299,7 @@ module.exports = function (RED) { // get calibration parameters set 2 (2 of 2) let p3 = new Promise((resolve, reject) => { - let buffer = new Uint8Array(7); + let buffer = Buffer.alloc(7); //new Uint8Array(7); i2cBus.readI2cBlock(node.address, CALIBRATION_PARAMS_ADDRESS2, buffer.length, buffer, (err, bytesRead, buffer) => { if (err) { let errResult = `${node.name} read calibration parameters error: ${err}`; @@ -535,7 +535,7 @@ module.exports = function (RED) { function measure() { debug(' measure() ...'); - let buffer = new Uint8Array(8); + let buffer = Buffer.alloc(8); //new Uint8Array(8); let timeToWait = getMaxMeasureTime(node.tresolution, node.presolution, node.hresolution); debug(`timeToWait -> ${timeToWait} ms`); diff --git a/sensors/bmp180-node.js b/sensors/bmp180-node.js index 0f68e37..9476fc3 100644 --- a/sensors/bmp180-node.js +++ b/sensors/bmp180-node.js @@ -145,7 +145,7 @@ module.exports = function (RED) { // get calibration parameters let p2 = new Promise((resolve, reject) => { - let buffer = new Uint8Array(11 * 2 /* 12 coefficients, 2 bytes each */); + let buffer = Buffer.alloc(11 * 2 /* 11 coefficients, 2 bytes each */); //new Uint8Array(11 * 2 /* 12 coefficients, 2 bytes each */); i2cBus.readI2cBlock(node.address, CALIBRATION_PARAMS_ADDRESS, buffer.length, buffer, (err, bytesRead, buffer) => { if (err) { let errResult = `${node.name} read calibration parameters error: ${err}`; @@ -237,7 +237,7 @@ module.exports = function (RED) { function measure() { debug(' measure() ...'); - let buffer = new Uint8Array(3); + let buffer = Buffer.alloc(3); //new Uint8Array(3); let timestamp; let UT = 0; let UP = 0; diff --git a/sensors/bmp280-node.js b/sensors/bmp280-node.js index 837be01..f28a953 100644 --- a/sensors/bmp280-node.js +++ b/sensors/bmp280-node.js @@ -215,7 +215,7 @@ module.exports = function (RED) { // get calibration parameters let p2 = new Promise((resolve, reject) => { - let buffer = new Uint8Array(12 * 2 /* 12 coefficients, 2 bytes each */); + let buffer = Buffer.alloc(12 * 2 /* 12 coefficients, 2 bytes each */); //new Uint8Array(12 * 2 /* 12 coefficients, 2 bytes each */); i2cBus.readI2cBlock(node.address, CALIBRATION_PARAMS_ADDRESS, buffer.length, buffer, (err, bytesRead, buffer) => { if (err) { let errResult = `${node.name} read calibration parameters error: ${err}`; @@ -339,7 +339,7 @@ module.exports = function (RED) { } function measure(node) { - let buffer = new Uint8Array(6); + let buffer = Buffer.alloc(6); //new Uint8Array(6); let command = (node.p_oversampling | node.t_oversampling | node.powermode) & 0xff; node.log(' measure() ...'); diff --git a/sensors/mcp9808-node.js b/sensors/mcp9808-node.js index e9b1fb3..083b08c 100644 --- a/sensors/mcp9808-node.js +++ b/sensors/mcp9808-node.js @@ -193,7 +193,7 @@ module.exports = function (RED) { reject(`mcp9808 set measure temperature error: ${err}`); } else { - let buffer = new Uint8Array(2); + let buffer = Buffer.alloc(2); //new Uint8Array(2); i2cBus.readI2cBlock(node.address, REGISTER_TEMPERATURE, buffer.length, buffer, (err, bytesRead, buffer) => { if (err) { reject( `mcp9808 get temperature bytes error: ${err}` ); diff --git a/sensors/tsl2561-node.js b/sensors/tsl2561-node.js index a1de6cc..f4d742d 100644 --- a/sensors/tsl2561-node.js +++ b/sensors/tsl2561-node.js @@ -257,7 +257,7 @@ module.exports = function (RED) { let lux = 0; - let buffer = new Uint8Array(4); + let buffer = Buffer.alloc(4); //new Uint8Array(4); let channel0 = 0; let channel1 = 0;