v1.0.9 changes from 1.1.1
This commit is contained in:
@@ -1,277 +1,252 @@
|
||||
/******************************************************************************\
|
||||
"use strict";
|
||||
|
||||
This file is part of the Buildbotics firmware.
|
||||
|
||||
Copyright (c) 2015 - 2018, Buildbotics LLC
|
||||
All rights reserved.
|
||||
|
||||
This file ("the software") is free software: you can redistribute it
|
||||
and/or modify it under the terms of the GNU General Public License,
|
||||
version 2 as published by the Free Software Foundation. You should
|
||||
have received a copy of the GNU General Public License, version 2
|
||||
along with the software. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
The software is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the software. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
For information regarding this software email:
|
||||
"Joseph Coffland" <joseph@buildbotics.com>
|
||||
|
||||
\******************************************************************************/
|
||||
|
||||
'use strict';
|
||||
|
||||
const api = require('./api');
|
||||
const modbus = require('./modbus.js');
|
||||
const api = require("./api");
|
||||
const modbus = require("./modbus.js");
|
||||
const merge = require("lodash.merge");
|
||||
|
||||
module.exports = {
|
||||
template: '#tool-view-template',
|
||||
props: ['config', 'template', 'state'],
|
||||
template: "#tool-view-template",
|
||||
props: [ "config", "template", "state" ],
|
||||
|
||||
data: function () {
|
||||
return {
|
||||
address: 0,
|
||||
value: 0,
|
||||
toolList: [
|
||||
{
|
||||
id: "disabled",
|
||||
name: "Disabled"
|
||||
},
|
||||
{
|
||||
id: "router",
|
||||
type: "PWM Spindle",
|
||||
name: "Router (Makita, etc)"
|
||||
},
|
||||
{
|
||||
id: "laser",
|
||||
type: "PWM Spindle",
|
||||
name: "Laser (J Tech, etc)"
|
||||
},
|
||||
{
|
||||
id: "pwm",
|
||||
name: "PWM Spindle"
|
||||
},
|
||||
{
|
||||
id: "unsupported-separator",
|
||||
name: "Unsupported Tools",
|
||||
disabled: true,
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "huanyang-vfd",
|
||||
name: "Huanyang VFD",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "custom-modbus-vfd",
|
||||
name: "Custom Modbus VFD",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "ac-tech-vfd",
|
||||
name: "AC-Tech VFD",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "nowforever-vfd",
|
||||
name: "Nowforever VFD",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "delta-vfd",
|
||||
name: "Delta VFD015M21A (Beta)",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "yl600-vfd",
|
||||
name: "YL600, YL620, YL620-A VFD (Beta)",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "fr-d700-vfd",
|
||||
name: "FR-D700 (Beta)",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "sunfar-e300-vfd",
|
||||
name: "Sunfar E300 (Beta)",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "omron-mx2-vfd",
|
||||
name: "OMRON MX2",
|
||||
unsupported: true
|
||||
data: function() {
|
||||
return {
|
||||
address: 0,
|
||||
value: 0,
|
||||
toolList: [
|
||||
{
|
||||
id: "disabled",
|
||||
name: "Disabled"
|
||||
},
|
||||
{
|
||||
id: "router",
|
||||
type: "PWM Spindle",
|
||||
name: "Router (Makita, etc)"
|
||||
},
|
||||
{
|
||||
id: "laser",
|
||||
type: "PWM Spindle",
|
||||
name: "Laser (J Tech, etc)"
|
||||
},
|
||||
{
|
||||
id: "pwm",
|
||||
name: "PWM Spindle"
|
||||
},
|
||||
{
|
||||
id: "unsupported-separator",
|
||||
name: "Unsupported Tools",
|
||||
disabled: true,
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "huanyang-vfd",
|
||||
name: "Huanyang VFD",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "custom-modbus-vfd",
|
||||
name: "Custom Modbus VFD",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "ac-tech-vfd",
|
||||
name: "AC-Tech VFD",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "nowforever-vfd",
|
||||
name: "Nowforever VFD",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "delta-vfd",
|
||||
name: "Delta VFD015M21A (Beta)",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "yl600-vfd",
|
||||
name: "YL600, YL620, YL620-A VFD (Beta)",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "fr-d700-vfd",
|
||||
name: "FR-D700 (Beta)",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "sunfar-e300-vfd",
|
||||
name: "Sunfar E300 (Beta)",
|
||||
unsupported: true
|
||||
},
|
||||
{
|
||||
id: "omron-mx2-vfd",
|
||||
name: "OMRON MX2",
|
||||
unsupported: true
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
|
||||
components: {
|
||||
"modbus-reg": require("./modbus-reg.js")
|
||||
},
|
||||
|
||||
watch: {
|
||||
"state.mr": function() {
|
||||
this.value = this.state.mr;
|
||||
}
|
||||
},
|
||||
|
||||
events: {
|
||||
"input-changed": function() {
|
||||
this.$dispatch("config-changed");
|
||||
|
||||
return false;
|
||||
},
|
||||
},
|
||||
|
||||
ready: function() {
|
||||
this.value = this.state.mr;
|
||||
},
|
||||
|
||||
computed: {
|
||||
regs_tmpl: function() {
|
||||
return this.template["modbus-spindle"].regs;
|
||||
},
|
||||
|
||||
tool_type: function() {
|
||||
return this.config.tool["tool-type"].toUpperCase();
|
||||
},
|
||||
|
||||
selected_tool: function() {
|
||||
return this.config.tool["selected-tool"];
|
||||
},
|
||||
|
||||
is_pwm_spindle: function() {
|
||||
return this.selected_tool == "pwm";
|
||||
},
|
||||
|
||||
is_modbus: function() {
|
||||
switch (this.selected_tool) {
|
||||
case "disabled":
|
||||
case "laser":
|
||||
case "router":
|
||||
case "pwm":
|
||||
return false;
|
||||
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
},
|
||||
|
||||
modbus_status: function() {
|
||||
return modbus.status_to_string(this.state.mx);
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
change_selected_tool: function() {
|
||||
const selectedToolSettings = this.config["selected-tool-settings"] || {};
|
||||
const settings = selectedToolSettings[this.selected_tool] || {};
|
||||
this.config.tool = merge({}, this.config.tool, settings["tool"]);
|
||||
this.config["pwm-spindle"] = merge({}, this.config["pwm-spindle"], settings["pwm-spindle"]);
|
||||
this.config["modbus-spindle"] = merge({}, this.config["modbus-spindle"], settings["modbus-spindle"]);
|
||||
|
||||
const tool = this.toolList.find(tool => tool.id == this.config.tool["selected-tool"]);
|
||||
this.config.tool["tool-type"] = tool.type || tool.name;
|
||||
|
||||
this.$dispatch("config-changed");
|
||||
},
|
||||
|
||||
show_tool_settings: function(key) {
|
||||
switch (true) {
|
||||
case key === "tool-type":
|
||||
case key === "selected-tool":
|
||||
return false;
|
||||
|
||||
case this.selected_tool === "disabled":
|
||||
return false;
|
||||
|
||||
case this.selected_tool === "laser":
|
||||
case this.selected_tool === "router":
|
||||
switch (key) {
|
||||
case "tool-enable-mode":
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
},
|
||||
|
||||
get_reg_type: function(reg) {
|
||||
return this.regs_tmpl.template["reg-type"].values[this.state[`${reg}vt`]];
|
||||
},
|
||||
|
||||
get_reg_addr: function(reg) {
|
||||
return this.state[`${reg}va`];
|
||||
},
|
||||
|
||||
get_reg_value: function(reg) {
|
||||
return this.state[`${reg}vv`];
|
||||
},
|
||||
|
||||
get_reg_fails: function(reg) {
|
||||
const fails = this.state[`${reg}vr`];
|
||||
return fails == 255 ? "Max" : fails;
|
||||
},
|
||||
|
||||
show_modbus_field: function(key) {
|
||||
return key != "regs" && (key != "multi-write" || this.tool_type == "CUSTOM MODBUS VFD");
|
||||
},
|
||||
|
||||
read: function(e) {
|
||||
e.preventDefault();
|
||||
api.put("modbus/read", { address: this.address });
|
||||
},
|
||||
|
||||
write: function(e) {
|
||||
e.preventDefault();
|
||||
api.put("modbus/write", { address: this.address, value: this.value });
|
||||
},
|
||||
|
||||
customize: function(e) {
|
||||
e.preventDefault();
|
||||
this.config.tool["tool-type"] = "Custom Modbus VFD";
|
||||
|
||||
const regs = this.config["modbus-spindle"].regs;
|
||||
for (let i = 0; i < regs.length; i++) {
|
||||
const reg = this.regs_tmpl.index[i];
|
||||
regs[i]["reg-type"] = this.get_reg_type(reg);
|
||||
regs[i]["reg-addr"] = this.get_reg_addr(reg);
|
||||
regs[i]["reg-value"] = this.get_reg_value(reg);
|
||||
}
|
||||
|
||||
this.$dispatch("config-changed");
|
||||
},
|
||||
|
||||
clear: function(e) {
|
||||
e.preventDefault();
|
||||
this.config.tool["tool-type"] = "Custom Modbus VFD";
|
||||
|
||||
const regs = this.config["modbus-spindle"].regs;
|
||||
for (let i = 0; i < regs.length; i++) {
|
||||
regs[i]["reg-type"] = "disabled";
|
||||
regs[i]["reg-addr"] = 0;
|
||||
regs[i]["reg-value"] = 0;
|
||||
}
|
||||
|
||||
this.$dispatch("config-changed");
|
||||
},
|
||||
|
||||
reset_failures: function(e) {
|
||||
e.preventDefault();
|
||||
const regs = this.config["modbus-spindle"].regs;
|
||||
for (let reg = 0; reg < regs.length; reg++) {
|
||||
this.$dispatch("send", `$${reg}vr=0`);
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
components: {
|
||||
'modbus-reg': require('./modbus-reg.js')
|
||||
},
|
||||
|
||||
watch: {
|
||||
'state.mr': function () { this.value = this.state.mr }
|
||||
},
|
||||
|
||||
events: {
|
||||
'input-changed': function () {
|
||||
this.$dispatch('config-changed');
|
||||
|
||||
return false;
|
||||
},
|
||||
},
|
||||
|
||||
ready: function () {
|
||||
this.value = this.state.mr;
|
||||
},
|
||||
|
||||
computed: {
|
||||
regs_tmpl: function () {
|
||||
return this.template['modbus-spindle'].regs;
|
||||
},
|
||||
|
||||
tool_type: function () {
|
||||
return this.config.tool['tool-type'].toUpperCase();
|
||||
},
|
||||
|
||||
selected_tool: function () {
|
||||
return this.config.tool['selected-tool'];
|
||||
},
|
||||
|
||||
is_pwm_spindle: function () {
|
||||
return this.selected_tool == 'pwm';
|
||||
},
|
||||
|
||||
is_modbus: function () {
|
||||
switch (this.selected_tool) {
|
||||
case "disabled":
|
||||
case "laser":
|
||||
case "router":
|
||||
case "pwm":
|
||||
return false;
|
||||
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
},
|
||||
|
||||
modbus_status: function () {
|
||||
return modbus.status_to_string(this.state.mx);
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
change_selected_tool: function () {
|
||||
const selectedToolSettings = this.config['selected-tool-settings'] || {};
|
||||
const settings = selectedToolSettings[this.selected_tool] || {};
|
||||
this.config.tool = merge({}, this.config.tool, settings['tool']);
|
||||
this.config['pwm-spindle'] = merge({}, this.config['pwm-spindle'], settings['pwm-spindle']);
|
||||
this.config['modbus-spindle'] = merge({}, this.config['modbus-spindle'], settings['modbus-spindle']);
|
||||
|
||||
const tool = this.toolList.find(tool => tool.id == this.config.tool['selected-tool']);
|
||||
this.config.tool["tool-type"] = tool.type || tool.name;
|
||||
|
||||
this.$dispatch("config-changed");
|
||||
},
|
||||
|
||||
show_tool_settings: function (key) {
|
||||
switch (true) {
|
||||
case key === "tool-type":
|
||||
case key === "selected-tool":
|
||||
return false;
|
||||
|
||||
case this.selected_tool === "disabled":
|
||||
return false;
|
||||
|
||||
case this.selected_tool === "laser":
|
||||
case this.selected_tool === "router":
|
||||
switch (key) {
|
||||
case "tool-enable-mode":
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
},
|
||||
|
||||
get_reg_type: function (reg) {
|
||||
return this.regs_tmpl.template['reg-type'].values[this.state[reg + 'vt']];
|
||||
},
|
||||
|
||||
get_reg_addr: function (reg) {
|
||||
return this.state[reg + 'va'];
|
||||
},
|
||||
|
||||
get_reg_value: function (reg) {
|
||||
return this.state[reg + 'vv'];
|
||||
},
|
||||
|
||||
get_reg_fails: function (reg) {
|
||||
const fails = this.state[reg + 'vr']
|
||||
return fails == 255 ? 'Max' : fails;
|
||||
},
|
||||
|
||||
show_modbus_field: function (key) {
|
||||
return key != 'regs' &&
|
||||
(key != 'multi-write' || this.tool_type == 'CUSTOM MODBUS VFD');
|
||||
},
|
||||
|
||||
read: function (e) {
|
||||
e.preventDefault();
|
||||
api.put('modbus/read', { address: this.address });
|
||||
},
|
||||
|
||||
write: function (e) {
|
||||
e.preventDefault();
|
||||
api.put('modbus/write', { address: this.address, value: this.value });
|
||||
},
|
||||
|
||||
customize: function (e) {
|
||||
e.preventDefault();
|
||||
this.config.tool['tool-type'] = 'Custom Modbus VFD';
|
||||
|
||||
const regs = this.config['modbus-spindle'].regs;
|
||||
for (let i = 0; i < regs.length; i++) {
|
||||
const reg = this.regs_tmpl.index[i];
|
||||
regs[i]['reg-type'] = this.get_reg_type(reg);
|
||||
regs[i]['reg-addr'] = this.get_reg_addr(reg);
|
||||
regs[i]['reg-value'] = this.get_reg_value(reg);
|
||||
}
|
||||
|
||||
this.$dispatch('config-changed');
|
||||
},
|
||||
|
||||
clear: function (e) {
|
||||
e.preventDefault();
|
||||
this.config.tool['tool-type'] = 'Custom Modbus VFD';
|
||||
|
||||
const regs = this.config['modbus-spindle'].regs;
|
||||
for (let i = 0; i < regs.length; i++) {
|
||||
regs[i]['reg-type'] = 'disabled';
|
||||
regs[i]['reg-addr'] = 0;
|
||||
regs[i]['reg-value'] = 0;
|
||||
}
|
||||
|
||||
this.$dispatch('config-changed');
|
||||
},
|
||||
|
||||
reset_failures: function (e) {
|
||||
e.preventDefault();
|
||||
const regs = this.config['modbus-spindle'].regs;
|
||||
for (let reg = 0; reg < regs.length; reg++)
|
||||
this.$dispatch('send', '\$' + reg + 'vr=0');
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user