diff --git a/dist/CNC/GRBL/index.html.gz b/dist/CNC/GRBL/index.html.gz index c3173b568..49ffb37a3 100644 Binary files a/dist/CNC/GRBL/index.html.gz and b/dist/CNC/GRBL/index.html.gz differ diff --git a/dist/CNC/GRBLHal/index.html.gz b/dist/CNC/GRBLHal/index.html.gz index 2c838d787..cd75cdf57 100644 Binary files a/dist/CNC/GRBLHal/index.html.gz and b/dist/CNC/GRBLHal/index.html.gz differ diff --git a/dist/Plotter/HP-GL/index.html.gz b/dist/Plotter/HP-GL/index.html.gz index 7af34a0cd..c8bdb95f8 100644 Binary files a/dist/Plotter/HP-GL/index.html.gz and b/dist/Plotter/HP-GL/index.html.gz differ diff --git a/dist/Printer3D/Marlin-embedded/index.html.gz b/dist/Printer3D/Marlin-embedded/index.html.gz index e6d91f8ad..04e953bb5 100644 Binary files a/dist/Printer3D/Marlin-embedded/index.html.gz and b/dist/Printer3D/Marlin-embedded/index.html.gz differ diff --git a/dist/Printer3D/Marlin/index.html.gz b/dist/Printer3D/Marlin/index.html.gz index a3c5b5fdb..e5e1c88cb 100644 Binary files a/dist/Printer3D/Marlin/index.html.gz and b/dist/Printer3D/Marlin/index.html.gz differ diff --git a/dist/Printer3D/Repetier/index.html.gz b/dist/Printer3D/Repetier/index.html.gz index 504683271..8b5ed6ce4 100644 Binary files a/dist/Printer3D/Repetier/index.html.gz and b/dist/Printer3D/Repetier/index.html.gz differ diff --git a/dist/Printer3D/Smoothieware/index.html.gz b/dist/Printer3D/Smoothieware/index.html.gz index 4f651d3f7..905d2aa7b 100644 Binary files a/dist/Printer3D/Smoothieware/index.html.gz and b/dist/Printer3D/Smoothieware/index.html.gz differ diff --git a/dist/SandTable/GRBL/index.html.gz b/dist/SandTable/GRBL/index.html.gz index bcb44b83a..8f614b618 100644 Binary files a/dist/SandTable/GRBL/index.html.gz and b/dist/SandTable/GRBL/index.html.gz differ diff --git a/languages/cncgrblhalpack/en.json b/languages/cncgrblhalpack/en.json index 54ae0a3e4..85521e96e 100644 --- a/languages/cncgrblhalpack/en.json +++ b/languages/cncgrblhalpack/en.json @@ -421,10 +421,10 @@ "CN77": "Enable mist coolant", "CN78": "Enable flood coolant", "CN79": "Disable coolant", - "CN80": "Toogle controls", - "CN81": "Toogle spindle state", - "CN82": "Toogle flood state", - "CN83": "Toogle mist state", + "CN80": "Toggle controls", + "CN81": "Toggle spindle state", + "CN82": "Toggle flood state", + "CN83": "Toggle mist state", "CN84": "Maximum power", "CN85": "Test duration", "CN86": "Test", diff --git a/languages/cncgrblpack/en.json b/languages/cncgrblpack/en.json index 54ae0a3e4..85521e96e 100644 --- a/languages/cncgrblpack/en.json +++ b/languages/cncgrblpack/en.json @@ -421,10 +421,10 @@ "CN77": "Enable mist coolant", "CN78": "Enable flood coolant", "CN79": "Disable coolant", - "CN80": "Toogle controls", - "CN81": "Toogle spindle state", - "CN82": "Toogle flood state", - "CN83": "Toogle mist state", + "CN80": "Toggle controls", + "CN81": "Toggle spindle state", + "CN82": "Toggle flood state", + "CN83": "Toggle mist state", "CN84": "Maximum power", "CN85": "Test duration", "CN86": "Test", diff --git a/src/components/App/version.js b/src/components/App/version.js index 58a90b0cf..660e0e2be 100644 --- a/src/components/App/version.js +++ b/src/components/App/version.js @@ -17,7 +17,7 @@ */ import { h } from 'preact' import { webUIbuild } from '../../targets' -export const webUIversion = '3.0.0-a46' +export const webUIversion = '3.0.0-a47' export const Esp3dVersion = () => ( {webUIversion}.{webUIbuild} diff --git a/src/components/Panels/LaserCNC.js b/src/components/Panels/LaserCNC.js index 1923b7e48..0819a9d75 100644 --- a/src/components/Panels/LaserCNC.js +++ b/src/components/Panels/LaserCNC.js @@ -191,7 +191,7 @@ const LaserPanel = () => { command: "M3 S#", desc: "M3", mode: "spindle_mode", - onclick: () => { + onclick: (e) => { const commands = [ "G1 F1", () => { @@ -220,6 +220,8 @@ const LaserPanel = () => { }, "M5 S0", ] + e.target.blur() + useUiContextFn.haptic() commands.forEach((command) => { if (typeof command === "function") { sendCommand(command()) diff --git a/src/components/Panels/ProbeCNC.js b/src/components/Panels/ProbeCNC.js index d521202d7..6ddf66684 100644 --- a/src/components/Panels/ProbeCNC.js +++ b/src/components/Panels/ProbeCNC.js @@ -307,24 +307,34 @@ const ProbePanel = () => { type: 'number', label: 'CN94', tooltip: 'CN94', - min: 1, + min: 0, + step: "0.1", value: probethickness, append: 'CN96', variableName: '#probe_thickness#', }, ], }, - + { + id: 'spacer', + elements: [ + { + id: 'spacer', + type: 'm2', + }, + ], + }, { id: 'probe_buttons', elements: [ { id: 'probe_button', + m2: true, icon: , type: 'button', label: 'CN37', tooltip: 'CN100', - onclick: () => { + onclick: (e) => { const commands = [ 'G91', () => { @@ -349,7 +359,8 @@ const ProbePanel = () => { .getValue('probepostcommand') .split(';'), ] - + e.target.blur() + useUiContextFn.haptic() commands.forEach((command) => { if (typeof command === 'function') { sendCommand(command()) @@ -406,6 +417,11 @@ const ProbePanel = () => { return (
{control.elements.map((element) => { + if (element.type === 'm2') { + return ( +
+ ) + } else if (element.type === 'button') { let classname = 'tooltip' return ( @@ -474,6 +490,15 @@ const ProbePanel = () => { element.options )[0].value } + if (typeof element.step!=="undefined") { + //hack to avoid float precision issue + const mult=1/element.step + console.log(element.value.current,element.step,mult, (element.value.current * mult ) % (element.step* mult)) + if ((element.value.current * mult ) % (element.step* mult) != 0) { + console.log("not valid", ) + validation.valid = false + } + } if ( element.type === 'number' && @@ -490,6 +515,7 @@ const ProbePanel = () => { // validation.message = T("S42"); validation.valid = false } + element.value.valid = validation.valid return validation @@ -526,6 +552,7 @@ const ProbePanel = () => { )} min={element.min} max={element.max} + step={element.step} value={ element.value .current diff --git a/src/tabs/interface/index.js b/src/tabs/interface/index.js index 998bc8e93..7107d314b 100644 --- a/src/tabs/interface/index.js +++ b/src/tabs/interface/index.js @@ -119,12 +119,14 @@ const InterfaceTab = () => { }) } } else { - if (fieldData.step) { - if (fieldData.value % fieldData.step !== 0) { + if (typeof fieldData.step!=="undefined") { + //hack to avoid float precision issue + const mult=1/fieldData.step + if ((fieldData.value * mult ) % (fieldData.step* mult) != 0) { validation.message = validation.valid = false } - } + } if (fieldData.type == "list") { const stringified = JSON.stringify(fieldData.value) //check new item or modified item diff --git a/src/targets/CNC/preferences.json b/src/targets/CNC/preferences.json index e83896caa..6c90da5d3 100644 --- a/src/targets/CNC/preferences.json +++ b/src/targets/CNC/preferences.json @@ -41,13 +41,14 @@ "label": "CN93", "value": 15, "append": "CN96", - "min": 1 + "min": 0 }, { "id": "probethickness", "type": "number", "label": "CN94", "value": "1", + "step": "0.1", "append": "CN96", "min": 0 }, diff --git a/src/targets/CNC/translations/en.json b/src/targets/CNC/translations/en.json index 34fb5287e..6bbb1611e 100644 --- a/src/targets/CNC/translations/en.json +++ b/src/targets/CNC/translations/en.json @@ -68,10 +68,10 @@ "CN77": "Enable mist coolant", "CN78": "Enable flood coolant", "CN79": "Disable coolant", - "CN80": "Toogle controls", - "CN81": "Toogle spindle state", - "CN82": "Toogle flood state", - "CN83": "Toogle mist state", + "CN80": "Toggle controls", + "CN81": "Toggle spindle state", + "CN82": "Toggle flood state", + "CN83": "Toggle mist state", "CN84": "Maximum power", "CN85": "Test duration", "CN86": "Test", diff --git a/src/targets/Plotter/HP-GL/translations/en.json b/src/targets/Plotter/HP-GL/translations/en.json index 02949a07b..36b8d8c0d 100644 --- a/src/targets/Plotter/HP-GL/translations/en.json +++ b/src/targets/Plotter/HP-GL/translations/en.json @@ -15,7 +15,7 @@ "btnjogup": "Button jog top", "btnjogdown": "Button jog bottom", "btnpark": "Park Pen", - "btnPen": "Toogle Pen", + "btnPen": "Toggle Pen", "btndistSel+": "Next jog distance", "btndistSel-": "Previous jog distance", "btnStop": "Stop", diff --git a/src/targets/Printer3D/Marlin-embedded/filters.js b/src/targets/Printer3D/Marlin-embedded/filters.js index d0f0e5d5a..eca9aaf0b 100644 --- a/src/targets/Printer3D/Marlin-embedded/filters.js +++ b/src/targets/Printer3D/Marlin-embedded/filters.js @@ -252,7 +252,7 @@ const getFeedRate = (str) => { //////////////////////////////////////////////////////// // -// Printer capabbility +// Printer capabilities //Format is: //FIRMWARE_NAME:Marlin 2.0.9.1 (Sep 8 2021 17:07:06) SOURCE_CODE_URL:github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:MRR ESPA EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff //Cap:SERIAL_XON_XOFF:0 diff --git a/src/targets/Printer3D/Repetier/filters.js b/src/targets/Printer3D/Repetier/filters.js index d9c269364..84965e737 100644 --- a/src/targets/Printer3D/Repetier/filters.js +++ b/src/targets/Printer3D/Repetier/filters.js @@ -252,7 +252,7 @@ const getFlowRate = (str) => { //////////////////////////////////////////////////////// // -// Printer capabbility +// Printer capabilities //Format is: //FIRMWARE_NAME:Repetier_1.0.4 COMPILED:Apr 30 2022 FIRMWARE_URL:https://github.com/repetier/Repetier-Firmware/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1 REPETIER_PROTOCOL:3 //Cap:PROGRESS:1 diff --git a/src/targets/Printer3D/Smoothieware/filters.js b/src/targets/Printer3D/Smoothieware/filters.js index a1e85af8c..b46119bb6 100644 --- a/src/targets/Printer3D/Smoothieware/filters.js +++ b/src/targets/Printer3D/Smoothieware/filters.js @@ -236,7 +236,7 @@ const getFeedRate = (str) => { //////////////////////////////////////////////////////// // -// Printer capabbility +// Printer capabilities //Format is: //FIRMWARE_NAME:Smoothieware, FIRMWARE_URL:http%3A//smoothieware.org, X-SOURCE_CODE_URL:https://github.com/Smoothieware/Smoothieware, FIRMWARE_VERSION:edge-f7df5f1, PROTOCOL_VERSION:1.0, X-FIRMWARE_BUILD_DATE:Aug 14 2021 21:01:19, X-SYSTEM_CLOCK:100MHz, X-AXES:5, X-GRBL_MODE:0, X-ARCS:1, X-CNC:0, X-MSD:1, X-WARNING:deprecated_MCU //...