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(); +	} +}; +*/  | 
