- Log GCode messages to "Messages" tab.
- Acknowledging a message on one browser clears it for all.
- Automatically reload Web view when file changes.
- - Changed "Message" field to "Reason" in Web interface.
- Added ``config-screen`` script. Web based screen config to come later.
+ - Suppress message popup with (MSG,# No popup message).
+ - Show latest GCode message in ``Message`` field on CONTROL page.
## v0.4.11
- Don't reset global offsets on M2.
},
+ computed: {
+ popupMessages: function () {
+ var msgs = [];
+
+ for (var i = 0; i < this.state.messages.length; i++) {
+ var text = this.state.messages[i].text;
+ if (!/^#/.test(text)) msgs.push(text);
+ }
+
+ return msgs;
+ }
+ },
+
+
ready: function () {
$(window).on('hashchange', this.parse_hash);
this.connect();
},
- reason: function () {
+ message: function () {
if (this.mach_state == 'ESTOPPED') return this.state.er;
if (this.mach_state == 'HOLDING') return this.state.pr;
+ if (this.state.messages.length)
+ return this.state.messages.slice(-1)[0].text;
return '';
},
- highlight_reason: function () {
+ highlight_state: function () {
return this.mach_state == 'ESTOPPED' || this.mach_state == 'HOLDING';
},
p Loss of power during an upgrade may damage the controller.
div(slot="footer")
- message(v-if="state.messages.length", :show="true")
+ message(v-if="popupMessages.length", :show="true")
h3(slot="header") GCode message
div(slot="body")
ul
- li(v-for="msg in state.messages", track-by="$index") {{msg.text}}
+ li(v-for="msg in popupMessages", track-by="$index") {{msg}}
div(slot="footer")
button.pure-button.button-success(v-if="state.xx != 'HOLDING'",
table.info
tr
th State
- td(:class="{attention: highlight_reason}") {{mach_state}}
+ td(:class="{attention: highlight_state}") {{mach_state}}
+
tr
- th Reason
- td.reason(:class="{attention: highlight_reason}") {{reason}}
+ th Message
+ td.message(:class="{attention: highlight_state}")
+ | {{message.replace(/^#/, '')}}
+
tr(title="Active machine units")
th Units
td.mach_units
select(v-model="mach_units", :disabled="!is_idle")
option(value="METRIC") METRIC
option(value="IMPERIAL") IMPERIAL
+
tr(title="Active tool")
th Tool
td {{state.tool || 0}}
unit-value(:value="state.v", precision="2", unit="", iunit="",
scale="0.0254")
| {{metric ? ' m/min' : ' IPM'}}
+
tr(title="Programmed feed rate.")
th Feed
td
unit-value(:value="state.feed", precision="2", unit="", iunit="")
| {{metric ? ' mm/min' : ' IPM'}}
+
tr(title="Programed and actual speed.")
th Speed
td
| {{state.speed || 0 | fixed 0}}
span(v-if="!isNaN(state.s)") ({{state.s | fixed 0}})
= ' RPM'
+
tr(title="Load switch states.")
th Loads
td