1.0.6 Firmware release. More Github cleanup.
This commit is contained in:
@@ -4,6 +4,14 @@ OneFinity CNC Controller Firmware Changelog
|
|||||||
Note: This firmware was forked from version 0.4.14 of the Buildbotics firmware
|
Note: This firmware was forked from version 0.4.14 of the Buildbotics firmware
|
||||||
Buildbotics Changelog is provided below
|
Buildbotics Changelog is provided below
|
||||||
|
|
||||||
|
## v1.0.6
|
||||||
|
- Tweaked stall homing procedure to clear stepper stall condition before homing
|
||||||
|
- Modified motor homing parameters (8 microsteps, 1.688 m/min search velocity, 2 stall volts, 1 stall current, 1.5mm zero backoff)
|
||||||
|
- Added pop up message while loading/simulating file on upload
|
||||||
|
- Decreased max velocity in default settings for X and Y axes
|
||||||
|
- Restored jerk to 1000 on all axes
|
||||||
|
- Fixed issue with default units not displaying on Control page (thanks to Robin Goldstone)
|
||||||
|
|
||||||
## v1.0.5
|
## v1.0.5
|
||||||
- Changed the jog commands so that save/restore modal states are not used to avoid situation where spindle/loads could
|
- Changed the jog commands so that save/restore modal states are not used to avoid situation where spindle/loads could
|
||||||
turn back on if the stop button was used instead of the M5/M9 gcode commands.
|
turn back on if the stop button was used instead of the M5/M9 gcode commands.
|
||||||
|
|||||||
2
Makefile
2
Makefile
@@ -62,7 +62,9 @@ $(GPLAN_MOD): $(GPLAN_IMG)
|
|||||||
git -C rpi-share/cbang reset --hard FETCH_HEAD
|
git -C rpi-share/cbang reset --hard FETCH_HEAD
|
||||||
git -C rpi-share/camotics fetch
|
git -C rpi-share/camotics fetch
|
||||||
git -C rpi-share/camotics reset --hard FETCH_HEAD
|
git -C rpi-share/camotics reset --hard FETCH_HEAD
|
||||||
|
git -C rpi-share/camotics checkout ec876c80d20fc19837133087cef0c447df5a939d
|
||||||
cp ./scripts/gplan-build.sh rpi-share/
|
cp ./scripts/gplan-build.sh rpi-share/
|
||||||
|
chmod +x rpi-share/gplan-build.sh
|
||||||
sudo ./scripts/rpi-chroot.sh $(GPLAN_IMG) /mnt/host/gplan-build.sh
|
sudo ./scripts/rpi-chroot.sh $(GPLAN_IMG) /mnt/host/gplan-build.sh
|
||||||
|
|
||||||
$(GPLAN_IMG):
|
$(GPLAN_IMG):
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "bbctrl",
|
"name": "bbctrl",
|
||||||
"version": "1.0.5",
|
"version": "1.0.6",
|
||||||
"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+",
|
||||||
|
|||||||
0
scripts/gplan-build.sh
Normal file → Executable file
0
scripts/gplan-build.sh
Normal file → Executable file
1
scripts/gplan-init-build.sh
Normal file → Executable file
1
scripts/gplan-init-build.sh
Normal file → Executable file
@@ -24,6 +24,7 @@ if [ ! -e $GPLAN_IMG ]; then
|
|||||||
# Init image
|
# Init image
|
||||||
mkdir -p rpi-share
|
mkdir -p rpi-share
|
||||||
cp ./scripts/gplan-init-dev-img.sh rpi-share
|
cp ./scripts/gplan-init-dev-img.sh rpi-share
|
||||||
|
chmod +x ./rpi-share/gplan-init-dev-img.sh
|
||||||
sudo ./scripts/rpi-chroot.sh $GPLAN_IMG.tmp /mnt/host/gplan-init-dev-img.sh
|
sudo ./scripts/rpi-chroot.sh $GPLAN_IMG.tmp /mnt/host/gplan-init-dev-img.sh
|
||||||
|
|
||||||
# Move image
|
# Move image
|
||||||
|
|||||||
0
scripts/gplan-init-dev-img.sh
Normal file → Executable file
0
scripts/gplan-init-dev-img.sh
Normal file → Executable file
0
scripts/install.sh
Normal file → Executable file
0
scripts/install.sh
Normal file → Executable file
2
scripts/rpi-chroot.sh
Normal file → Executable file
2
scripts/rpi-chroot.sh
Normal file → Executable file
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash -ex
|
#!/bin/bash -ex
|
||||||
|
|
||||||
ROOT="$PWD/rpi-root"
|
ROOT="$PWD/rpi-root"
|
||||||
LOOP=9
|
LOOP=12
|
||||||
|
|
||||||
if [ $# -lt 1 ]; then
|
if [ $# -lt 1 ]; then
|
||||||
echo "Usage: $0 <image> <exec>"
|
echo "Usage: $0 <image> <exec>"
|
||||||
|
|||||||
0
scripts/update-bbctrl
Normal file → Executable file
0
scripts/update-bbctrl
Normal file → Executable file
0
scripts/upgrade-bbctrl
Normal file → Executable file
0
scripts/upgrade-bbctrl
Normal file → Executable file
@@ -1,4 +1,5 @@
|
|||||||
hostinfo.sh &
|
hostinfo.sh &
|
||||||
|
|
||||||
ratpoison &
|
ratpoison &
|
||||||
|
|
||||||
xset -dpms
|
xset -dpms
|
||||||
|
|||||||
@@ -118,7 +118,8 @@ module.exports = new Vue({
|
|||||||
password: '',
|
password: '',
|
||||||
ipAddress: '0.0.0.0',
|
ipAddress: '0.0.0.0',
|
||||||
wifiSSID: '',
|
wifiSSID: '',
|
||||||
confirmShutdown: false
|
confirmShutdown: false,
|
||||||
|
diskSpace: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -309,6 +310,7 @@ module.exports = new Vue({
|
|||||||
|
|
||||||
this.check_ip_address();
|
this.check_ip_address();
|
||||||
this.check_ssid();
|
this.check_ssid();
|
||||||
|
//.check_disk_space();
|
||||||
|
|
||||||
|
|
||||||
}.bind(this))
|
}.bind(this))
|
||||||
@@ -341,6 +343,20 @@ module.exports = new Vue({
|
|||||||
this.$broadcast('wifiSSID', data);
|
this.$broadcast('wifiSSID', data);
|
||||||
}.bind(this))
|
}.bind(this))
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// check_disk_space : function() {
|
||||||
|
// $.ajax({
|
||||||
|
// type: 'GET',
|
||||||
|
// url: 'diskinfo.txt',
|
||||||
|
// data: {hid: this.state.hid},
|
||||||
|
// cache: false
|
||||||
|
//
|
||||||
|
// }).done(function (data) {
|
||||||
|
// console.debug('>', data);
|
||||||
|
// this.diskSpace = data;
|
||||||
|
// this.$broadcast('diskSpace', data);
|
||||||
|
// }.bind(this))
|
||||||
|
// },
|
||||||
|
|
||||||
get_ip_address : function() {
|
get_ip_address : function() {
|
||||||
console.debug('get_ip>', this.ipAddress);
|
console.debug('get_ip>', this.ipAddress);
|
||||||
@@ -352,11 +368,21 @@ module.exports = new Vue({
|
|||||||
return this.wifiSSID;
|
return this.wifiSSID;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// get_disk_space : function() {
|
||||||
|
// console.debug('get_disk>', this.diskSpace);
|
||||||
|
// return this.diskSpace;
|
||||||
|
// },
|
||||||
|
|
||||||
shutdown : function() {
|
shutdown : function() {
|
||||||
this.confirmShutdown = false;
|
this.confirmShutdown = false;
|
||||||
api.put('shutdown');
|
api.put('shutdown');
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
reboot : function() {
|
||||||
|
this.confirmShutdown = false;
|
||||||
|
api.put('reboot');
|
||||||
|
},
|
||||||
|
|
||||||
connect: function () {
|
connect: function () {
|
||||||
this.sock = new Sock('//' + window.location.host + '/sockjs');
|
this.sock = new Sock('//' + window.location.host + '/sockjs');
|
||||||
|
|||||||
@@ -73,7 +73,8 @@ module.exports = {
|
|||||||
ask_home: true,
|
ask_home: true,
|
||||||
ask_home_msg: false,
|
ask_home_msg: false,
|
||||||
ask_zero_xy_msg: false,
|
ask_zero_xy_msg: false,
|
||||||
ask_zero_z_msg: false
|
ask_zero_z_msg: false,
|
||||||
|
showGcodeMessage: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -92,6 +93,19 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
immediate: true
|
immediate: true
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'state.bitDiameter': {
|
||||||
|
handler: function (bitDiameter) {
|
||||||
|
console.log("New bitDiameter " + bitDiameter);
|
||||||
|
console.log("Units: " + this.mach_units);
|
||||||
|
if(this.mach_units == 'IMPERIAL')
|
||||||
|
this.tool_diameter = bitDiameter / 25.4;
|
||||||
|
else
|
||||||
|
this.tool_diameter = bitDiameter;
|
||||||
|
console.log("Tool diameter: " + this.tool_diameter);
|
||||||
|
},
|
||||||
|
immediate: true
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
mach_units: function (units) {
|
mach_units: function (units) {
|
||||||
@@ -508,6 +522,7 @@ module.exports = {
|
|||||||
if (typeof toolpath.progress == 'undefined') {
|
if (typeof toolpath.progress == 'undefined') {
|
||||||
toolpath.filename = file;
|
toolpath.filename = file;
|
||||||
this.toolpath_progress = 1;
|
this.toolpath_progress = 1;
|
||||||
|
this.showGcodeMessage = false;
|
||||||
this.toolpath = toolpath;
|
this.toolpath = toolpath;
|
||||||
|
|
||||||
var state = this.$root.state;
|
var state = this.$root.state;
|
||||||
@@ -518,6 +533,7 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
this.showGcodeMessage = true;
|
||||||
this.toolpath_progress = toolpath.progress;
|
this.toolpath_progress = toolpath.progress;
|
||||||
this.load_toolpath(file, file_time); // Try again
|
this.load_toolpath(file, file_time); // Try again
|
||||||
}
|
}
|
||||||
@@ -590,7 +606,7 @@ module.exports = {
|
|||||||
home: function (axis) {
|
home: function (axis) {
|
||||||
|
|
||||||
this.ask_home = false;
|
this.ask_home = false;
|
||||||
this.ask_home_msg = false;
|
this.ask_home_msg = false;
|
||||||
|
|
||||||
if (typeof axis == 'undefined') api.put('home');
|
if (typeof axis == 'undefined') api.put('home');
|
||||||
|
|
||||||
|
|||||||
@@ -87,13 +87,15 @@ html(lang="en")
|
|||||||
li.pure-menu-heading
|
li.pure-menu-heading
|
||||||
a.pure-menu-link(href="#help") Help
|
a.pure-menu-link(href="#help") Help
|
||||||
|
|
||||||
button.pure-button.pure-button-primary(@click="confirmShutdown = true") Shutdown
|
button.pure-button.pure-button-primary(@click="confirmShutdown = true", style="width: 100%")
|
||||||
|
.fa.fa-power-off
|
||||||
message(:show.sync="confirmShutdown")
|
message(:show.sync="confirmShutdown")
|
||||||
h3(slot="header") Confirm shutdown?
|
h3(slot="header") Confirm shutdown?
|
||||||
p(slot="body") Please wait for black screen before switching off power.
|
p(slot="body") Please wait for black screen before switching off power.
|
||||||
div(slot="footer")
|
div(slot="footer")
|
||||||
button.pure-button(@click="confirmShutdown = false") Cancel
|
button.pure-button(@click="confirmShutdown = false") Cancel
|
||||||
button.pure-button.button-success(@click="shutdown") Shutdown
|
button.pure-button.button-success(@click="shutdown") Shutdown
|
||||||
|
button.pure-button.button-success(@click="reboot") Restart
|
||||||
|
|
||||||
|
|
||||||
#main
|
#main
|
||||||
|
|||||||
@@ -29,8 +29,8 @@ script#admin-general-view-template(type="text/x-template")
|
|||||||
#admin-general
|
#admin-general
|
||||||
h2 Firmware
|
h2 Firmware
|
||||||
button.pure-button.pure-button-primary(@click="check") Check
|
button.pure-button.pure-button-primary(@click="check") Check
|
||||||
button.pure-button.pure-button-primary(@click="upgrade") Upgrade
|
button.pure-button.pure-button-primary(@click="upgrade") Upgrade via Web
|
||||||
label.pure-button.pure-button-primary(@click="upload_firmware") Upload
|
label.pure-button.pure-button-primary(@click="upload_firmware") Upgrade via File
|
||||||
form.upload-firmware.file-upload
|
form.upload-firmware.file-upload
|
||||||
input(type="file", accept=".bz2", @change="upload")
|
input(type="file", accept=".bz2", @change="upload")
|
||||||
|
|
||||||
|
|||||||
@@ -113,6 +113,17 @@ script#control-view-template(type="text/x-template")
|
|||||||
div(slot="footer")
|
div(slot="footer")
|
||||||
button.pure-button(@click=`toolpath_msg['${axis}'] = false`)
|
button.pure-button(@click=`toolpath_msg['${axis}'] = false`)
|
||||||
| OK
|
| OK
|
||||||
|
|
||||||
|
|
||||||
|
message(:show.sync="showGcodeMessage")
|
||||||
|
h3(slot="header") Processing New File
|
||||||
|
|
||||||
|
div(slot="body")
|
||||||
|
h3 Please wait..
|
||||||
|
p Simulating GCode to check for errors, calculate ETA and generate 3D view.
|
||||||
|
|
||||||
|
div(slot="footer")
|
||||||
|
label Simulating {{(toolpath_progress || 0) | percent}}
|
||||||
|
|
||||||
message(:show.sync=`ask_home_msg`)
|
message(:show.sync=`ask_home_msg`)
|
||||||
h3(slot="header") Home Machine
|
h3(slot="header") Home Machine
|
||||||
|
|||||||
@@ -369,7 +369,7 @@ static void validate_input_voltage() {
|
|||||||
static void charge_caps() {
|
static void charge_caps() {
|
||||||
IO_PORT_SET(SHUNT_PIN); // Disable shunt (hi)
|
IO_PORT_SET(SHUNT_PIN); // Disable shunt (hi)
|
||||||
|
|
||||||
delay(5);
|
delay(1000);
|
||||||
IO_PORT_SET(PC2_PIN); //Enable pre-charge circuit
|
IO_PORT_SET(PC2_PIN); //Enable pre-charge circuit
|
||||||
delay(CAP_PRECHARGE_PERIOD); //Wait for Vs caps to charge
|
delay(CAP_PRECHARGE_PERIOD); //Wait for Vs caps to charge
|
||||||
IO_PORT_CLR(PC2_PIN); //Disable pre-charge circuit
|
IO_PORT_CLR(PC2_PIN); //Disable pre-charge circuit
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ class Ctrl(object):
|
|||||||
def configure(self):
|
def configure(self):
|
||||||
# Indirectly configures state via calls to config() and the AVR
|
# Indirectly configures state via calls to config() and the AVR
|
||||||
self.config.reload()
|
self.config.reload()
|
||||||
|
self.state.init()
|
||||||
|
|
||||||
|
|
||||||
def ready(self):
|
def ready(self):
|
||||||
|
|||||||
@@ -51,6 +51,10 @@ axis_homing_procedure = '''
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
stall_homing_procedure = '''
|
stall_homing_procedure = '''
|
||||||
|
G91 G1 %(axis)s [#<_%(axis)s_zero_backoff> * -1] F[#<_%(axis)s_search_velocity>]
|
||||||
|
G4 250
|
||||||
|
G91 G1 %(axis)s [#<_%(axis)s_zero_backoff>] F[#<_%(axis)s_search_velocity>]
|
||||||
|
G4 250
|
||||||
G28.2 %(axis)s0 F[#<_%(axis)s_search_velocity>]
|
G28.2 %(axis)s0 F[#<_%(axis)s_search_velocity>]
|
||||||
G38.6 %(axis)s[#<_%(axis)s_home_travel>]
|
G38.6 %(axis)s[#<_%(axis)s_home_travel>]
|
||||||
G91 G1 G53 %(axis)s[#<_%(axis)s_zero_backoff>] F100
|
G91 G1 G53 %(axis)s[#<_%(axis)s_zero_backoff>] F100
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ class Planner():
|
|||||||
def get_config(self, mdi, with_limits):
|
def get_config(self, mdi, with_limits):
|
||||||
state = self.ctrl.state
|
state = self.ctrl.state
|
||||||
config = self.ctrl.config
|
config = self.ctrl.config
|
||||||
|
is_pwm = config.get('tool-type') == 'PWM Spindle'
|
||||||
|
|
||||||
cfg = {
|
cfg = {
|
||||||
# NOTE Must get current units not configured default units
|
# NOTE Must get current units not configured default units
|
||||||
@@ -89,7 +90,7 @@ class Planner():
|
|||||||
'max-vel': state.get_axis_vector('vm', 1000),
|
'max-vel': state.get_axis_vector('vm', 1000),
|
||||||
'max-accel': state.get_axis_vector('am', 1000000),
|
'max-accel': state.get_axis_vector('am', 1000000),
|
||||||
'max-jerk': state.get_axis_vector('jm', 1000000),
|
'max-jerk': state.get_axis_vector('jm', 1000000),
|
||||||
'rapid-auto-off': config.get('rapid-auto-off'),
|
'rapid-auto-off': config.get('rapid-auto-off') and is_pwm,
|
||||||
'max-blend-error': config.get('max-deviation'),
|
'max-blend-error': config.get('max-deviation'),
|
||||||
'max-merge-error': config.get('max-deviation'),
|
'max-merge-error': config.get('max-deviation'),
|
||||||
'junction-accel': config.get('junction-accel'),
|
'junction-accel': config.get('junction-accel'),
|
||||||
|
|||||||
@@ -73,14 +73,25 @@ class State(object):
|
|||||||
self.set_callback(str(i) + 'latch_velocity',
|
self.set_callback(str(i) + 'latch_velocity',
|
||||||
lambda name, i = i: self.motor_latch_velocity(i))
|
lambda name, i = i: self.motor_latch_velocity(i))
|
||||||
|
|
||||||
self.set_callback('metric', lambda name: 1 if self.is_metric() else 0)
|
#self.set_callback('metric', lambda name: 1 if self.is_metric() else 0)
|
||||||
self.set_callback('imperial', lambda name: 0 if self.is_metric() else 1)
|
#self.set_callback('imperial', lambda name: 0 if self.is_metric() else 1)
|
||||||
|
|
||||||
self.reset()
|
self.reset()
|
||||||
self.load_files()
|
self.load_files()
|
||||||
|
|
||||||
|
|
||||||
def is_metric(self): return self.get('units', 'METRIC') == 'METRIC'
|
#def is_metric(self): return self.get('units', 'METRIC') == 'METRIC'
|
||||||
|
|
||||||
|
def init(self):
|
||||||
|
# Init machine units
|
||||||
|
metric = self.ctrl.config.get('units', 'METRIC').upper() == 'METRIC'
|
||||||
|
self.log.info('INIT Metric %d' % metric)
|
||||||
|
if not 'metric' in self.vars: self.set('metric', metric)
|
||||||
|
if not 'imperial' in self.vars: self.set('imperial', not metric)
|
||||||
|
#Bit diameter for probing
|
||||||
|
diameter = self.ctrl.config.get('probe-diameter',6.35)
|
||||||
|
self.log.info('INIT Diameter %f' % diameter)
|
||||||
|
self.set('bitDiameter',diameter)
|
||||||
|
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
../../../build/http/
|
|
||||||
1
src/py/bbctrl/http
Symbolic link
1
src/py/bbctrl/http
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../../../build/http/
|
||||||
@@ -462,6 +462,13 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
"probe": {
|
"probe": {
|
||||||
|
"probe-diameter": {
|
||||||
|
"type": "float",
|
||||||
|
"min": 0,
|
||||||
|
"max": 10,
|
||||||
|
"unit": "mm",
|
||||||
|
"default": 6.35
|
||||||
|
},
|
||||||
"probe-xdim": {
|
"probe-xdim": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"unit": "mm",
|
"unit": "mm",
|
||||||
|
|||||||
@@ -35,8 +35,8 @@
|
|||||||
{
|
{
|
||||||
"latch-velocity": 0.1,
|
"latch-velocity": 0.1,
|
||||||
"max-accel": 750,
|
"max-accel": 750,
|
||||||
"max-velocity": 12.75,
|
"max-velocity": 10,
|
||||||
"search-velocity": 0.844,
|
"search-velocity": 1.688,
|
||||||
"travel-per-rev": 10,
|
"travel-per-rev": 10,
|
||||||
"idle-current": 0.5,
|
"idle-current": 0.5,
|
||||||
"drive-current": 2.8,
|
"drive-current": 2.8,
|
||||||
@@ -44,11 +44,11 @@
|
|||||||
"enabled": true,
|
"enabled": true,
|
||||||
"homing-mode": "stall-min",
|
"homing-mode": "stall-min",
|
||||||
"reverse": false,
|
"reverse": false,
|
||||||
"stall-microstep": 16,
|
"stall-microstep": 8,
|
||||||
"min-soft-limit": 0,
|
"min-soft-limit": 0,
|
||||||
"max-switch": "disabled",
|
"max-switch": "disabled",
|
||||||
"step-angle": 1.8,
|
"step-angle": 1.8,
|
||||||
"stall-current": 0.9,
|
"stall-current": 1.0,
|
||||||
"stall-sample-time": 200,
|
"stall-sample-time": 200,
|
||||||
"microsteps": 16,
|
"microsteps": 16,
|
||||||
"stall-volts": 2,
|
"stall-volts": 2,
|
||||||
@@ -61,8 +61,8 @@
|
|||||||
{
|
{
|
||||||
"latch-velocity": 0.1,
|
"latch-velocity": 0.1,
|
||||||
"max-accel": 750,
|
"max-accel": 750,
|
||||||
"max-velocity": 12.75,
|
"max-velocity": 10,
|
||||||
"search-velocity": 0.844,
|
"search-velocity": 1.688,
|
||||||
"travel-per-rev": 10,
|
"travel-per-rev": 10,
|
||||||
"idle-current": 0.5,
|
"idle-current": 0.5,
|
||||||
"drive-current": 2.8,
|
"drive-current": 2.8,
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
"enabled": true,
|
"enabled": true,
|
||||||
"homing-mode": "stall-min",
|
"homing-mode": "stall-min",
|
||||||
"reverse": false,
|
"reverse": false,
|
||||||
"stall-microstep": 16,
|
"stall-microstep": 8,
|
||||||
"min-soft-limit": 0,
|
"min-soft-limit": 0,
|
||||||
"max-switch": "disabled",
|
"max-switch": "disabled",
|
||||||
"step-angle": 1.8,
|
"step-angle": 1.8,
|
||||||
|
|||||||
@@ -35,8 +35,8 @@
|
|||||||
{
|
{
|
||||||
"latch-velocity": 0.1,
|
"latch-velocity": 0.1,
|
||||||
"max-accel": 750,
|
"max-accel": 750,
|
||||||
"max-velocity": 12.75,
|
"max-velocity": 10,
|
||||||
"search-velocity": 0.844,
|
"search-velocity": 1.688,
|
||||||
"travel-per-rev": 10,
|
"travel-per-rev": 10,
|
||||||
"idle-current": 0.5,
|
"idle-current": 0.5,
|
||||||
"drive-current": 2.8,
|
"drive-current": 2.8,
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
"enabled": true,
|
"enabled": true,
|
||||||
"homing-mode": "stall-min",
|
"homing-mode": "stall-min",
|
||||||
"reverse": false,
|
"reverse": false,
|
||||||
"stall-microstep": 16,
|
"stall-microstep": 8,
|
||||||
"min-soft-limit": 0,
|
"min-soft-limit": 0,
|
||||||
"max-switch": "disabled",
|
"max-switch": "disabled",
|
||||||
"step-angle": 1.8,
|
"step-angle": 1.8,
|
||||||
@@ -61,8 +61,8 @@
|
|||||||
{
|
{
|
||||||
"latch-velocity": 0.1,
|
"latch-velocity": 0.1,
|
||||||
"max-accel": 750,
|
"max-accel": 750,
|
||||||
"max-velocity": 12.75,
|
"max-velocity": 10,
|
||||||
"search-velocity": 0.844,
|
"search-velocity": 1.688,
|
||||||
"travel-per-rev": 10,
|
"travel-per-rev": 10,
|
||||||
"idle-current": 0.5,
|
"idle-current": 0.5,
|
||||||
"drive-current": 2.8,
|
"drive-current": 2.8,
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
"enabled": true,
|
"enabled": true,
|
||||||
"homing-mode": "stall-min",
|
"homing-mode": "stall-min",
|
||||||
"reverse": false,
|
"reverse": false,
|
||||||
"stall-microstep": 16,
|
"stall-microstep": 8,
|
||||||
"min-soft-limit": 0,
|
"min-soft-limit": 0,
|
||||||
"max-switch": "disabled",
|
"max-switch": "disabled",
|
||||||
"step-angle": 1.8,
|
"step-angle": 1.8,
|
||||||
|
|||||||
Reference in New Issue
Block a user