Commit 05228773 authored by martin hou's avatar martin hou

降低进度汇报的频率,改为每5%变化一次

parent 7c52b416
...@@ -167,7 +167,12 @@ export function Home() { ...@@ -167,7 +167,12 @@ export function Home() {
} }
const get_file = () => { const get_file = () => {
jensen.getFile(filename, filelength, function() {}, function() {}); jensen.getFile(filename, filelength, function(data) {
console.log('data', data.length);
}, function(recvBytes) {
let percent = Math.floor(recvBytes / filelength * 100);
console.log('progress', percent);
});
} }
return ( return (
......
...@@ -137,7 +137,7 @@ function Jensen(log) { ...@@ -137,7 +137,7 @@ function Jensen(log) {
: device.productId == 0xb00e : device.productId == 0xb00e
? 'hidock-p1' ? 'hidock-p1'
: device.productId == 0xb00f ? 'hidock-p1:mini' : 'unknown'; : device.productId == 0xb00f ? 'hidock-p1:mini' : 'unknown';
console.log('device pid: ' + device.productId); Logger.info('jensen', 'connect', 'device pid: ' + device.productId);
} catch (e) { } catch (e) {
Logger.error('jensen', 'setup', String(e)); Logger.error('jensen', 'setup', String(e));
} }
...@@ -242,7 +242,7 @@ function Jensen(log) { ...@@ -242,7 +242,7 @@ function Jensen(log) {
Logger.debug('jensen', 'sendNext', 'command: ' + COMMAND_NAMES[cmd.command] + ', data bytes: ' + data.byteLength); Logger.debug('jensen', 'sendNext', 'command: ' + COMMAND_NAMES[cmd.command] + ', data bytes: ' + data.byteLength);
self.timewait = cmd.command == TRANSFER_FILE || cmd.command == GET_FILE_BLOCK ? 1000 : 10; self.timewait = cmd.command == TRANSFER_FILE || cmd.command == GET_FILE_BLOCK ? 1000 : 10;
console.log('Send', data); // console.log('Send', data);
await device.transferOut(1, data).catch((e) => crash('sendNext', e)); await device.transferOut(1, data).catch((e) => crash('sendNext', e));
if (cmd.onprogress) cmd.onprogress(1, 1); if (cmd.onprogress) cmd.onprogress(1, 1);
/* /*
...@@ -908,11 +908,20 @@ Jensen.prototype.getFile = async function (filename, length, ondata, onprogress) ...@@ -908,11 +908,20 @@ Jensen.prototype.getFile = async function (filename, length, ondata, onprogress)
} }
}; };
// this.onreceive = onprogress; // this.onreceive = onprogress;
this._progress_report = {};
this.onreceive = function(recvBytes) this.onreceive = function(recvBytes)
{ {
let percent = Math.floor(recvBytes / length); let percent = Math.floor(recvBytes / length * 100);
if (percent % 10 == 9) onprogress(recvBytes); let k = 't' + percent;
if (percent == 100) onprogress(recvBytes); if (percent % 5 == 0 && percent > 0 && percent < 100)
{
this._progress_report[k] && onprogress?.(recvBytes);
this._progress_report[k] = true;
}
if (percent == 100)
{
onprogress?.(recvBytes);
}
} }
Jensen.registerHandler(TRANSFER_FILE, handler); Jensen.registerHandler(TRANSFER_FILE, handler);
this.send(new Command(TRANSFER_FILE).body(fname)); this.send(new Command(TRANSFER_FILE).body(fname));
...@@ -1051,11 +1060,11 @@ Jensen.prototype.sendScheduleInfo = function (infos) { ...@@ -1051,11 +1060,11 @@ Jensen.prototype.sendScheduleInfo = function (infos) {
const reserved = [0x00, 0x00]; // 预留 const reserved = [0x00, 0x00]; // 预留
bodys = bodys.concat([...startDate, ...endDate, ...reserved, ...codes]); bodys = bodys.concat([...startDate, ...endDate, ...reserved, ...codes]);
} }
console.log('send schedule info', infos, bodys); // console.log('send schedule info', infos, bodys);
return this.send(new Command(SCHEDULE_INFO).body(bodys)); return this.send(new Command(SCHEDULE_INFO).body(bodys));
} else { } else {
const bodys = new Array(52).fill(0); const bodys = new Array(52).fill(0);
console.log('send schedule info', infos, bodys); // console.log('send schedule info', infos, bodys);
return this.send(new Command(SCHEDULE_INFO).body(bodys)); return this.send(new Command(SCHEDULE_INFO).body(bodys));
} }
}; };
...@@ -1113,7 +1122,7 @@ Jensen.prototype.updateUAC = async function(uacFile, seconds) { ...@@ -1113,7 +1122,7 @@ Jensen.prototype.updateUAC = async function(uacFile, seconds) {
} }
Jensen.registerHandler(REALTIME_CONTROL, commonMessageParser); Jensen.registerHandler(REALTIME_CONTROL, commonMessageParser);
Jensen.registerHandler(REALTIME_READ_SETTING, (msg) => { Jensen.registerHandler(REALTIME_READ_SETTING, (msg) => {
console.log(msg); // console.log(msg);
return msg; return msg;
}); });
Jensen.registerHandler(REALTIME_TRANSFER, (msg) => { Jensen.registerHandler(REALTIME_TRANSFER, (msg) => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment