Buildbotics CNC Controller Firmware Change Log
==============================================
+## v0.3.7
+ - Allow blocking error dialog for a period of time
+ - Show actual error message on planner errors
+ - Reset planner on serious error
+ - Fixed console clear
+ - Added helful info to Video tab
+ - Changed "Console" tab to "Messages"
+ - Removed spin up/down velocity options, they don't do anything
+
## v0.3.6
- Set max_usb_current=1 in /boot/config.txt from installer #103
{
"name": "bbctrl",
- "version": "0.3.6",
+ "version": "0.3.7",
"homepage": "http://buildbotics.com/",
"repository": "https://github.com/buildbotics/bbctrl-firmware",
"license": "GPL-3.0+",
Copyright (c) 2015 - 2016 Buildbotics LLC
Copyright (c) 2014 Thomas Nixon, Jonathan Heathcote (cpp_magic.h)
- Copyright (c) 2013 - 2015 Robert Giseburt
- Copyright (c) 2010 - 2015 Alden S. Hart, Jr.
- Copyright (c) 2008 Atmel Corporation (part of clock.c)
All rights reserved.
Each source code file lists the entities which claim copyright to
};
+// See VFD manual pg57 3.1.3.d
enum {
HUANYANG_TARGET_FREQ,
HUANYANG_ACTUAL_FREQ,
HUANYANG_ACTUAL_CURRENT,
HUANYANG_ACTUAL_RPM,
+ HUANYANG_DCV,
+ HUANYANG_ACV,
HUANYANG_CONT,
HUANYANG_TEMPERATURE,
};
div(slot="body")
console
+ button.pure-button(@click="block_error_dialog")
+ .fa.fa-ban
+ | Stop
+ label showing errors for
+ input(style="width: 50px", v-model="errorTimeout", number)
+ label seconds.
+
+ div(slot="footer")
+ button.pure-button.pure-button-primary(@click="errorShow = false") Ok
+
message(:show.sync="confirmUpgrade")
h3(slot="header") Upgrade Firmware?
div(slot="body")
.toolbar
button.pure-button(title="Clear console.", @click="clear")
.fa.fa-trash
+ | Clear
table
tr
label(for="tab3") Jog
input#tab4(type="radio", name="tabs")
- label(for="tab4") Console
+ label(for="tab4") Messages
input#tab5(type="radio", name="tabs")
label(for="tab5") Indicators
img.reload(src="/images/reload.png", @click="load_video",
title="Reload video")
img.mjpeg(:src="video_url")
+
+ p(style="padding:0 1em")
+ | Plug in a USB video camera to monitor your machine remotely.
+ | If it's not working, try clicking the reload button or unplugging
+ | and replugging the the camera.
+ | <a href="https://elinux.org/RPi_USB_Webcams" target="_blank">Here
+ | is a list</a> of USB cameras that should work.
config: {motors: [{}]},
state: {},
messages: [],
+ errorTimeout: 30,
+ errorTimeoutStart: 0,
errorShow: false,
errorMessage: '',
confirmUpgrade: false,
error: function (msg) {
+ // Honor user error blocking
+ if (Date.now() - this.errorTimeoutStart < this.errorTimeout * 1000)
+ return;
+
+ // Wait at least 1 sec to pop up repeated errors
+ if (1 < msg.repeat && Date.now() - msg.ts < 1000) return;
+
+ // Popup error dialog
this.errorShow = true;
this.errorMessage = msg.msg;
}
methods: {
+ block_error_dialog: function () {
+ this.errorTimeoutStart = Date.now();
+ this.errorShow = false;
+ },
+
+
estop: function () {
if (this.state.xx == 'ESTOPPED') api.put('clear');
else api.put('estop');
msg.repeat = 1;
messages.unshift(msg);
}
+ msg.ts = Date.now();
// Write message to browser console for debugging
var text = JSON.stringify(msg);
else console.log(text);
// Event on errors
- if (!repeat && (msg.level == 'error' || msg.level == 'critical'))
+ if (msg.level == 'error' || msg.level == 'critical')
this.$dispatch('error', msg);
}
},
methods: {
- clear: function () {messages.length = 0;},
+ clear: function () {messages.splice(0, messages.length);},
}
}
#define VOLTAGE_REF_R2 1000
#define CURRENT_REF_MUL 1970
- // Addresses 0x60 to 0x67
+// Addresses 0x60 to 0x67
#define I2C_ADDR 0x60
#define I2C_MASK 0b00000111
def next(self):
- while self.planner.has_more():
- cmd = self.planner.next()
- cmd = self.encode(cmd)
- if cmd is not None: return cmd
+ try:
+ while self.planner.has_more():
+ cmd = self.planner.next()
+ cmd = self.encode(cmd)
+ if cmd is not None: return cmd
- if not self.is_running(): self.mode = 'idle'
+ if not self.is_running(): self.mode = 'idle'
+
+ except Exception as e:
+ self.reset()
+ log.exception(e)
"default": 99.99,
"code": "md"
},
- "spin-up-velocity": {
- "type": "float",
- "unit": "rev/min²",
- "min": 0,
- "default": 48000,
- "code": "su"
- },
- "spin-down-velocity": {
- "type": "float",
- "unit": "rev/min²",
- "min": 0,
- "default": 48000,
- "code": "sd"
- },
"pwm-freq": {
"type": "int",
"unit": "Hz",
.tabs
section
+ min-height 250px
max-height 610px
overflow-x hidden
overflow-y auto
td, th
border 1px solid #ddd
+ padding 2px
tr
> td