add palette3 printer id editing, segment data for generating palette files, persistence of palette data in settings
This commit is contained in:
parent
4d19171d70
commit
929fe8f35a
6 changed files with 54 additions and 5 deletions
|
|
@ -716,6 +716,8 @@
|
||||||
synth: {},
|
synth: {},
|
||||||
// widget extra info for slicing (extruder mapping)
|
// widget extra info for slicing (extruder mapping)
|
||||||
widget: {},
|
widget: {},
|
||||||
|
// other stored info like palette3 config
|
||||||
|
extras: {},
|
||||||
mode: 'FDM',
|
mode: 'FDM',
|
||||||
id: genID(),
|
id: genID(),
|
||||||
ver: CVER
|
ver: CVER
|
||||||
|
|
|
||||||
|
|
@ -109,12 +109,33 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function filamentSourceEditUpdate() {
|
||||||
|
if (UI.filamentSource && UI.filamentSourceEdit) {
|
||||||
|
const sel = UI.filamentSource.options[UI.filamentSource.selectedIndex];
|
||||||
|
if (sel) {
|
||||||
|
UI.filamentSourceEdit.style.display = sel.value === 'palette3' ? '' : 'none';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function filamentSourceSave() {
|
function filamentSourceSave() {
|
||||||
const sel = UI.filamentSource.options[UI.filamentSource.selectedIndex];
|
const sel = UI.filamentSource.options[UI.filamentSource.selectedIndex];
|
||||||
if (sel) {
|
if (sel) {
|
||||||
settings().device.filamentSource = sel.value;
|
settings().device.filamentSource = sel.value;
|
||||||
API.conf.save();
|
API.conf.save();
|
||||||
}
|
}
|
||||||
|
filamentSourceEditUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
function palette3Config() {
|
||||||
|
let conf = API.conf.get().extras;
|
||||||
|
if (!conf.palette) {
|
||||||
|
conf.palette = { printer: "uuid" };
|
||||||
|
}
|
||||||
|
let uuid = prompt('Printer UID from Canvas', conf.palette.printer);
|
||||||
|
if (uuid) {
|
||||||
|
conf.palette.printer = uuid;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function detailSave() {
|
function detailSave() {
|
||||||
|
|
@ -868,6 +889,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
UC.refresh();
|
UC.refresh();
|
||||||
|
filamentSourceEditUpdate();
|
||||||
|
|
||||||
if (dev.imageURL) {
|
if (dev.imageURL) {
|
||||||
if (dev.imageURL !== deviceURL) {
|
if (dev.imageURL !== deviceURL) {
|
||||||
|
|
@ -1642,6 +1664,7 @@
|
||||||
extOffsetY: UC.newInput(LANG.dv_exoy_s, {title:LANG.dv_exoy_l, convert:UC.toFloat, modes:FDM}),
|
extOffsetY: UC.newInput(LANG.dv_exoy_s, {title:LANG.dv_exoy_l, convert:UC.toFloat, modes:FDM}),
|
||||||
extSelect: UC.newText(LANG.dv_exts_s, {title:LANG.dv_exts_l, modes:FDM, size:14, height:3, modes:FDM, area:gcode}),
|
extSelect: UC.newText(LANG.dv_exts_s, {title:LANG.dv_exts_l, modes:FDM, size:14, height:3, modes:FDM, area:gcode}),
|
||||||
extDeselect: UC.newText(LANG.dv_dext_s, {title:LANG.dv_dext_l, modes:FDM, size:14, height:3, modes:FDM, area:gcode}),
|
extDeselect: UC.newText(LANG.dv_dext_s, {title:LANG.dv_dext_l, modes:FDM, size:14, height:3, modes:FDM, area:gcode}),
|
||||||
|
extPad: UC.newBlank({class:"grow", modes:FDM}),
|
||||||
extActions: UC.newRow([
|
extActions: UC.newRow([
|
||||||
UI.extPrev = UC.newButton(undefined, undefined, {icon:'<i class="fas fa-less-than"></i>'}),
|
UI.extPrev = UC.newButton(undefined, undefined, {icon:'<i class="fas fa-less-than"></i>'}),
|
||||||
UI.extAdd = UC.newButton(undefined, undefined, {icon:'<i class="fas fa-plus"></i>'}),
|
UI.extAdd = UC.newButton(undefined, undefined, {icon:'<i class="fas fa-plus"></i>'}),
|
||||||
|
|
@ -2764,6 +2787,16 @@
|
||||||
API.show.alert("this is a beta / development release");
|
API.show.alert("this is a beta / development release");
|
||||||
SDB.kiri_beta = KIRI.beta;
|
SDB.kiri_beta = KIRI.beta;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// add palette3 edit button after filament source selector
|
||||||
|
{
|
||||||
|
let fsp = UI.filamentSource.parentNode;
|
||||||
|
let btn = UI.filamentSourceEdit = DOC.createElement('button');
|
||||||
|
btn.setAttribute('id', 'fs-edit');
|
||||||
|
btn.appendChild(DOC.createTextNode('edit'));
|
||||||
|
fsp.insertBefore(btn, UI.filamentSource);
|
||||||
|
btn.onclick = palette3Config;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// update static html elements with language overrides
|
// update static html elements with language overrides
|
||||||
|
|
|
||||||
|
|
@ -446,11 +446,11 @@ KIRI.worker = {
|
||||||
}, function(debug) {
|
}, function(debug) {
|
||||||
send.data({debug});
|
send.data({debug});
|
||||||
});
|
});
|
||||||
const { bounds, time, lines, bytes, distance, settings } = current.print;
|
const { bounds, time, lines, bytes, distance, settings, segments } = current.print;
|
||||||
|
|
||||||
send.done({
|
send.done({
|
||||||
done: true,
|
done: true,
|
||||||
output: output ? output : { bounds, time, lines, bytes, distance, settings }
|
output: output ? output : { bounds, time, lines, bytes, distance, settings, segments }
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,8 @@
|
||||||
inloops = 0,
|
inloops = 0,
|
||||||
arcQ = [],
|
arcQ = [],
|
||||||
minz = { x: Infinity, y: Infinity, z: Infinity },
|
minz = { x: Infinity, y: Infinity, z: Infinity },
|
||||||
isPalette = device.filamentSource === 'palette3';
|
isPalette = device.filamentSource === 'palette3',
|
||||||
|
segments = [];
|
||||||
|
|
||||||
// smallish band-aid. refactor above to remove redundancy
|
// smallish band-aid. refactor above to remove redundancy
|
||||||
function updateParams(layer) {
|
function updateParams(layer) {
|
||||||
|
|
@ -485,6 +486,7 @@
|
||||||
|
|
||||||
// look for extruder change, run scripts, recalc emit factor
|
// look for extruder change, run scripts, recalc emit factor
|
||||||
if (out.tool !== undefined && out.tool != tool) {
|
if (out.tool !== undefined && out.tool != tool) {
|
||||||
|
segments.push({emitted, tool});
|
||||||
appendAllSub(extruder.extDeselect);
|
appendAllSub(extruder.extDeselect);
|
||||||
tool = out.tool;
|
tool = out.tool;
|
||||||
subst.nozzle = subst.tool = tool;
|
subst.nozzle = subst.tool = tool;
|
||||||
|
|
@ -496,7 +498,10 @@
|
||||||
extruder.extFilament,
|
extruder.extFilament,
|
||||||
path.layer === 0 ?
|
path.layer === 0 ?
|
||||||
(process.firstSliceHeight || process.sliceHeight) : path.height);
|
(process.firstSliceHeight || process.sliceHeight) : path.height);
|
||||||
appendAllSub(extruder.extSelect);
|
// do not run extruder swapping code when source is Palette3
|
||||||
|
if (!isPalette) {
|
||||||
|
appendAllSub(extruder.extSelect);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if no point in output, it's a dwell command
|
// if no point in output, it's a dwell command
|
||||||
|
|
@ -804,6 +809,7 @@
|
||||||
append(`M808`);
|
append(`M808`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
segments.push({emitted, tool});
|
||||||
subst.material = UTIL.round(emitted,2);
|
subst.material = UTIL.round(emitted,2);
|
||||||
subst.time = UTIL.round(time,2);
|
subst.time = UTIL.round(time,2);
|
||||||
subst['print_time'] = subst.time;
|
subst['print_time'] = subst.time;
|
||||||
|
|
@ -816,12 +822,14 @@
|
||||||
// force emit of buffer
|
// force emit of buffer
|
||||||
append();
|
append();
|
||||||
|
|
||||||
|
print.segments = segments;
|
||||||
print.distance = emitted;
|
print.distance = emitted;
|
||||||
print.lines = lines;
|
print.lines = lines;
|
||||||
print.bytes = bytes + lines - 1;
|
print.bytes = bytes + lines - 1;
|
||||||
print.time = time;
|
print.time = time;
|
||||||
|
|
||||||
if (debug) {
|
if (debug) {
|
||||||
|
console.log('segments', segments);
|
||||||
console.log('minz', minz);
|
console.log('minz', minz);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -242,6 +242,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// determine size/location of purge blocks
|
||||||
let blokpos, walkpos, blok;
|
let blokpos, walkpos, blok;
|
||||||
if (bounds.min.x < bounds.min.y) {
|
if (bounds.min.x < bounds.min.y) {
|
||||||
let dx = ((bounds.max.x - bounds.min.x) - (extcount * 10)) / 2 + 5;
|
let dx = ((bounds.max.x - bounds.min.x) - (extcount * 10)) / 2 + 5;
|
||||||
|
|
@ -255,7 +256,7 @@
|
||||||
blok = { x:4, y:9 };
|
blok = { x:4, y:9 };
|
||||||
}
|
}
|
||||||
|
|
||||||
// compute purge blocks
|
// replace extruders array with object array containing more info
|
||||||
extruders = extruders.map((ext,i) => {
|
extruders = extruders.map((ext,i) => {
|
||||||
if (!ext) return ext;
|
if (!ext) return ext;
|
||||||
let noz = device.extruders[i].extNozzle,
|
let noz = device.extruders[i].extNozzle,
|
||||||
|
|
|
||||||
|
|
@ -1739,6 +1739,11 @@ th, tr, td, label {
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#fs-edit {
|
||||||
|
text-transform: none;
|
||||||
|
padding: 1px 3px 1px 3px;
|
||||||
|
margin: 0 3px 0 0 !important;
|
||||||
|
}
|
||||||
#gdpr {
|
#gdpr {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: none;
|
display: none;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue