add power to tempHistory
Signed-off-by: Stefan Dej <meteyou@gmail.com>
This commit is contained in:
parent
8a8587786a
commit
9888d796bd
@ -41,6 +41,13 @@ export default {
|
|||||||
maximum: 300,
|
maximum: 300,
|
||||||
interval: 50,
|
interval: 50,
|
||||||
},
|
},
|
||||||
|
axisY2: {
|
||||||
|
gridThickness: 0,
|
||||||
|
gridColor: '#ffffff30',
|
||||||
|
minimum: 0,
|
||||||
|
maximum: 1,
|
||||||
|
interval: 0.25,
|
||||||
|
},
|
||||||
data: [ ]
|
data: [ ]
|
||||||
},
|
},
|
||||||
chart : null
|
chart : null
|
||||||
@ -53,6 +60,8 @@ export default {
|
|||||||
|
|
||||||
return datasets.sort((a,b) => {
|
return datasets.sort((a,b) => {
|
||||||
if ('name' in a && 'name' in b) {
|
if ('name' in a && 'name' in b) {
|
||||||
|
if (a.name.endsWith("_target") > b.name.endsWith("_power")) return -1
|
||||||
|
if (a.name.endsWith("_power") < b.name.endsWith("_target")) return 1
|
||||||
if (a.name.endsWith("_target") > b.name.endsWith("_target")) return -1
|
if (a.name.endsWith("_target") > b.name.endsWith("_target")) return -1
|
||||||
if (a.name.endsWith("_target") < b.name.endsWith("_target")) return 1
|
if (a.name.endsWith("_target") < b.name.endsWith("_target")) return 1
|
||||||
}
|
}
|
||||||
|
@ -53,6 +53,9 @@
|
|||||||
<v-list-item class="minHeight36">
|
<v-list-item class="minHeight36">
|
||||||
<v-checkbox class="mt-0" v-model="autoscaleTempchart" hide-details label="Autoscale Chart"></v-checkbox>
|
<v-checkbox class="mt-0" v-model="autoscaleTempchart" hide-details label="Autoscale Chart"></v-checkbox>
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
|
<v-list-item class="minHeight36">
|
||||||
|
<v-checkbox class="mt-0" v-model="boolPowerDatasets" hide-details label="Show PWM-Datasets"></v-checkbox>
|
||||||
|
</v-list-item>
|
||||||
</v-list>
|
</v-list>
|
||||||
</v-menu>
|
</v-menu>
|
||||||
</v-toolbar>
|
</v-toolbar>
|
||||||
@ -185,6 +188,14 @@
|
|||||||
return this.$store.dispatch("gui/setSettings", { tempchart: { autoscale: newVal } })
|
return this.$store.dispatch("gui/setSettings", { tempchart: { autoscale: newVal } })
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
boolPowerDatasets: {
|
||||||
|
get() {
|
||||||
|
return this.$store.state.gui.tempchart.boolPowerDatasets
|
||||||
|
},
|
||||||
|
set: function(newVal) {
|
||||||
|
return this.$store.dispatch("gui/setSettings", { tempchart: { boolPowerDatasets: newVal } })
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|
||||||
|
@ -11,6 +11,12 @@ export default {
|
|||||||
|
|
||||||
setSettings({ commit, dispatch }, payload) {
|
setSettings({ commit, dispatch }, payload) {
|
||||||
commit('setSettings', payload)
|
commit('setSettings', payload)
|
||||||
|
|
||||||
|
if ('tempchart' in payload && 'boolPowerDatasets' in payload.tempchart) {
|
||||||
|
if (payload.tempchart.boolPowerDatasets) commit('printer/tempHistory/showPowerDatasets', {}, { root: true })
|
||||||
|
else commit('printer/tempHistory/hidePowerDatasets', {}, { root: true })
|
||||||
|
}
|
||||||
|
|
||||||
dispatch('upload')
|
dispatch('upload')
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@ export function getDefaultState() {
|
|||||||
},
|
},
|
||||||
tempchart: {
|
tempchart: {
|
||||||
autoscale: false,
|
autoscale: false,
|
||||||
|
boolPowerDatasets: false,
|
||||||
},
|
},
|
||||||
console: {
|
console: {
|
||||||
hideWaitTemperatures: true,
|
hideWaitTemperatures: true,
|
||||||
|
@ -59,6 +59,9 @@ export default {
|
|||||||
|
|
||||||
if (value.target) this.commit('printer/tempHistory/addValue', { name: name+'_target', value: value.target, time: now })
|
if (value.target) this.commit('printer/tempHistory/addValue', { name: name+'_target', value: value.target, time: now })
|
||||||
else if (key in state && 'target' in state[key]) this.commit('printer/tempHistory/addValue', { name: name+'_target', value: state[key].target, time: now })
|
else if (key in state && 'target' in state[key]) this.commit('printer/tempHistory/addValue', { name: name+'_target', value: state[key].target, time: now })
|
||||||
|
|
||||||
|
if (value.power) this.commit('printer/tempHistory/addValue', { name: name+'_power', value: value.power, time: now })
|
||||||
|
else if (key in state && 'power' in state[key]) this.commit('printer/tempHistory/addValue', { name: name+'_power', value: state[key].power, time: now })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,122 @@
|
|||||||
|
import {colorArray, colorChamber, colorHeaterBed} from "@/store/variables";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
reset({ commit }) {
|
reset({ commit }) {
|
||||||
commit('reset')
|
commit('reset')
|
||||||
},
|
},
|
||||||
|
|
||||||
getHistory({ commit }, payload) {
|
getHistory({ commit, state }, payload) {
|
||||||
commit('setHistory', payload);
|
window.console.log("getHistory")
|
||||||
|
window.console.log(payload)
|
||||||
|
|
||||||
|
if (payload !== undefined) {
|
||||||
|
Object.entries(payload).sort().forEach(([name, datasets]) => {
|
||||||
|
let keySplit = name.split(" ")
|
||||||
|
if (keySplit.length > 1) name = keySplit[1]
|
||||||
|
const type = keySplit[0]
|
||||||
|
|
||||||
|
if (datasets.temperatures) {
|
||||||
|
let now = new Date()
|
||||||
|
window.console.log(datasets)
|
||||||
|
|
||||||
|
let datasetTemperature = state.datasets.find(element => element.name === name)
|
||||||
|
if (datasetTemperature === undefined) {
|
||||||
|
let color = ''
|
||||||
|
|
||||||
|
switch (name) {
|
||||||
|
case 'heater_bed':
|
||||||
|
color = colorHeaterBed;
|
||||||
|
break;
|
||||||
|
case 'chamber':
|
||||||
|
color = colorChamber;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
color = colorArray[state.datasets.filter(element =>
|
||||||
|
!element.name.endsWith("_target") && element.name !== "heater_bed" && element.name !== "chamber"
|
||||||
|
).length];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
datasetTemperature = {
|
||||||
|
type: "spline",
|
||||||
|
name: name,
|
||||||
|
legendText: name,
|
||||||
|
xValueType: "dateTime",
|
||||||
|
dataPoints:[],
|
||||||
|
showInLegend: true,
|
||||||
|
markerType: 'none',
|
||||||
|
toolTipContent: "{name}: {y}°C",
|
||||||
|
color: color,
|
||||||
|
}
|
||||||
|
|
||||||
|
commit('addDataset', datasetTemperature)
|
||||||
|
}
|
||||||
|
|
||||||
|
commit('addValue', {
|
||||||
|
name: name,
|
||||||
|
value: datasets.temperatures,
|
||||||
|
type: type,
|
||||||
|
time: now
|
||||||
|
})
|
||||||
|
|
||||||
|
if ('targets' in datasets && (type.startsWith("extruder") || type === "heater_bed" || type === "temperature_fan")) {
|
||||||
|
let datasetTarget = state.datasets.find(element => element.name === name+"_target")
|
||||||
|
if (datasetTarget === undefined) {
|
||||||
|
datasetTarget = {
|
||||||
|
type: "stepArea",
|
||||||
|
name: name+"_target",
|
||||||
|
legendText: name+"_target",
|
||||||
|
xValueType: "dateTime",
|
||||||
|
dataPoints:[],
|
||||||
|
showInLegend: false,
|
||||||
|
markerType: 'none',
|
||||||
|
toolTipContent: "{name}: {y}°C",
|
||||||
|
color: datasetTemperature.color,
|
||||||
|
fillOpacity: .1,
|
||||||
|
lineThickness: 0,
|
||||||
|
}
|
||||||
|
|
||||||
|
commit('addDataset', datasetTarget)
|
||||||
|
}
|
||||||
|
|
||||||
|
commit('addValue', {
|
||||||
|
name: name+"_target",
|
||||||
|
value: datasets.targets,
|
||||||
|
type: type,
|
||||||
|
time: now
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('powers' in datasets && (type.startsWith("extruder") || type === "heater_bed")) {
|
||||||
|
let datasetPower = state.datasets.find(element => element.name === name+"_power")
|
||||||
|
if (datasetPower === undefined) {
|
||||||
|
datasetPower = {
|
||||||
|
type: "spline",
|
||||||
|
name: name+"_power",
|
||||||
|
legendText: name+"_power",
|
||||||
|
xValueType: "dateTime",
|
||||||
|
dataPoints:[],
|
||||||
|
showInLegend: false,
|
||||||
|
markerType: 'none',
|
||||||
|
lineDashType: "dot",
|
||||||
|
lineThickness: 1,
|
||||||
|
visible: 0,
|
||||||
|
toolTipContent: "{name}: {y}%",
|
||||||
|
color: datasetTemperature.color,
|
||||||
|
}
|
||||||
|
|
||||||
|
commit('addDataset', datasetPower)
|
||||||
|
}
|
||||||
|
|
||||||
|
commit('addValue', {
|
||||||
|
name: name+"_power",
|
||||||
|
value: datasets.powers,
|
||||||
|
type: type,
|
||||||
|
time: now
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
@ -1,42 +1,15 @@
|
|||||||
import { getDefaultState } from './index'
|
import { getDefaultState } from './index'
|
||||||
import { colorArray, colorChamber, colorHeaterBed } from "@/store/variables"
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
reset(state) {
|
reset(state) {
|
||||||
Object.assign(state, getDefaultState())
|
Object.assign(state, getDefaultState())
|
||||||
},
|
},
|
||||||
|
|
||||||
setHistory(state, payload) {
|
addDataset(state, payload) {
|
||||||
let now = new Date();
|
window.console.log("addDataset")
|
||||||
|
window.console.log(payload.name)
|
||||||
|
|
||||||
if (payload !== undefined) {
|
state.datasets.push(payload)
|
||||||
Object.entries(payload).sort().forEach(([key, datasets]) => {
|
|
||||||
let keySplit = key.split(" ");
|
|
||||||
|
|
||||||
if (keySplit.length > 1) key = keySplit[1];
|
|
||||||
|
|
||||||
if (datasets.temperatures) {
|
|
||||||
let max = datasets.temperatures.length;
|
|
||||||
for (let i = 0; i < max; i++) {
|
|
||||||
let time = new Date(now.getTime() - 1000 * (max - i));
|
|
||||||
|
|
||||||
this.commit('printer/tempHistory/addValue', {
|
|
||||||
name: key,
|
|
||||||
value: datasets.temperatures[i],
|
|
||||||
type: keySplit[0],
|
|
||||||
time: time
|
|
||||||
});
|
|
||||||
|
|
||||||
this.commit('printer/tempHistory/addValue', {
|
|
||||||
name: key+'_target',
|
|
||||||
value: datasets.targets[i],
|
|
||||||
type: keySplit[0],
|
|
||||||
time: time
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
addValue(state, payload) {
|
addValue(state, payload) {
|
||||||
@ -46,61 +19,14 @@ export default {
|
|||||||
//let deletedIndex
|
//let deletedIndex
|
||||||
|
|
||||||
let mainDataset = state.datasets.find(element => element.name === payload.name)
|
let mainDataset = state.datasets.find(element => element.name === payload.name)
|
||||||
if (!mainDataset) {
|
|
||||||
//TODO load hidden sensors from gui store
|
|
||||||
//let hidden = this.rootState.gui.dashboard.hiddenTempChart.indexOf(payload.name.toUpperCase()) >= 0;
|
|
||||||
//let hidden = false
|
|
||||||
|
|
||||||
if (payload.name.includes('_target')) {
|
|
||||||
let masterDataset = state.datasets.find(element => element.name === payload.name.replace('_target', ''))
|
|
||||||
|
|
||||||
if (masterDataset) {
|
|
||||||
mainDataset = {
|
|
||||||
type: "stepArea",
|
|
||||||
name: payload.name,
|
|
||||||
legendText: payload.name,
|
|
||||||
xValueType: "dateTime",
|
|
||||||
dataPoints:[],
|
|
||||||
showInLegend: false,
|
|
||||||
markerType: 'none',
|
|
||||||
fillOpacity: .1,
|
|
||||||
lineThickness: 0,
|
|
||||||
toolTipContent: "{name}: {y}°C",
|
|
||||||
color: masterDataset.color || '#666'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
let color = '';
|
|
||||||
|
|
||||||
switch (payload.name) {
|
|
||||||
case 'heater_bed': color = colorHeaterBed; break;
|
|
||||||
case 'chamber': color = colorChamber; break;
|
|
||||||
default: color = colorArray[state.datasets.filter(element => !element.name.endsWith("_target") && element.name !== "heater_bed" && element.name !== "chamber").length]; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
mainDataset = {
|
|
||||||
type: "spline",
|
|
||||||
name: payload.name,
|
|
||||||
legendText: payload.name,
|
|
||||||
xValueType: "dateTime",
|
|
||||||
dataPoints:[],
|
|
||||||
showInLegend: true,
|
|
||||||
markerType: 'none',
|
|
||||||
toolTipContent: "{name}: {y}°C",
|
|
||||||
color: color,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mainDataset = state.datasets.push(mainDataset);
|
|
||||||
}
|
|
||||||
|
|
||||||
// update current temp in temperature chart
|
// update current temp in temperature chart
|
||||||
if (mainDataset && payload.value !== undefined) {
|
if (mainDataset !== undefined && payload.value !== undefined) {
|
||||||
if (Array.isArray(payload.value)) {
|
if (Array.isArray(payload.value)) {
|
||||||
for (let i = 0; i < payload.value.length; i++) {
|
for (let i = payload.value.length; i > 0; i--) {
|
||||||
mainDataset.data.push({
|
mainDataset.dataPoints.push({
|
||||||
x: payload.time - 1000 * i,
|
x: payload.time - (i*1000),
|
||||||
y: Math.round(payload.value[i]*100)/100
|
y: Math.round(payload.value[payload.value.length - i]*100)/100
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -131,4 +57,20 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
hidePowerDatasets(state) {
|
||||||
|
state.datasets.forEach(element => {
|
||||||
|
if (element.name.endsWith("_power")) {
|
||||||
|
element.visible = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
showPowerDatasets(state) {
|
||||||
|
state.datasets.forEach(element => {
|
||||||
|
if (element.name.endsWith("_power")) {
|
||||||
|
element.visible = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user