-
Notifications
You must be signed in to change notification settings - Fork 0
/
bfc.js
66 lines (54 loc) · 1.6 KB
/
bfc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import { BFC, BFC_HWI, BFC_SWI, serialWaitForOpen } from "@sie-js/serial";
import { SerialPort } from 'serialport';
import { parseArgs } from 'node:util';
const argv = parseArgs({
options: {
port: {
type: "string",
default: "/dev/ttyUSB0"
},
help: {
type: "boolean",
short: "h",
default: false
},
usage: {
type: "boolean",
default: false
}
}
});
if (argv.help || argv.usage) {
console.log(`USAGE: bfc.js --port /dev/ttyUSB0`);
process.exit(0);
}
let port = await serialWaitForOpen(new SerialPort({ path: argv.values.port, baudRate: 115200 }));
let bus = new BFC(port);
port.on('error', (err) => console.error('Port error', err));
port.on('close', () => console.error('Port close'));
console.log('Connecting...');
await bus.connect();
await bus.setBestBaudrate();
console.log('BASEBAND', await bus.getBaseband());
console.log('VENDOR', await bus.getVendorName());
console.log('PRODUCT', await bus.getProductName());
console.log('SW VERSION', await bus.getSwVersion());
console.log('LANGUAGE', await bus.getLanguageGroup());
console.log('IMEI', await bus.getIMEI());
for (let k in BFC_HWI) {
console.log('[HwInfo]', k, await bus.getHwInfo(BFC_HWI[k]));
}
for (let k in BFC_SWI) {
console.log('[SwInfo]', k, await bus.getSwInfo(BFC_SWI[k]));
}
let displaysCnt = await bus.getDisplayCount();
console.log(`Total displays: ${displaysCnt}`);
for (let i = 1; i <= displaysCnt; i++) {
let info = await bus.getDisplayInfo(i);
console.log(info);
let bufferInfo = await bus.getDisplayBufferInfo(info.clientId);
console.log(bufferInfo);
}
await bus.disconnect();
bus.destroy();
port.close();