i2c-bus
Version:
I2C serial bus access with Node.js
32 lines (24 loc) • 705 B
JavaScript
;
const i2c = require('../');
const ITERATIONS = 5000;
const DS1621_ADDR = 0x48;
const CMD_ACCESS_TL = 0xa2;
let time;
const performanceTest = (i2c1, testRuns) => {
i2c1.readWord(DS1621_ADDR, CMD_ACCESS_TL).then(word => {
testRuns -= 1;
if (testRuns === 0) {
time = process.hrtime(time);
const readsPerSec = Math.floor(ITERATIONS / (time[0] + time[1] / 1E9));
i2c1.close().then(_ =>
console.log('ok - async-promise-performance - ' + readsPerSec + ' reads per second')
);
} else {
performanceTest(i2c1, testRuns);
}
});
};
i2c.openPromisified(1).then(i2c1 => {
time = process.hrtime();
performanceTest(i2c1, ITERATIONS);
});