Add invert X / invert_Y / Invert_Z and swap x y

This commit is contained in:
Luc
2023-04-21 07:54:06 +08:00
parent 348196ec1d
commit 9161f40734
24 changed files with 200 additions and 26 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

42
package-lock.json generated
View File

@@ -7,31 +7,31 @@
"name": "ESP3D-WebUI",
"license": "(ISC OR GPL-3.0)",
"dependencies": {
"global": "*",
"global": "latest",
"gulp-cli": "^2.3.0"
},
"devDependencies": {
"del": "*",
"deprecated": "*",
"fs": "*",
"del": "latest",
"deprecated": "latest",
"fs": "latest",
"gulp": "^4.0.2",
"gulp-bytediff": "*",
"gulp-cdnizer": "*",
"gulp-clean-css": "*",
"gulp-concat": "*",
"gulp-filesize": "*",
"gulp-gzip": "*",
"gulp-htmlmin": "*",
"gulp-if": "*",
"gulp-jshint": "*",
"gulp-ng-annotate": "*",
"gulp-remove-code": "*",
"gulp-replace": "*",
"gulp-smoosher": "*",
"gulp-uglify": "*",
"gulp-zip": "*",
"jshint": "*",
"merge-stream": "*"
"gulp-bytediff": "latest",
"gulp-cdnizer": "latest",
"gulp-clean-css": "latest",
"gulp-concat": "latest",
"gulp-filesize": "latest",
"gulp-gzip": "latest",
"gulp-htmlmin": "latest",
"gulp-if": "latest",
"gulp-jshint": "latest",
"gulp-ng-annotate": "latest",
"gulp-remove-code": "latest",
"gulp-replace": "latest",
"gulp-smoosher": "latest",
"gulp-uglify": "latest",
"gulp-zip": "latest",
"jshint": "latest",
"merge-stream": "latest"
}
},
"node_modules/@nodelib/fs.scandir": {

View File

@@ -105,7 +105,7 @@ fill:orange;
<text class="scl" x="182" y="50" font-size="15"> 100 </text>
</g>
</g>
<g id="Decoration" pointer-events="none" font-weight="900" font-size="11" fill-opacity=".6"><path class="std" d="M120,20 l17,17 h-10 v11 h-14 v-11 h-10 z" fill="SteelBlue"></path><path class="std" d="M120,220 l17,-17 h-10 v-11 h-14 v11 h-10 z" fill="SteelBlue"></path><path class="std" d="M20,120 l17,17 v-10 h11 v-14 h-11 v-10 z" fill="Khaki"></path><path class="std" d="M220,120 l-17,-17 v10 h-11 v14 h11 v10 z" fill="Khaki"></path><text x="113" y="37" > +Y </text><text x="113" y="212"> -Y </text><text x="27" y="124"> -X </text><text x="196" y="124"> +X </text></g></g>
<g id="Decoration" pointer-events="none" font-weight="900" font-size="11" fill-opacity=".6"><path class="std" d="M120,20 l17,17 h-10 v11 h-14 v-11 h-10 z" fill="SteelBlue"></path><path class="std" d="M120,220 l17,-17 h-10 v-11 h-14 v11 h-10 z" fill="SteelBlue"></path><path class="std" d="M20,120 l17,17 v-10 h11 v-14 h-11 v-10 z" fill="Khaki"></path><path class="std" d="M220,120 l-17,-17 v10 h-11 v14 h11 v10 z" fill="Khaki"></path><text x="113" y="37" id="plusY"> +Y </text><text x="113" y="212" id="minusY"> -Y </text><text x="27" y="124" id="minusX"> -X </text><text x="196" y="124" id="plusX"> +X </text></g></g>
<g id="JogBar" transform="translate(250,0)"><desc>JogBar - Z jogging bar</desc>
<g id="+Z" fill="#b0b0b0" style="pointer-events:none;"><path class="std" d=" M5,0 h30 a5,5 0 0,1 5,5 v27 h-40 v-27 a5,5 0 0,1 5,-5 z"></path><path class="std" d="M20,2 l17,17 h-10 v11 h-14 v-11 h-10 z" fill="DarkSeaGreen"></path><text stroke="black" x="11" y="18" font-size="12" id="axisup"> +Z </text></g>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -9,7 +9,7 @@
var target_firmware = "";
</script>
<script>
var web_ui_version = "2.1.2b0";
var web_ui_version = "2.1.3b0";
</script>
<script>
var direct_sd = false;

26
www/js/controls.js vendored
View File

@@ -189,6 +189,31 @@ function SendZerocommand(cmd) {
function SendJogcommand(cmd, feedrate) {
if (document.getElementById('lock_UI').checked) return;
if (preferenceslist[0].swap_x_y=="true") {
if (cmd.indexOf("X") > -1) {
cmd = cmd.replace("X", "Y");
} else if (cmd.indexOf("Y") > -1) {
cmd = cmd.replace("Y", "X");
}
}
if (preferenceslist[0].invert_x=="true") {
if (cmd.indexOf("X") > -1) {
if (cmd.indexOf("X-") > -1) cmd = cmd.replace("X-", "X");
else cmd = cmd.replace("X", "X-");
}
}
if (preferenceslist[0].invert_y=="true") {
if (cmd.indexOf("Y") > -1) {
if (cmd.indexOf("Y-") > -1) cmd = cmd.replace("Y-", "Y");
else cmd = cmd.replace("Y", "Y-");
}
}
if (preferenceslist[0].invert_z=="true") {
if (cmd.indexOf("Z") > -1 ) {
if (cmd.indexOf("Z-") > -1) cmd = cmd.replace("Z-", "Z");
else cmd = cmd.replace("Z", "Z-");
}
}
var feedratevalue = "";
var command = "";
if (feedrate == "XYfeedrate") {
@@ -216,6 +241,7 @@ function SendJogcommand(cmd, feedrate) {
command = "$J=G91 G21 F" + feedratevalue + " " + cmd;
console.log(command);
} else command = "G91\nG1 " + cmd + " F" + feedratevalue + "\nG90";
console.log(command);
SendPrinterCommand(command, true, get_Position);
}

View File

@@ -41,8 +41,13 @@ function build_axis_selection(){
function control_changeaxis(){
var letter = document.getElementById('control_select_axis').value;
document.getElementById('axisup').innerHTML = '+'+letter;
document.getElementById('axisdown').innerHTML = '-'+letter;
if (letter== "Z" && preferenceslist[0].invert_z === 'true') {
document.getElementById('axisup').innerHTML = '-'+letter;
document.getElementById('axisdown').innerHTML = '+'+letter;
} else {
document.getElementById('axisup').innerHTML = '+'+letter;
document.getElementById('axisdown').innerHTML = '-'+letter;
}
document.getElementById('homeZlabel').innerHTML = ' '+letter+' ';
switch(last_axis_letter) {
case "Z":

View File

@@ -22,6 +22,10 @@ var defaultpreferenceslist = "[{\
\"interval_positions\":\"3\",\
\"interval_temperatures\":\"3\",\
\"interval_status\":\"3\",\
\"swap_x_y\":\"false\",\
\"invert_x\":\"false\",\
\"invert_y\":\"false\",\
\"invert_z\":\"false\",\
\"xy_feedrate\":\"1000\",\
\"z_feedrate\":\"100\",\
\"a_feedrate\":\"100\",\
@@ -75,6 +79,10 @@ function initpreferences() {
\"interval_positions\":\"3\",\
\"interval_temperatures\":\"3\",\
\"interval_status\":\"3\",\
\"swap_x_y\":\"false\",\
\"invert_x\":\"false\",\
\"invert_y\":\"false\",\
\"invert_z\":\"false\",\
\"xy_feedrate\":\"1000\",\
\"z_feedrate\":\"100\",\
\"a_feedrate\":\"100\",\
@@ -132,6 +140,10 @@ function initpreferences() {
\"interval_positions\":\"3\",\
\"interval_temperatures\":\"3\",\
\"interval_status\":\"3\",\
\"swap_x_y\":\"false\",\
\"invert_x\":\"false\",\
\"invert_y\":\"false\",\
\"invert_z\":\"false\",\
\"xy_feedrate\":\"1000\",\
\"z_feedrate\":\"100\",\
\"a_feedrate\":\"100\",\
@@ -424,6 +436,7 @@ function applypreferenceslist() {
document.getElementById('controlPanel').style.display = 'none';
on_autocheck_position(false);
}
if (preferenceslist[0].enable_verbose_mode === 'true') {
document.getElementById('monitor_enable_verbose_mode').checked = true;
Monitor_check_verbose_mode();
@@ -468,8 +481,82 @@ function applypreferenceslist() {
document.getElementById('files_refresh_btn').style.display = 'none';
document.getElementById('print_upload_btn').style.display = 'none';
document.getElementById('files_createdir_btn').style.display = "none";
}
if (document.getElementById('plusX')) {
if (preferenceslist[0].swap_x_y == 'true') {
if (preferenceslist[0].invert_y == 'true') {
document.getElementById('plusX').innerHTML = " -Y ";
} else {
document.getElementById('plusX').innerHTML = " +Y ";
}
} else {
if (preferenceslist[0].invert_x === 'true') {
document.getElementById('plusX').innerHTML = " -X ";
} else {
document.getElementById('plusX').innerHTML = " +X ";
}
}
}
if (document.getElementById('plusY')) {
if (preferenceslist[0].swap_x_y == 'true') {
if (preferenceslist[0].invert_x == 'true') {
document.getElementById('plusY').innerHTML = " -X ";
} else {
document.getElementById('plusY').innerHTML = " +X ";
}
} else {
if (preferenceslist[0].invert_y == 'true') {
document.getElementById('plusY').innerHTML = " -Y ";
} else {
document.getElementById('plusY').innerHTML = " +Y ";
}
}
}
if(document.getElementById('axisup')){
if (preferenceslist[0].invert_z == 'true') {
document.getElementById('axisup').innerHTML = "&nbsp;-Z";
} else {
document.getElementById('axisup').innerHTML=" +Z ";
}
}
if (document.getElementById('minusX')) {
if (preferenceslist[0].swap_x_y == 'true') {
if (preferenceslist[0].invert_y === 'true') {
document.getElementById('minusX').innerHTML = " +Y ";
} else {
document.getElementById('minusX').innerHTML = " -Y ";
}
} else { if (preferenceslist[0].invert_x == 'true') {
document.getElementById('minusX').innerHTML = " +X ";
} else {
document.getElementById('minusX').innerHTML = " -X ";
}}
}
if (document.getElementById('minusY')) {
if (preferenceslist[0].swap_x_y == 'true') {
console.log("Minus Y need to swap to X")
if (preferenceslist[0].invert_x == 'true') {
console.log("Minus Y need to invert X")
document.getElementById('minusY').innerHTML = " +X ";
} else {
document.getElementById('minusY').innerHTML = " -X ";
}
} else {
if (preferenceslist[0].invert_y == 'true') {
document.getElementById('minusY').innerHTML = " +Y ";
} else {
document.getElementById('minusY').innerHTML = " -Y ";
}
}
}
if(document.getElementById('axisdown')){
if (preferenceslist[0].invert_z == 'true') {
document.getElementById('axisdown').innerHTML="+Z";
} else {
document.getElementById('axisdown').innerHTML=" -Z ";
}
}
if (preferenceslist[0].enable_commands_panel === 'true') {
document.getElementById('commandsPanel').style.display = 'flex';
if (preferenceslist[0].enable_autoscroll === 'true') {
@@ -644,6 +731,22 @@ function build_dlg_preferences_list() {
if (typeof(preferenceslist[0].interval_status) !== 'undefined') {
document.getElementById('preferences_status_Interval_check').value = parseInt(preferenceslist[0].interval_status);
} else document.getElementById('preferences_status_Interval_check').value = parseInt(default_preferenceslist[0].interval_status);
//Swap X Y
if (typeof (preferenceslist[0].swap_x_y) !== 'undefined') {
document.getElementById('preferences_swap_x_y').checked = (preferenceslist[0].swap_x_y === 'true');
} else document.getElementById('preferences_swap_x_y').checked = false;
//Invert X
if (typeof (preferenceslist[0].invert_x) !== 'undefined') {
document.getElementById('preferences_invert_x').checked = (preferenceslist[0].invert_x === 'true');
} else document.getElementById('preferences_invert_x').checked = false;
//Invert Y
if (typeof (preferenceslist[0].invert_y) !== 'undefined') {
document.getElementById('preferences_invert_y').checked = (preferenceslist[0].invert_y === 'true');
} else document.getElementById('preferences_invert_y').checked = false;
//Invert Z
if (typeof (preferenceslist[0].invert_z) !== 'undefined') {
document.getElementById('preferences_invert_z').checked = (preferenceslist[0].invert_z === 'true');
} else document.getElementById('preferences_invert_z').checked = false;
//xy feedrate
if (typeof(preferenceslist[0].xy_feedrate) !== 'undefined') {
document.getElementById('preferences_control_xy_velocity').value = parseInt(preferenceslist[0].xy_feedrate);
@@ -784,7 +887,11 @@ function closePreferencesDialog() {
(typeof(preferenceslist[0].enable_probe) === 'undefined') ||
(typeof(preferenceslist[0].enable_bed) === 'undefined') ||
(typeof(preferenceslist[0].enable_chamber) === 'undefined') ||
(typeof(preferenceslist[0].enable_fan) === 'undefined') ||
(typeof (preferenceslist[0].enable_fan) === 'undefined') ||
(typeof(preferenceslist[0].swap_x_y) === 'undefined') ||
(typeof(preferenceslist[0].invert_x) === 'undefined') ||
(typeof(preferenceslist[0].invert_y) === 'undefined') ||
(typeof(preferenceslist[0].invert_z) === 'undefined') ||
(typeof(preferenceslist[0].xy_feedrate) === 'undefined') ||
(typeof(preferenceslist[0].z_feedrate) === 'undefined') ||
(typeof(preferenceslist[0].e_feedrate) === 'undefined') ||
@@ -888,6 +995,14 @@ function closePreferencesDialog() {
}
//interval temperatures
if (document.getElementById('preferences_tempInterval_check').value != parseInt(preferenceslist[0].interval_temperatures)) modified = true;
//swap x y
if (document.getElementById('preferences_swap_x_y').checked != (preferenceslist[0].swap_x_y === 'true')) modified = true;
//invert x
if (document.getElementById('preferences_invert_x').checked != (preferenceslist[0].invert_x === 'true')) modified = true;
//invert y
if (document.getElementById('preferences_invert_y').checked != (preferenceslist[0].invert_y === 'true')) modified = true;
//invert z
if (document.getElementById('preferences_invert_z').checked != (preferenceslist[0].invert_z === 'true')) modified = true;
//e feedrate
if (document.getElementById('preferences_e_velocity').value != parseInt(preferenceslist[0].e_feedrate)) modified = true;
//e distance
@@ -987,6 +1102,10 @@ function SavePreferences(current_preferences) {
saveprefs += "\",\"enable_bed\":\"" + document.getElementById('enable_bed_controls').checked;
saveprefs += "\",\"enable_chamber\":\"" + document.getElementById('enable_chamber_controls').checked;
saveprefs += "\",\"enable_fan\":\"" + document.getElementById('enable_fan_controls').checked;
saveprefs += "\",\"swap_x_y\":\"" + document.getElementById('preferences_swap_x_y').checked;
saveprefs += "\",\"invert_x\":\"" + document.getElementById('preferences_invert_x').checked;
saveprefs += "\",\"invert_y\":\"" + document.getElementById('preferences_invert_y').checked;
saveprefs += "\",\"invert_z\":\"" + document.getElementById('preferences_invert_z').checked;
saveprefs += "\",\"enable_control_panel\":\"" + document.getElementById('show_control_panel').checked;
saveprefs += "\",\"enable_grbl_probe_panel\":\"" + document.getElementById('show_grbl_probe_tab').checked;
saveprefs += "\",\"enable_grbl_surface_panel\":\"" + document.getElementById('show_grbl_surface_tab').checked;

View File

@@ -99,6 +99,30 @@
</table>
</div>
<div class="checkbox" id="swap_x_y_control" style="display: block;">
<label>
<input type="checkbox" id="preferences_swap_x_y" />
<span translate>Swap X Y</span>
</label>
</div>
<div class="checkbox" id="invert_x_control" style="display: block;">
<label>
<input type="checkbox" id="preferences_invert_x" />
<span translate>Invert X</span>
</label>
</div>
<div class="checkbox" id="invert_x_control" style="display: block;">
<label>
<input type="checkbox" id="preferences_invert_y" />
<span translate>Invert Y</span>
</label>
</div>
<div class="checkbox" id="invert_x_control" style="display: block;">
<label>
<input type="checkbox" id="preferences_invert_z" />
<span translate>Invert Z</span>
</label>
</div>
<br>
<div id="preferences_control_xy_velocity_group">
<table>