bbl min add printer status and print control buttons
This commit is contained in:
parent
0e32cfd1af
commit
3e27f195d0
2 changed files with 49 additions and 18 deletions
|
|
@ -170,10 +170,10 @@ self.kiri.load(api => {
|
|||
upload
|
||||
} = print || {};
|
||||
$('bbl_noz').value = nozzle_diameter || '';
|
||||
$('bbl_noz_temp').value = nozzle_temper ?? '';
|
||||
$('bbl_noz_target').value = nozzle_target_temper ?? '';
|
||||
$('bbl_bed_temp').value = bed_temper ?? '';
|
||||
$('bbl_bed_target').value = bed_target_temper ?? '';
|
||||
$('bbl_noz_temp').value = nozzle_temper?.toFixed(1) ?? '';
|
||||
$('bbl_noz_target').value = nozzle_target_temper?.toFixed(1) ?? '';
|
||||
$('bbl_bed_temp').value = bed_temper?.toFixed(1) ?? '';
|
||||
$('bbl_bed_target').value = bed_target_temper?.toFixed(1) ?? '';
|
||||
if (files) {
|
||||
h.bind($('bbl_files'), files.map(file => {
|
||||
return h.option({
|
||||
|
|
@ -183,6 +183,13 @@ self.kiri.load(api => {
|
|||
}));
|
||||
rec.files = undefined;
|
||||
}
|
||||
if (print_error) {
|
||||
bbl_status.value = `print error ${print_error}`
|
||||
} else if (mc_remaining_time) {
|
||||
bbl_status.value = `printing layer ${layer_num} of ${total_layer_num} | ${mc_percent}% complete | ${mc_remaining_time} minutes left`
|
||||
} else {
|
||||
bbl_status.value = `printer idle`;
|
||||
}
|
||||
}
|
||||
|
||||
function printer_status(msg) {
|
||||
|
|
@ -211,15 +218,26 @@ self.kiri.load(api => {
|
|||
|
||||
function monitor_keepalive() {
|
||||
// console.log({ keepalive: selected });
|
||||
if (selected?.rec?.serial) {
|
||||
socket.send({ cmd: "keepalive", serial: selected.rec.serial });
|
||||
}
|
||||
// if (monitoring()) {
|
||||
// socket.send({ cmd: "keepalive", serial: selected.rec.serial });
|
||||
// }
|
||||
cmd_if("keepalive");
|
||||
}
|
||||
|
||||
function monitor_stop() {
|
||||
socket.stop();
|
||||
}
|
||||
|
||||
function monitoring() {
|
||||
return selected?.rec?.serial ? true : false;
|
||||
}
|
||||
|
||||
function cmd_if(cmd) {
|
||||
if (monitoring()) {
|
||||
socket.send({ cmd, serial: selected.rec.serial });
|
||||
}
|
||||
}
|
||||
|
||||
function list_files() {
|
||||
if (selected?.rec?.host) {
|
||||
socket.send({ cmd: "files", ...selected.rec });
|
||||
|
|
@ -312,11 +330,11 @@ self.kiri.load(api => {
|
|||
]),
|
||||
h.div({ class: "var-row" }, [
|
||||
h.label('temp'),
|
||||
h.input({ id: "bbl_noz_temp", size: 8 })
|
||||
h.input({ id: "bbl_noz_temp", size: 5 })
|
||||
]),
|
||||
h.div({ class: "var-row" }, [
|
||||
h.label('target'),
|
||||
h.input({ id: "bbl_noz_target", size: 8 })
|
||||
h.input({ id: "bbl_noz_target", size: 5 })
|
||||
])
|
||||
]),
|
||||
h.div({ class: "t-body t-inset f-col" }, [
|
||||
|
|
@ -325,11 +343,11 @@ self.kiri.load(api => {
|
|||
]),
|
||||
h.div({ class: "var-row" }, [
|
||||
h.label('temp'),
|
||||
h.input({ id: "bbl_bed_temp", size: 8 })
|
||||
h.input({ id: "bbl_bed_temp", size: 5 })
|
||||
]),
|
||||
h.div({ class: "var-row" }, [
|
||||
h.label('target'),
|
||||
h.input({ id: "bbl_bed_target", size: 8 })
|
||||
h.input({ id: "bbl_bed_target", size: 5 })
|
||||
])
|
||||
])
|
||||
]),
|
||||
|
|
@ -358,6 +376,9 @@ self.kiri.load(api => {
|
|||
h.div({ class: "gap4" }, [
|
||||
h.label({ class: "set-header dev-sel" }, [ h.a('status') ]),
|
||||
h.input({ id: "bbl_status", class: "t-left mono grow" }),
|
||||
h.button({ _: "pause", class: "a-center", onclick() { cmd_if("pause") } }),
|
||||
h.button({ _: "resume", class: "a-center", onclick() { cmd_if("resume") } }),
|
||||
h.button({ _: "cancel", class: "a-center", onclick() { cmd_if("cancel") } }),
|
||||
])
|
||||
]), { before: true });
|
||||
select = modal.bbl_sel;
|
||||
|
|
|
|||
|
|
@ -145,12 +145,9 @@ module.exports = async (server) => {
|
|||
async function ftp_list(args = {}) {
|
||||
const client = await ftp_open(args);
|
||||
const list = [];
|
||||
try {
|
||||
list.push(...(await client.list()));
|
||||
list.push(...(await client.list("/cache")));
|
||||
} finally {
|
||||
client.close();
|
||||
}
|
||||
try { list.push(...(await client.list())) } catch (e) { }
|
||||
try { list.push(...(await client.list("/cache"))) } catch (e) { }
|
||||
client.close();
|
||||
return list;
|
||||
}
|
||||
|
||||
|
|
@ -268,19 +265,32 @@ module.exports = async (server) => {
|
|||
break;
|
||||
case "files":
|
||||
ftp_list({ host, code }).then(files => {
|
||||
util.log({ ftp_files: files.length });
|
||||
// console.log(JSON.stringify(files,undefined,4));
|
||||
files = files
|
||||
.filter(file => file.name.toLowerCase().endsWith(".3mf"))
|
||||
.map(file => {
|
||||
return {
|
||||
name: file.name,
|
||||
size: file.size
|
||||
size: file.size,
|
||||
date: file.rawModifiedAt
|
||||
};
|
||||
});
|
||||
wsend({ serial, message: { files }});
|
||||
}).catch(error => {
|
||||
util.log({ ftp_error: error });
|
||||
wsend({ serial, error: error.message || error.toString() });
|
||||
});
|
||||
break;
|
||||
case "pause":
|
||||
wsend({ print: { command: "pause", sequence_id: "0" } });
|
||||
break;
|
||||
case "resume":
|
||||
wsend({ print: { command: "resume", sequence_id: "0" } });
|
||||
break;
|
||||
case "cancel":
|
||||
wsend({ print: { command: "stop", sequence_id: "0", param: "" } });
|
||||
break;
|
||||
case "keepalive":
|
||||
// util.log({ keepalive: serial });
|
||||
mcache[serial]?.keepalive();
|
||||
|
|
|
|||
Loading…
Reference in a new issue