diff --git a/src/widget/widget-plot/plot-legend.js b/src/widget/widget-plot/plot-legend.js
index f3f4cd6..5ac618c 100644
--- a/src/widget/widget-plot/plot-legend.js
+++ b/src/widget/widget-plot/plot-legend.js
@@ -27,7 +27,7 @@ class PlotLegend extends React.Component {
{this.props.signals.map(signal =>
-
- {signal.name}
+ {signal.name + "(x" + signal.scalingFactor + ")"}
{signal.unit}
)}
diff --git a/src/widget/widgets/lamp.js b/src/widget/widgets/lamp.js
index 939caed..c0ca9a0 100644
--- a/src/widget/widgets/lamp.js
+++ b/src/widget/widgets/lamp.js
@@ -49,8 +49,8 @@ class WidgetLamp extends Component {
// check if value has changed
const data = props.data[icID].output.values[signal[0].index-1];
- if (data != null && Number(state.value) !== data[data.length - 1].y) {
- return { value: data[data.length - 1].y };
+ if (data != null && Number(state.value) !== signal[0].scalingFactor * data[data.length - 1].y) {
+ return { value: signal[0].scalingFactor * data[data.length - 1].y };
}
return null;
diff --git a/src/widget/widgets/plot.js b/src/widget/widgets/plot.js
index 20245e2..e87e7d1 100644
--- a/src/widget/widgets/plot.js
+++ b/src/widget/widgets/plot.js
@@ -49,13 +49,31 @@ class WidgetPlot extends React.Component {
if (sig.direction === "out") {
if (props.data[icID] != null && props.data[icID].output != null && props.data[icID].output.values != null) {
if (props.data[icID].output.values[sig.index-1] !== undefined) {
- data.push(props.data[icID].output.values[sig.index-1]);
+ let values = props.data[icID].output.values[sig.index-1];
+ if(sig.scalingFactor !== 1) {
+ let scaledValues = JSON.parse(JSON.stringify(values));
+ for (let i=0; i< scaledValues.length; i++){
+ scaledValues[i].y = scaledValues[i].y * sig.scalingFactor;
+ }
+ data.push(scaledValues);
+ } else {
+ data.push(values);
+ }
}
}
} else if (sig.direction === "in") {
if (props.data[icID] != null && props.data[icID].input != null && props.data[icID].input.values != null) {
if (props.data[icID].input.values[sig.index-1] !== undefined) {
- data.push(props.data[icID].input.values[sig.index-1]);
+ let values = props.data[icID].output.values[sig.index-1];
+ if(sig.scalingFactor !== 1) {
+ let scaledValues = JSON.parse(JSON.stringify(values));
+ for (let i=0; i< scaledValues.length; i++){
+ scaledValues[i].y = scaledValues[i].y * sig.scalingFactor;
+ }
+ data.push(scaledValues);
+ } else {
+ data.push(values);
+ }
}
}
}
@@ -67,6 +85,11 @@ class WidgetPlot extends React.Component {
}
+
+ scaleData(data, scaleFactor){
+ // data is an array of value pairs x,y
+ }
+
render() {
return