32 lines
705 B
JavaScript
32 lines
705 B
JavaScript
'use strict';
|
|
|
|
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);
|
|
});
|
|
|