diff options
Diffstat (limited to 'foris/templates')
-rw-r--r-- | foris/templates/i2c_collect/i2c_collect.tpl | 33 | ||||
-rw-r--r-- | foris/templates/javascript/i2c_collect/i2c_collect.js.tpl | 78 |
2 files changed, 111 insertions, 0 deletions
diff --git a/foris/templates/i2c_collect/i2c_collect.tpl b/foris/templates/i2c_collect/i2c_collect.tpl new file mode 100644 index 0000000..12226a5 --- /dev/null +++ b/foris/templates/i2c_collect/i2c_collect.tpl @@ -0,0 +1,33 @@ + +%rebase("config/base.tpl", **locals()) + +<div id="page-i2c-collect" class="config-page"> +%include("_messages.tpl") + <div id="canvas-container"> +%for fld in ["voltage", "light", "temperature", "trimmer"]: + <canvas id="canvas-{{ fld }}"></canvas> +%end + </div> +</div> + + +<script> +var graph_data = { +%for fld in ["voltage", "light", "temperature", "trimmer"]: + "{{ fld }}": [ +% for _, val in enumerate(data[fld]): + {{ val[1] }}, +% end + ], +%end +}; +var graph_labels = { +%for fld in ["voltage", "light", "temperature", "trimmer"]: + "{{ fld }}": [ +% for _, val in enumerate(data[fld]): + "{{ val[0] }}", +% end + ], +%end +}; +</script> diff --git a/foris/templates/javascript/i2c_collect/i2c_collect.js.tpl b/foris/templates/javascript/i2c_collect/i2c_collect.js.tpl new file mode 100644 index 0000000..0ca8108 --- /dev/null +++ b/foris/templates/javascript/i2c_collect/i2c_collect.js.tpl @@ -0,0 +1,78 @@ +function graph_init(field) { + var graph_config = { + type: 'line', + data: { + labels: graph_labels[field], + datasets: [ + { + label: field, + data: graph_data[field], + }, + ], + fill: false, + steppedLine: false, + }, + options: { + responsive: true, + title: { + display:true, + text:'{{ trans("Sample") }}' + }, + tooltips: { + mode: 'index', + intersect: false, + }, + hover: { + mode: 'nearest', + intersect: true + }, + scales: { + xAxes: [{ + display: true, + scaleLabel: { + display: true, + labelString: '{{ trans("Time") }}' + } + }], + yAxes: [{ + display: true, + scaleLabel: { + display: true, + labelString: '{{ trans("Value") }}' + } + }], + }, + }, + }; + if (field == "voltage") { + graph_config.options.scales.yAxes[0].ticks = { min: 10, max: 15 } + } else if (field == "light" || field == "temperature") { + graph_config.options.scales.yAxes[0].ticks = { min: 0, max: 250 } + } else if (field == "light" || field == "temperature") { + graph_config.options.scales.yAxes[0].ticks = { min: 0, max: 100 } + } + var graph_ctx = document.getElementById("canvas-" + field).getContext("2d"); + Foris.lineChart[field] = new Chart(graph_ctx, graph_config); + Foris.lineChartData[field] = graph_config.data; +} + +$(document).ready(function() { + Foris.lineChart = []; + Foris.lineChartData = []; + graph_init("voltage"); + graph_init("light"); + graph_init("temperature"); + graph_init("trimmer"); +}); + +/* +Foris.WS["i2c-collect"] = function (data) { + for (d in data) { + Foris.lineChartData[d].datasets[0].data.push(data[d][0]); + Foris.lineChartData[d].datasets[0].data.shift(); + Foris.lineChartData[d].labels.push(data[d][1]); + Foris.lineChartData[d].labels.shift(); + Foris.lineChart[d].update(); + } +}; +*/ |