Merge branch '1.0.7-devel' into probing-prompt-setting
This commit is contained in:
28
CHANGELOG.md
28
CHANGELOG.md
@@ -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
|
||||||
=============================================
|
=============================================
|
||||||
|
|
||||||
|
|||||||
@@ -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+",
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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: [],
|
||||||
|
|||||||
@@ -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();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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.",
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user