diff --git a/scripts/gplan-build.sh b/scripts/gplan-build.sh index ab4ad7f..f770c5e 100755 --- a/scripts/gplan-build.sh +++ b/scripts/gplan-build.sh @@ -4,8 +4,8 @@ cd /mnt/host scons -j 8 -C cbang disable_local="re2 libevent" export CBANG_HOME="/mnt/host/cbang" -perl -i -0pe 's/case 610: setPathMode.*;/case 610: implemented = false; break;/gm' /mnt/host/camotics/src/gcode/ControllerImpl.cpp -perl -i -0pe 's/case 611: setPathMode.*;/case 611: implemented = false; break;/gm' /mnt/host/camotics/src/gcode/ControllerImpl.cpp -perl -i -0pe 's/case 640: {[^}]+}/case 640: implemented = false; break;/gm' /mnt/host/camotics/src/gcode/ControllerImpl.cpp +perl -i -0pe 's/case 610: setPathMode.*;/case 610: break;/gm' /mnt/host/camotics/src/gcode/ControllerImpl.cpp +perl -i -0pe 's/case 611: setPathMode.*;/case 611: break;/gm' /mnt/host/camotics/src/gcode/ControllerImpl.cpp +perl -i -0pe 's/case 640: {[^}]+}/case 640: break;/gm' /mnt/host/camotics/src/gcode/ControllerImpl.cpp scons -j 8 -C camotics gplan.so with_gui=0 with_tpl=0 diff --git a/src/js/app.js b/src/js/app.js index b32ce2d..0665f56 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -112,7 +112,8 @@ module.exports = new Vue({ config: { settings: {units: 'METRIC'}, motors: [{}, {}, {}, {}], - version: '' + version: '', + full_version: '' }, state: { messages: [], diff --git a/src/js/control-view.js b/src/js/control-view.js index 02153c0..ad893a0 100644 --- a/src/js/control-view.js +++ b/src/js/control-view.js @@ -69,6 +69,7 @@ module.exports = { tab: 'auto', jog_incr: 1.0, tool_diameter: 6.35, + tool_diameter_for_prompt: 6.35, show_probe_test_modal: false, show_tool_diameter_modal: false, show_probe_complete_modal: false, @@ -105,12 +106,7 @@ module.exports = { 'state.bitDiameter': { handler: function (bitDiameter) { - if(this.mach_units == 'IMPERIAL') { - this.tool_diameter = bitDiameter / 25.4; - } - else { this.tool_diameter = bitDiameter; - } }, immediate: true }, @@ -123,21 +119,29 @@ module.exports = { this.units_changed(); }, - 'state.line': function () { if (this.mach_state != 'HOMING') this.$broadcast('gcode-line', this.state.line); }, + 'state.selected_time': function () { + this.load(); + }, - 'state.selected_time': function () {this.load()}, - jog_step: function () {cookie.set_bool('jog-step', this.jog_step)}, - jog_adjust: function () {cookie.set('jog-adjust', this.jog_adjust)} + jog_step: function () { + cookie.set_bool('jog-step', this.jog_step); + }, + + jog_adjust: function () { + cookie.set('jog-adjust', this.jog_adjust); + } }, computed: { - metric: function () {return !this.state.imperial}, + metric: function () { + return !this.state.imperial; + }, mach_state: function () { @@ -243,24 +247,17 @@ module.exports = { methods: { - units_changed : function() { - console.log("Units changed!"); - if(this.mach_units == 'METRIC') { document.getElementById("jog_button_fine").innerHTML = "0.1"; document.getElementById("jog_button_small").innerHTML = "1.0"; document.getElementById("jog_button_medium").innerHTML = "10"; document.getElementById("jog_button_large").innerHTML = "100"; - this.tool_diameter = this.tool_diameter * 25.4; - this.tool_diameter = this.tool_diameter.toFixed(3); } else { document.getElementById("jog_button_fine").innerHTML = "0.005"; document.getElementById("jog_button_small").innerHTML = "0.05"; document.getElementById("jog_button_medium").innerHTML = "0.5"; document.getElementById("jog_button_large").innerHTML = "5"; - this.tool_diameter = this.tool_diameter / 25.4; - this.tool_diameter = this.tool_diameter.toFixed(3); } this.set_jog_incr('small'); @@ -282,13 +279,28 @@ module.exports = { on_finish(); }, - set_tool_diameter : function (new_diameter) { - if(isNaN(new_diameter)) + prep_and_show_tool_diameter_modal() { + this.tool_diameter_for_prompt = (this.mach_units == 'METRIC') + ? this.tool_diameter + : this.tool_diameter / 25.4; + + this.tool_diameter_for_prompt = this.tool_diameter_for_prompt.toFixed(3).replace(/0+$/, ""); + + this.show_tool_diameter_modal = true; + }, + + set_tool_diameter() { + this.tool_diameter = parseFloat(this.tool_diameter_for_prompt); + + if (!isFinite(this.tool_diameter)) { return; + } this.show_tool_diameter_modal = false; - this.tool_diameter = parseFloat(new_diameter); + if (this.mach_units !== "METRIC") { + this.tool_diameter *= 25.4; + } this.probe_xyz(); }, diff --git a/src/pug/index.pug b/src/pug/index.pug index 177a5d1..239c1d6 100644 --- a/src/pug/index.pug +++ b/src/pug/index.pug @@ -109,7 +109,7 @@ html(lang="en") title="Raspberry Pi temperature too high.") .subtitle | CNC Controller #[b {{state.demo ? 'Demo ' : ''}}] - | v{{config.version}} + | v{{config.full_version}} a.upgrade-version(v-if="show_upgrade()", href="#admin-general") | Upgrade to v{{latestVersion}} .fa.fa-check(v-if="!show_upgrade() && latestVersion", diff --git a/src/pug/templates/control-view.pug b/src/pug/templates/control-view.pug index 12f3080..0765018 100644 --- a/src/pug/templates/control-view.pug +++ b/src/pug/templates/control-view.pug @@ -100,8 +100,7 @@ script#control-view-template(type="text/x-template") .pure-form .pure-control-group label="{{metric ? 'Diameter (mm)' : 'Diameter (inches)'}}" - input(v-model="tool_diameter",size="8", - @keyup.enter=`set_tool_diameter(tool_diameter)`) + input(v-model="tool_diameter_for_prompt", size="8") p div(slot="footer") @@ -109,7 +108,7 @@ script#control-view-template(type="text/x-template") | Cancel button.pure-button.button-success( - @click=`set_tool_diameter(tool_diameter)`) + @click=`set_tool_diameter`) | Set message(:show.sync=`state.show_probe_complete_modal`) @@ -177,7 +176,7 @@ script#control-view-template(type="text/x-template") td(style="height:100px", align="center", colspan="2") button(:class="state['pw'] ? '' : 'load-on'", style="height:100px;width:200px", - @click=`start_probe_test(() => { show_tool_diameter_modal = true })`) + @click=`start_probe_test(prep_and_show_tool_diameter_modal)`) | Probe XYZ td(style="height:100px", align="center", colspan="2") button(:class="state['pw'] ? '' : 'load-on'", @@ -419,7 +418,7 @@ script#control-view-template(type="text/x-template") a(:disabled="!state.selected", download, :href="'/api/file/' + state.selected", title="Download the selected GCode program.") - button.pure-button(style="height:100px;width:100px") + button.pure-button(:disabled="!state.selected", style="height:100px;width:100px") .fa.fa-download button.pure-button(title="Delete current GCode program.", diff --git a/src/py/bbctrl/Config.py b/src/py/bbctrl/Config.py index ab557a8..a8dd66e 100644 --- a/src/py/bbctrl/Config.py +++ b/src/py/bbctrl/Config.py @@ -144,6 +144,8 @@ class Config(object): if version < (1, 0, 7): config['settings']['max-deviation'] = 0.001 config['settings']['junction-accel'] = 200000 + config['probe']['probe-fast-seek'] = 75 + config['probe']['probe-slow-seek'] = 25 for motor in config['motors']: motor['stall-microstep'] = 8 motor['stall-current'] = 1 @@ -161,8 +163,8 @@ class Config(object): motor['max-jerk'] = 1000 motor['zero-backoff'] = 1 - config['version'] = self.version - + config['version'] = self.version.split('b')[0] + config['full_version'] = self.version def save(self, config): self.upgrade(config) diff --git a/src/resources/config-template.json b/src/resources/config-template.json index a2368bc..cdc4d5f 100644 --- a/src/resources/config-template.json +++ b/src/resources/config-template.json @@ -461,7 +461,7 @@ "probe-diameter": { "type": "float", "min": 0, - "max": 10, + "max": 25.4, "unit": "mm", "default": 6.35 },