Merge branch '1.0.7-devel' into probing-prompt-setting

This commit is contained in:
David A. Carley
2021-03-16 21:43:23 -07:00
committed by GitHub
9 changed files with 69 additions and 41 deletions

View File

@@ -1,18 +1,30 @@
OneFinity CNC Controller Firmware Changelog OneFinity CNC Controller Firmware Changelog
=========================================== ===========================================
Note: This firmware was forked from version 0.4.14 of the Buildbotics firmware
Buildbotics Changelog is provided below
## v1.0.7 ## v1.0.7
- General code cleanup - Cleaned up UI layout a bit on the main screen
- Enabled auto expansion of partition and file system to fill SD card on first boot
- Added probe continuity test before probing (pop-up dialog) - Added probe continuity test before probing (pop-up dialog)
- Added a popup after probing, reminding the user to put away the probe
- Lowered default probe seek speed
- Fixed file drop-down menu showing old files - Fixed file drop-down menu showing old files
- Added file system watcher for uploaded files
- Improved support for large gcode files, improves performance on Raspi - Improved support for large gcode files, improves performance on Raspi
- Fixed a bug where the UI could become unresponsive when uploading the first gcode file - Fixed a bug where the UI could become unresponsive at boot, or when uploading the first gcode file
- Changed default max-deviation to 0.001 to reduce issues with chattering while cutting arcs and circles - Changed default max-deviation to 0.001 to reduce issues with chattering while cutting arcs and circles
- Fixed dwell parameter in stall homing procedure to smooth out motion - Hides ratpoison (window manager) message during boot up
- Disabled G61, G61.1, G64 gcodes until the root cause of circle chatter is identified and fixed
- Increased icon size on the main GUI
- Improved version comparison logic for handling public beta releases in the future
- Changed default max-jerk to 1000 for X/Y axes
- Changed default idle current to 1A
- Force-set some critical configuration values to help with reliability
- Metric units only for junction-accel and max-deviation
- Rewrote the homing procedure to be more consistent
- Small improvements to the stall homing procedure
- Fixed error messages in the console (webgl)
- Fixed styling bug with error dialog
- Added a setting to allow enable/disable of probing safety prompts
## v1.0.6 ## v1.0.6
- Tweaked stall homing procedure to clear stepper stall condition before homing - Tweaked stall homing procedure to clear stepper stall condition before homing
@@ -48,6 +60,8 @@ Buildbotics Changelog is provided below
- Initial release of customized OneFinity firmware - Initial release of customized OneFinity firmware
- Includes GUI customizations, stall homing - Includes GUI customizations, stall homing
Note: This firmware was forked from version 0.4.14 of the Buildbotics firmware
Buildbotics CNC Controller Firmware Changelog Buildbotics CNC Controller Firmware Changelog
============================================= =============================================

View File

