device settings rework checkpoint

This commit is contained in:
Stewart Allen 2020-04-08 10:38:37 -04:00
commit e72c58c5f7
3 changed files with 131 additions and 106 deletions

View file

@ -523,33 +523,33 @@ var gs_kiri_init = exports;
code = { code = {
mode: API.mode.get(), mode: API.mode.get(),
settings: { settings: {
bed_width: parseInt(UI.setDeviceWidth.value) || 300, bed_width: parseInt(UI.deviceWidth.value) || 300,
bed_depth: parseInt(UI.setDeviceDepth.value) || 175, bed_depth: parseInt(UI.deviceDepth.value) || 175,
bed_circle: UI.setDeviceRound.checked, bed_circle: UI.deviceRound.checked,
build_height: parseInt(UI.setDeviceHeight.value) || 150, build_height: parseInt(UI.deviceHeight.value) || 150,
nozzle_size: parseFloat(UI.setDeviceNozzle.value) || 0.4, nozzle_size: parseFloat(UI.extruderNozzle.value) || 0.4,
filament_diameter: parseFloat(UI.setDeviceFilament.value) || 1.75, filament_diameter: parseFloat(UI.extruderFilament.value) || 1.75,
origin_center: UI.setDeviceOrigin.checked, origin_center: UI.deviceOrigin.checked,
origin_top: UI.setDeviceOriginTop.checked, origin_top: UI.deviceOriginTop.checked,
extrude_abs: UI.setDeviceExtrusion.checked, extrude_abs: UI.extrudeAbsolute.checked,
spindle_max: parseInt(UI.setDeviceMaxSpindle.value) || 0 spindle_max: parseInt(UI.deviceMaxSpindle.value) || 0
}, },
cmd: { cmd: {
fan_power: UI.setDeviceFan.value, fan_power: UI.gcodeFan.value,
progress: UI.setDeviceTrack.value, progress: UI.gcodeProgress.value,
spindle: UI.setDeviceSpindle.value.split('\n'), spindle: UI.gcodeSpindle.value.split('\n'),
layer: UI.setDeviceLayer.value.split('\n') layer: UI.gcodeLayer.value.split('\n')
}, },
pre: UI.setDevicePre.value.split('\n'), pre: UI.gcodeHeader.value.split('\n'),
post: UI.setDevicePost.value.split('\n'), post: UI.gcodeFooter.value.split('\n'),
pause: UI.setDevicePause.value.split('\n'), pause: UI.gcodePause.value.split('\n'),
dwell: UI.setDeviceDwell.value.split('\n'), dwell: UI.gcodeDwell.value.split('\n'),
'laser-on': UI.setDeviceLaserOn.value.split('\n'), 'laser-on': UI.gcodeLaserOn.value.split('\n'),
'laser-off': UI.setDeviceLaserOff.value.split('\n'), 'laser-off': UI.gcodeLaserOff.value.split('\n'),
'tool-change': UI.setDeviceChange.value.split('\n'), 'tool-change': UI.gcodeToolChange.value.split('\n'),
'file-ext': UI.setDeviceFExt.value, 'file-ext': UI.gcodeExtension.value,
'token-space': UI.setDeviceToken.checked ? ' ' : '', 'token-space': UI.gcodeToken.checked ? ' ' : '',
'strip-comments': UI.setDeviceStrip.checked 'strip-comments': UI.gcodeStrip.checked
}; };
if (oldname !== newname && isLocalDevice(oldname)) removeLocalDevice(oldname); if (oldname !== newname && isLocalDevice(oldname)) removeLocalDevice(oldname);
@ -607,60 +607,60 @@ var gs_kiri_init = exports;
UI.deviceName.value = devicename; UI.deviceName.value = devicename;
// common // common
UI.setDevicePre.value = dev.gcodePre.join('\n'); UI.gcodeHeader.value = dev.gcodePre.join('\n');
UI.setDevicePost.value = dev.gcodePost.join('\n'); UI.gcodeFooter.value = dev.gcodePost.join('\n');
UI.setDevicePause.value = dev.gcodePause.join('\n'); UI.gcodePause.value = dev.gcodePause.join('\n');
UI.setDeviceWidth.value = dev.bedWidth; UI.deviceWidth.value = dev.bedWidth;
UI.setDeviceDepth.value = dev.bedDepth; UI.deviceDepth.value = dev.bedDepth;
UI.setDeviceHeight.value = dev.maxHeight; UI.deviceHeight.value = dev.maxHeight;
UI.setDeviceRound.checked = dev.bedRound; UI.deviceRound.checked = dev.bedRound;
UI.setDeviceOrigin.checked = proc.outputOriginCenter; UI.deviceOrigin.checked = proc.outputOriginCenter;
// FDM // FDM
UI.setDeviceFan.value = dev.gcodeFan; UI.gcodeFan.value = dev.gcodeFan;
UI.setDeviceTrack.value = dev.gcodeTrack; UI.gcodeProgress.value = dev.gcodeTrack;
UI.setDeviceLayer.value = dev.gcodeLayer.join('\n'); UI.gcodeLayer.value = dev.gcodeLayer.join('\n');
UI.setDeviceFilament.value = dev.filamentSize; UI.extruderFilament.value = dev.filamentSize;
UI.setDeviceNozzle.value = dev.nozzleSize; UI.extruderNozzle.value = dev.nozzleSize;
UI.setDeviceExtrusion.checked = dev.extrudeAbs; UI.extrudeAbsolute.checked = dev.extrudeAbs;
// CAM // CAM
UI.setDeviceMaxSpindle.value = dev.spindleMax; UI.deviceMaxSpindle.value = dev.spindleMax;
UI.setDeviceSpindle.value = dev.gcodeSpindle.join('\n'); UI.gcodeSpindle.value = dev.gcodeSpindle.join('\n');
UI.setDeviceDwell.value = dev.gcodeDwell.join('\n'); UI.gcodeDwell.value = dev.gcodeDwell.join('\n');
UI.setDeviceChange.value = dev.gcodeChange.join('\n'); UI.gcodeToolChange.value = dev.gcodeChange.join('\n');
UI.setDeviceFExt.value = dev.gcodeFExt; UI.gcodeExtension.value = dev.gcodeFExt;
UI.setDeviceToken.checked = dev.gcodeSpace ? true : false; UI.gcodeToken.checked = dev.gcodeSpace ? true : false;
UI.setDeviceStrip.checked = dev.gcodeStrip; UI.gcodeStrip.checked = dev.gcodeStrip;
// LASER // LASER
UI.setDeviceLaserOn.value = dev.gcodeLaserOn.join('\n'); UI.gcodeLaserOn.value = dev.gcodeLaserOn.join('\n');
UI.setDeviceLaserOff.value = dev.gcodeLaserOff.join('\n'); UI.gcodeLaserOff.value = dev.gcodeLaserOff.join('\n');
// disable editing for non-local devices // disable editing for non-local devices
[ [
UI.deviceName, UI.deviceName,
UI.setDevicePre, UI.gcodeHeader,
UI.setDevicePost, UI.gcodeFooter,
UI.setDevicePause, UI.gcodePause,
UI.setDeviceDepth, UI.deviceDepth,
UI.setDeviceWidth, UI.deviceWidth,
UI.setDeviceHeight, UI.deviceHeight,
UI.setDeviceExtrusion, UI.extrudeAbsolute,
UI.setDeviceOrigin, UI.deviceOrigin,
UI.setDeviceOriginTop, UI.deviceOriginTop,
UI.setDeviceRound, UI.deviceRound,
UI.setDeviceFan, UI.gcodeFan,
UI.setDeviceTrack, UI.gcodeProgress,
UI.setDeviceLayer, UI.gcodeLayer,
UI.setDeviceFilament, UI.extruderFilament,
UI.setDeviceNozzle, UI.extruderNozzle,
UI.setDeviceMaxSpindle, UI.deviceMaxSpindle,
UI.setDeviceSpindle, UI.gcodeSpindle,
UI.setDeviceDwell, UI.gcodeDwell,
UI.setDeviceChange, UI.gcodeToolChange,
UI.setDeviceFExt, UI.gcodeExtension,
UI.setDeviceToken, UI.gcodeToken,
UI.setDeviceStrip, UI.gcodeStrip,
UI.setDeviceLaserOn, UI.gcodeLaserOn,
UI.setDeviceLaserOff UI.gcodeLaserOff
].forEach(function(e) { ].forEach(function(e) {
e.disabled = !local; e.disabled = !local;
}); });
@ -668,7 +668,7 @@ var gs_kiri_init = exports;
// hide spindle fields when device doens't support it // hide spindle fields when device doens't support it
if (mode === 'CAM') if (mode === 'CAM')
[ [
UI.setDeviceExtrusion, UI.extrudeAbsolute,
UI.roughingSpindle, UI.roughingSpindle,
UI.finishingSpindle, UI.finishingSpindle,
UI.drillSpindle UI.drillSpindle
@ -1187,38 +1187,46 @@ var gs_kiri_init = exports;
stockDepth: $('stock-width'), stockDepth: $('stock-width'),
stockHeight: $('stock-width'), stockHeight: $('stock-width'),
device: UC.newGroup(LANG.dv_gr_dev, $('device'), {group:"ddev", nocompact:true}), device: UC.newGroup(LANG.dv_gr_dev, $('device'), {group:"ddev", nocompact:true}),
deviceName: UC.newInput(LANG.dv_name_s, {title:LANG.dv_name_l, size:"60%", text:true}), deviceName: UC.newInput(LANG.dv_name_s, {title:LANG.dv_name_l, size:"60%", text:true}),
setDeviceWidth: UC.newInput(LANG.dv_bedw_s, {title:LANG.dv_bedw_l, convert:UC.toInt}), deviceWidth: UC.newInput(LANG.dv_bedw_s, {title:LANG.dv_bedw_l, convert:UC.toInt}),
setDeviceDepth: UC.newInput(LANG.dv_bedd_s, {title:LANG.dv_bedd_l, convert:UC.toInt}), deviceDepth: UC.newInput(LANG.dv_bedd_s, {title:LANG.dv_bedd_l, convert:UC.toInt}),
setDeviceHeight: UC.newInput(LANG.dv_bedh_s, {title:LANG.dv_bedh_l, convert:UC.toInt, modes:FDM}), deviceHeight: UC.newInput(LANG.dv_bedh_s, {title:LANG.dv_bedh_l, convert:UC.toInt, modes:FDM}),
setDeviceMaxSpindle: UC.newInput(LANG.dv_spmx_s, {title:LANG.dv_spmx_l, convert:UC.toInt, modes:CAM}), deviceMaxSpindle: UC.newInput(LANG.dv_spmx_s, {title:LANG.dv_spmx_l, convert:UC.toInt, modes:CAM}),
setDeviceOrigin: UC.newBoolean(LANG.dv_orgc_s, onBooleanClick, {title:LANG.dv_orgc_l}), deviceOrigin: UC.newBoolean(LANG.dv_orgc_s, onBooleanClick, {title:LANG.dv_orgc_l}),
setDeviceOriginTop: UC.newBoolean(LANG.dv_orgt_s, onBooleanClick, {title:LANG.dv_orgt_l, modes:CAM}), deviceOriginTop: UC.newBoolean(LANG.dv_orgt_s, onBooleanClick, {title:LANG.dv_orgt_l, modes:CAM}),
setDeviceRound: UC.newBoolean(LANG.dv_bedc_s, onBooleanClick, {title:LANG.dv_bedc_l, modes:FDM}), deviceRound: UC.newBoolean(LANG.dv_bedc_s, onBooleanClick, {title:LANG.dv_bedc_l, modes:FDM}),
setExtruder: UC.newGroup(LANG.dv_gr_ext, $('extruders'), {group:"dext", nocompact:true, modes:FDM}), extruder: UC.newGroup(LANG.dv_gr_ext, $('device'), {group:"dext", nocompact:true, modes:FDM}),
setDeviceFilament: UC.newInput(LANG.dv_fila_s, {title:LANG.dv_fila_l, convert:UC.toFloat, modes:FDM}), extruderFilament: UC.newInput(LANG.dv_fila_s, {title:LANG.dv_fila_l, convert:UC.toFloat, modes:FDM}),
setDeviceNozzle: UC.newInput(LANG.dv_nozl_s, {title:LANG.dv_nozl_l, convert:UC.toFloat, modes:FDM}), extruderNozzle: UC.newInput(LANG.dv_nozl_s, {title:LANG.dv_nozl_l, convert:UC.toFloat, modes:FDM}),
setExtruderSelect: UC.newText(LANG.dv_exts_s, {title:LANG.dv_exts_l, modes:FDM, size:14, height:3, modes:FDM}), extruderOffX: UC.newInput(LANG.dv_exox_s, {title:LANG.dv_exox_l, convert:UC.toFloat, modes:FDM, expert:true}),
setExtruderDeselect: UC.newText(LANG.dv_extd_s, {title:LANG.dv_extd_l, modes:FDM, size:14, height:3, modes:FDM}), extruderOffY: UC.newInput(LANG.dv_exoy_s, {title:LANG.dv_exoy_l, convert:UC.toFloat, modes:FDM, expert:true}),
setDeviceExtrusion: UC.newBoolean(LANG.dv_xtab_s, onBooleanClick, {title:LANG.dv_xtab_l, modes:FDM}), extruderSelect: UC.newText(LANG.dv_exts_s, {title:LANG.dv_exts_l, modes:FDM, size:14, height:3, modes:FDM, expert:true}),
extruderDeselect: UC.newText(LANG.dv_extd_s, {title:LANG.dv_extd_l, modes:FDM, size:14, height:3, modes:FDM, expert:true}),
extrudeAbsolute: UC.newBoolean(LANG.dv_xtab_s, onBooleanClick, {title:LANG.dv_xtab_l, modes:FDM}),
extruders: UC.newTableRow([[
UC.newButton("<", undefined),
UC.newButton("+", undefined),
UC.newButton("-", undefined),
UC.newButton(">", undefined)
]], {modes:FDM, expert:true}),
setDevice: UC.newGroup(LANG.dv_gr_gco, $('device'), {group:"dgco", nocompact:true}), gcode: UC.newGroup(LANG.dv_gr_gco, $('device'), {group:"dgco", nocompact:true}),
setDeviceFan: UC.newInput(LANG.dv_fanp_s, {title:LANG.dv_fanp_l, modes:FDM, size:"40%", text:true}), gcodeFan: UC.newInput(LANG.dv_fanp_s, {title:LANG.dv_fanp_l, modes:FDM, size:"40%", text:true}),
setDeviceTrack: UC.newInput(LANG.dv_prog_s, {title:LANG.dv_prog_l, modes:FDM, size:"40%", text:true}), gcodeProgress: UC.newInput(LANG.dv_prog_s, {title:LANG.dv_prog_l, modes:FDM, size:"40%", text:true}),
setDeviceLayer: UC.newText(LANG.dv_layr_s, {title:LANG.dv_layr_l, modes:FDM, size:14, height: 2}), gcodeLayer: UC.newText(LANG.dv_layr_s, {title:LANG.dv_layr_l, modes:FDM, size:14, height: 2}),
setDeviceToken: UC.newBoolean(LANG.dv_tksp_s, null, {title:LANG.dv_tksp_l, modes:CAM_LASER}), gcodeToken: UC.newBoolean(LANG.dv_tksp_s, null, {title:LANG.dv_tksp_l, modes:CAM_LASER}),
setDeviceStrip: UC.newBoolean(LANG.dv_strc_s, null, {title:LANG.dv_strc_l, modes:CAM}), gcodeStrip: UC.newBoolean(LANG.dv_strc_s, null, {title:LANG.dv_strc_l, modes:CAM}),
setDeviceFExt: UC.newInput(LANG.dv_fext_s, {title:LANG.dv_fext_l, modes:CAM_LASER, size:7, text:true}), gcodeExtension: UC.newInput(LANG.dv_fext_s, {title:LANG.dv_fext_l, modes:CAM_LASER, size:7, text:true}),
setDeviceDwell: UC.newText(LANG.dv_dwll_s, {title:LANG.dv_dwll_l, modes:CAM, size:14, height:2}), gcodeDwell: UC.newText(LANG.dv_dwll_s, {title:LANG.dv_dwll_l, modes:CAM, size:14, height:2}),
setDeviceChange: UC.newText(LANG.dv_tool_s, {title:LANG.dv_tool_l, modes:CAM, size:14, height:2}), gcodeToolChange: UC.newText(LANG.dv_tool_s, {title:LANG.dv_tool_l, modes:CAM, size:14, height:2}),
setDeviceSpindle: UC.newText(LANG.dv_sspd_s, {title:LANG.dv_sspd_l, modes:CAM, size:14, height:2}), gcodeSpindle: UC.newText(LANG.dv_sspd_s, {title:LANG.dv_sspd_l, modes:CAM, size:14, height:2}),
setDevicePause: UC.newText(LANG.dv_paus_s, {title:LANG.dv_paus_l, modes:FDM, size:14, height:3}), gcodePause: UC.newText(LANG.dv_paus_s, {title:LANG.dv_paus_l, modes:FDM, size:14, height:3}),
setDeviceLaserOn: UC.newText(LANG.dv_lzon_s, {title:LANG.dv_lzon_l, modes:LASER, size:14, height:3}), gcodeLaserOn: UC.newText(LANG.dv_lzon_s, {title:LANG.dv_lzon_l, modes:LASER, size:14, height:3}),
setDeviceLaserOff: UC.newText(LANG.dv_lzof_s, {title:LANG.dv_lzof_l, modes:LASER, size:14, height:3}), gcodeLaserOff: UC.newText(LANG.dv_lzof_s, {title:LANG.dv_lzof_l, modes:LASER, size:14, height:3}),
setDevicePre: UC.newText(LANG.dv_head_s, {title:LANG.dv_head_l, modes:ALL, size:14, height:3}), gcodeHeader: UC.newText(LANG.dv_head_s, {title:LANG.dv_head_l, modes:ALL, size:14, height:3}),
setDevicePost: UC.newText(LANG.dv_foot_s, {title:LANG.dv_foot_l, modes:ALL, size:14, height:3}), gcodeFooter: UC.newText(LANG.dv_foot_s, {title:LANG.dv_foot_l, modes:ALL, size:14, height:3}),
mode: UC.newGroup(LANG.mo_menu, assets, {region:"left"}), mode: UC.newGroup(LANG.mo_menu, assets, {region:"left"}),
modeTable: UC.newTableRow([ modeTable: UC.newTableRow([
@ -1243,7 +1251,7 @@ var gs_kiri_init = exports;
UC.newButton(LANG.su_tool, showTools, {modes:CAM}) UC.newButton(LANG.su_tool, showTools, {modes:CAM})
],[ ],[
UI.setupExport = UI.setupExport =
UC.newButton(LANG.su_xprt, settingsExport, {modes:ALL}) UC.newButton(LANG.su_xprt, settingsExport, {modes:ALL, expert:true})
],[ ],[
UI.localButton = UI.localButton =
UC.newButton(LANG.su_locl, API.show.local, {modes:FDM_CAM, expert:true}) UC.newButton(LANG.su_locl, API.show.local, {modes:FDM_CAM, expert:true})

View file

@ -24,10 +24,23 @@
"G28 X0 Y0 ; home XY axes", "G28 X0 Y0 ; home XY axes",
"M84 ; disable stepper motors" "M84 ; disable stepper motors"
], ],
"extruder":[
{
"nozzle": 0.4,
"filament": 1.75,
"offset_x": 0,
"offset_y": 0,
"select": [
"T0"
],
"deselect": []
}
],
"cmd":{ "cmd":{
"fan_power": "M106 S{fan_speed}" "fan_power": "M106 S{fan_speed}"
}, },
"settings":{ "settings":{
"origin_center": false "origin_center": false,
"extrude_abs": false
} }
} }

View file

@ -65,6 +65,10 @@ kiri.lang['en-us'] = {
dv_exts_l: "gcode to select this extruder", dv_exts_l: "gcode to select this extruder",
dv_extd_s: "deselect", dv_extd_s: "deselect",
dv_extd_l: "gcode to deselect this extruder", dv_extd_l: "gcode to deselect this extruder",
dv_exox_s: "offset x",
dv_exox_l: "nozzle offset x",
dv_exoy_s: "offset y",
dv_exoy_l: "nozzle offset y",
// MODE // MODE
mo_menu: "mode", mo_menu: "mode",