Private
Public Access
1
0

playing with gauges

This commit is contained in:
Sander Roosendaal
2019-12-10 22:07:19 +01:00
parent db7c224beb
commit 557a7fa6e2
3 changed files with 136 additions and 46 deletions

View File

@@ -254,7 +254,7 @@ function copyText() {
// catchangle = ctch[Math.round(datatime)];
{% for id, metric in metrics.items %}
{{ id }}_now = {{ id }}_values[Math.round(datatime)];
// console.log(datatime,{{ id }}_now, "{{ metric.name }}")
// console.log(datatime,{{ id }},{{ id }}_now, "{{ metric.name }}")
{% endfor %}
@@ -374,11 +374,21 @@ function copyText() {
</span> {{ metric.unit }}
</li>
{% endfor %}
{% for group in metricsgroups %}
<li class="grid_2">
<div id="{{ group }}"></div>
</ul>
<ul class="main-content">
{% if 'basic' in metricsgroups %}
<li class="grid_1">
<div id="basic_spm"></div>
</li>
{% endfor %}
<li class="grid_1">
<div id="basic_boatspeed"></div>
</li>
{% endif %}
{% if 'forcepower' in metricsgroups %}
<li class="grid_1">
<div id="forcepower_power"></div>
</li>
{% endif %}
</ul>
</li>
<li class="grid_2">
@@ -394,6 +404,22 @@ function copyText() {
<script>
$(document).ready( function() {
// gauge settings
{% if workout.workouttype != 'water' %}
speedoptions.max = 7;
speedoptions.redTo = 7;
speedoptions.majorTicks = ['0','1','2','3','4','5','6','7'];
{% endif %}
{% if 'forcepower' in metricsgroups %}
poweroptions.max = {{ rower.pw_an|add:100|round100 }};
poweroptions.greenFrom = {{ rower.pw_ut2 }};
poweroptions.greenTo = {{ rower.pw_at }};
poweroptions.yellowFrom = {{ rower.pw_at }};
poweroptions.yellowTo = {{ rower.pw_an }};
poweroptions.redFrom = {{ rower.pw_an }};
poweroptions.redTo = {{ rower.pw_an|add:200|round100 }};
{% endif %}
// cookie reader
function createCookie(name,value,days) {
if (days) {

View File

@@ -121,6 +121,8 @@ def is_coach(rower,rowers):
return True
def strfdeltah(tdelta):
hours, rest = divmod(tdelta.seconds,3600)
minutes,seconds = divmod(rest,60)
@@ -762,6 +764,3 @@ def previousworkout(workout,user):
return encoder.encode_hex(ws[0].id)
else:
return 0

View File

@@ -1,12 +1,23 @@
google.charts.load('current', {'packages':['gauge']});
google.charts.setOnLoadCallback(drawSPMChart);
google.charts.setOnLoadCallback(drawSpeedChart);
google.charts.setOnLoadCallback(drawPowerChart);
var spmdata = [
['Label', 'Value'],
['SPM', 21.0],
];
var speeddata = [
['Label', 'Value'],
['V m/s', 0.0],
];
var powerdata = [
['Label','Value'],
['PWR',150],
]
var spmoptions = {
min:0, max: 50,
width: 400, height: 120,
@@ -17,17 +28,42 @@ var spmoptions = {
minorTicks: 10
};
var data = null;
var speedoptions = {
min:0, max: 6,
width: 400, height: 120,
greenFrom: 2, greenTo: 4,
yellowFrom: 4,yellowTo: 5,
redFrom: 5, redTo: 6,
majorTicks: ['0','1','2','3','4','5','6'],
minorTicks: 10
};
var poweroptions = {
min: 0, max: 1000,
width: 400, height: 120,
greenFrom: 100, greenTo: 200,
yellowFrom: 200,yellowTo: 400,
redFrom: 400, redTo: 1000,
majorTicks: ['0','200','400','600','800','1000'],
minorTicks: 5
};
var dataspm = null;
var dataspeed = null;
var spmchart = null;
var speedchart = null;
var powerchart = null;
var datapower = null;
// SPM chart
function drawSPMChart() {
data = new google.visualization.arrayToDataTable(spmdata);
dataspm = new google.visualization.arrayToDataTable(spmdata);
spmchart = new google.visualization.Gauge(document.getElementById('basic'));
spmchart = new google.visualization.Gauge(document.getElementById('basic_spm'));
// spmchart.draw(data, spmoptions);
@@ -35,8 +71,37 @@ function drawSPMChart() {
};
var spmchart;
function set_basic() {
data.setCell(0,1,spm_now);
spmchart.draw(data, spmoptions)
// Speed Chart
function drawSpeedChart() {
dataspeed = new google.visualization.arrayToDataTable(speeddata);
speedchart = new google.visualization.Gauge(document.getElementById('basic_boatspeed'));
}
// Power chart
function drawPowerChart() {
datapower = new google.visualization.arrayToDataTable(powerdata);
powerchart = new google.visualization.Gauge(document.getElementById('forcepower_power'));
}
function set_basic() {
dataspm.setCell(0,1,spm_now);
spmchart.draw(dataspm, spmoptions);
dataspeed.setCell(0,1,boatspeed_now);
speedchart.draw(dataspeed,speedoptions);
}
function set_athlete() {
}
function set_stroke() {
}
function set_forcepower() {
datapower.setCell(0,1,power_now);
powerchart.draw(datapower,poweroptions);
}