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
|
||||
===========================================
|
||||
|
||||
Note: This firmware was forked from version 0.4.14 of the Buildbotics firmware
|
||||
Buildbotics Changelog is provided below
|
||||
|
||||
## 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 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
|
||||
- Added file system watcher for uploaded files
|
||||
- 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
|
||||
- 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
|
||||
- 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
|
||||
- Includes GUI customizations, stall homing
|
||||
|
||||
Note: This firmware was forked from version 0.4.14 of the Buildbotics firmware
|
||||
|
||||
Buildbotics CNC Controller Firmware Changelog
|
||||
=============================================
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "bbctrl",
|
||||
"version": "1.0.7b3",
|
||||
"version": "1.0.7",
|
||||
"homepage": "https://onefinitycnc.com/",
|
||||
"repository": "https://github.com/OneFinityCNC/onefinity",
|
||||
"license": "GPL-3.0+",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -112,7 +112,8 @@ module.exports = new Vue({
|
||||
config: {
|
||||
settings: {units: 'METRIC'},
|
||||
motors: [{}, {}, {}, {}],
|
||||
version: '<loading>'
|
||||
version: '<loading>',
|
||||
full_version: '<loading>'
|
||||
},
|
||||
state: {
|
||||
messages: [],
|
||||
|
||||
@@ -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');
|
||||
@@ -287,13 +284,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();
|
||||
},
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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.",
|
||||
|
||||
@@ -145,6 +145,8 @@ class Config(object):
|
||||
config['settings']['max-deviation'] = 0.001
|
||||
config['settings']['junction-accel'] = 200000
|
||||
config['settings']['probing-prompts'] = True
|
||||
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
|
||||
@@ -162,8 +164,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)
|
||||
|
||||
@@ -466,7 +466,7 @@
|
||||
"probe-diameter": {
|
||||
"type": "float",
|
||||
"min": 0,
|
||||
"max": 10,
|
||||
"max": 25.4,
|
||||
"unit": "mm",
|
||||
"default": 6.35
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user