@@ -1,6 +1,6 @@
{ {
"name": "bbctrl", "name": "bbctrl",
"version": "1.0.7b3", "version": "1.0.7",
"homepage": "https://onefinitycnc.com/", "homepage": "https://onefinitycnc.com/",
"repository": "https://github.com/OneFinityCNC/onefinity", "repository": "https://github.com/OneFinityCNC/onefinity",
"license": "GPL-3.0+", "license": "GPL-3.0+",

View File

@@ -4,8 +4,8 @@ cd /mnt/host
scons -j 8 -C cbang disable_local="re2 libevent" scons -j 8 -C cbang disable_local="re2 libevent"
export CBANG_HOME="/mnt/host/cbang" 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 610: setPathMode.*;/case 610: 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 611: setPathMode.*;/case 611: 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 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 scons -j 8 -C camotics gplan.so with_gui=0 with_tpl=0

View File

@@ -112,7 +112,8 @@ module.exports = new Vue({
config: { config: {
settings: {units: 'METRIC'}, settings: {units: 'METRIC'},
motors: [{}, {}, {}, {}], motors: [{}, {}, {}, {}],
version: '<loading>' version: '<loading>',
full_version: '<loading>'
}, },
state: { state: {
messages: [], messages: [],

View File

@@ -69,6 +69,7 @@ module.exports = {
tab: 'auto', tab: 'auto',
jog_incr: 1.0, jog_incr: 1.0,
tool_diameter: 6.35, tool_diameter: 6.35,
tool_diameter_for_prompt: 6.35,
show_probe_test_modal: false, show_probe_test_modal: false,
show_tool_diameter_modal: false, show_tool_diameter_modal: false,
show_probe_complete_modal: false, show_probe_complete_modal: false,
@@ -105,12 +106,7 @@ module.exports = {
'state.bitDiameter': { 'state.bitDiameter': {
handler: function (bitDiameter) { handler: function (bitDiameter) {
if(this.mach_units == 'IMPERIAL') {
this.tool_diameter = bitDiameter / 25.4;
}
else {
this.tool_diameter = bitDiameter; this.tool_diameter = bitDiameter;
}
}, },
immediate: true immediate: true
}, },
@@ -123,21 +119,29 @@ module.exports = {
this.units_changed(); this.units_changed();
}, },
'state.line': function () { 'state.line': function () {
if (this.mach_state != 'HOMING') if (this.mach_state != 'HOMING')
this.$broadcast('gcode-line', this.state.line); this.$broadcast('gcode-line', this.state.line);
}, },
'state.selected_time': function () {
this.load();
},
'state.selected_time': function () {this.load()}, jog_step: function () {
jog_step: function () {cookie.set_bool('jog-step', this.jog_step)}, cookie.set_bool('jog-step', this.jog_step);
jog_adjust: function () {cookie.set('jog-adjust', this.jog_adjust)} },
jog_adjust: function () {
cookie.set('jog-adjust', this.jog_adjust);
}
}, },
computed: { computed: {
metric: function () {return !this.state.imperial}, metric: function () {
return !this.state.imperial;
},
mach_state: function () { mach_state: function () {
@@ -243,24 +247,17 @@ module.exports = {
methods: { methods: {
units_changed : function() { units_changed : function() {
console.log("Units changed!");
if(this.mach_units == 'METRIC') { if(this.mach_units == 'METRIC') {
document.getElementById("jog_button_fine").innerHTML = "0.1"; document.getElementById("jog_button_fine").innerHTML = "0.1";
document.getElementById("jog_button_small").innerHTML = "1.0"; document.getElementById("jog_button_small").innerHTML = "1.0";
document.getElementById("jog_button_medium").innerHTML = "10"; document.getElementById("jog_button_medium").innerHTML = "10";
document.getElementById("jog_button_large").innerHTML = "100"; document.getElementById("jog_button_large").innerHTML = "100";
this.tool_diameter = this.tool_diameter * 25.4;
this.tool_diameter = this.tool_diameter.toFixed(3);
} else { } else {
document.getElementById("jog_button_fine").innerHTML = "0.005"; document.getElementById("jog_button_fine").innerHTML = "0.005";
document.getElementById("jog_button_small").innerHTML = "0.05"; document.getElementById("jog_button_small").innerHTML = "0.05";
document.getElementById("jog_button_medium").innerHTML = "0.5"; document.getElementById("jog_button_medium").innerHTML = "0.5";
document.getElementById("jog_button_large").innerHTML = "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'); this.set_jog_incr('small');
@@ -287,13 +284,28 @@ module.exports = {
on_finish(); on_finish();
}, },
set_tool_diameter : function (new_diameter) { prep_and_show_tool_diameter_modal() {
if(isNaN(new_diameter)) 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; return;
}
this.show_tool_diameter_modal = false; 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(); this.probe_xyz();
}, },

View File

@@ -109,7 +109,7 @@ html(lang="en")
title="Raspberry Pi temperature too high.") title="Raspberry Pi temperature too high.")
.subtitle .subtitle
| CNC Controller #[b {{state.demo ? 'Demo ' : ''}}] | CNC Controller #[b {{state.demo ? 'Demo ' : ''}}]
| v{{config.version}} | v{{config.full_version}}
a.upgrade-version(v-if="show_upgrade()", href="#admin-general") a.upgrade-version(v-if="show_upgrade()", href="#admin-general")
| Upgrade to v{{latestVersion}} | Upgrade to v{{latestVersion}}
.fa.fa-check(v-if="!show_upgrade() && latestVersion", .fa.fa-check(v-if="!show_upgrade() && latestVersion",

View File

@@ -100,8 +100,7 @@ script#control-view-template(type="text/x-template")
.pure-form .pure-form
.pure-control-group .pure-control-group
label="{{metric ? 'Diameter (mm)' : 'Diameter (inches)'}}" label="{{metric ? 'Diameter (mm)' : 'Diameter (inches)'}}"
input(v-model="tool_diameter",size="8", input(v-model="tool_diameter_for_prompt", size="8")
@keyup.enter=`set_tool_diameter(tool_diameter)`)
p p
div(slot="footer") div(slot="footer")
@@ -109,7 +108,7 @@ script#control-view-template(type="text/x-template")
| Cancel | Cancel
button.pure-button.button-success( button.pure-button.button-success(
@click=`set_tool_diameter(tool_diameter)`) @click=`set_tool_diameter`)
| Set | Set
message(:show.sync=`state.show_probe_complete_modal`) 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") td(style="height:100px", align="center", colspan="2")
button(:class="state['pw'] ? '' : 'load-on'", button(:class="state['pw'] ? '' : 'load-on'",
style="height:100px;width:200px", 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 | Probe XYZ
td(style="height:100px", align="center", colspan="2") td(style="height:100px", align="center", colspan="2")
button(:class="state['pw'] ? '' : 'load-on'", button(:class="state['pw'] ? '' : 'load-on'",
@@ -419,7 +418,7 @@ script#control-view-template(type="text/x-template")
a(:disabled="!state.selected", download, a(:disabled="!state.selected", download,
:href="'/api/file/' + state.selected", :href="'/api/file/' + state.selected",
title="Download the selected GCode program.") 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 .fa.fa-download
button.pure-button(title="Delete current GCode program.", button.pure-button(title="Delete current GCode program.",

View File

@@ -145,6 +145,8 @@ class Config(object):
config['settings']['max-deviation'] = 0.001 config['settings']['max-deviation'] = 0.001
config['settings']['junction-accel'] = 200000 config['settings']['junction-accel'] = 200000
config['settings']['probing-prompts'] = True config['settings']['probing-prompts'] = True
config['probe']['probe-fast-seek'] = 75
config['probe']['probe-slow-seek'] = 25
for motor in config['motors']: for motor in config['motors']:
motor['stall-microstep'] = 8 motor['stall-microstep'] = 8
motor['stall-current'] = 1 motor['stall-current'] = 1
@@ -162,8 +164,8 @@ class Config(object):
motor['max-jerk'] = 1000 motor['max-jerk'] = 1000
motor['zero-backoff'] = 1 motor['zero-backoff'] = 1
config['version'] = self.version config['version'] = self.version.split('b')[0]
config['full_version'] = self.version
def save(self, config): def save(self, config):
self.upgrade(config) self.upgrade(config)

View File

@@ -466,7 +466,7 @@
"probe-diameter": { "probe-diameter": {
"type": "float", "type": "float",
"min": 0, "min": 0,
"max": 10, "max": 25.4,
"unit": "mm", "unit": "mm",
"default": 6.35 "default": 6.35
}, },