aboutsummaryrefslogtreecommitdiff
path: root/assets/js/pedometer.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js/pedometer.js')
-rw-r--r--assets/js/pedometer.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/assets/js/pedometer.js b/assets/js/pedometer.js
new file mode 100644
index 0000000..53079a9
--- /dev/null
+++ b/assets/js/pedometer.js
@@ -0,0 +1,73 @@
+$(document).ready(function(){
+
+console.log("print");
+
+//on déclare l'ensemble des variables ax et ay sont les données d'acceleration, n c'est la norme, maxn et minn les valeurs max et min de la norme, et pas le nombre de pas
+var n=0, maxn = 0, minn = 0, pas = 0,
+ ax = 0, ay = 0, az = 0, pass=0;
+
+//programme d'alberto desarullo qui va chercher les données de l'accelerometre
+if (window.DeviceMotionEvent != undefined) {
+ window.ondevicemotion = function(e) {
+ ax = event.accelerationIncludingGravity.x ;
+ ay = event.accelerationIncludingGravity.y ;
+ az = event.accelerationIncludingGravity.z ;
+// et les affiche dans la page html
+ document.getElementById("accelerationX").innerHTML = e.accelerationIncludingGravity.x;
+ document.getElementById("accelerationY").innerHTML = e.accelerationIncludingGravity.y;
+ document.getElementById("accelerationZ").innerHTML = e.accelerationIncludingGravity.z;
+// on affiche également la norme sa valeur max et le nombre de pas
+ document.getElementById("n").innerHTML = n;
+ document.getElementById("pas").innerHTML = pas;
+ document.getElementById("maxn").innerHTML = maxn;
+
+ }
+
+
+ var ev = new Event("requestMove");
+
+ function pollAccelerometer() {
+ setInterval( function() {
+
+ // on calcule la norme c'est à dire la taille du vecteur qui est défini par les points d'accélération ax ay et az
+ n0 = n;
+ n=Math.sqrt (ax*ax + ay*ay + az*az);
+ // console.log(n);
+
+ //on calcule un min et max pour la norme
+ if (n < n0) { minn = n ;
+ }else if (n > n0) { maxn = n ;
+ }
+
+ // console.log(maxn);
+
+ //on défini un seuil qui correspond à un pas
+ if ((maxn - minn) > 10) {pas = pas+1;
+
+ }
+
+
+ if (pas>10) {
+ // console.log(pas);
+ document.dispatchEvent(ev);
+ }
+ pas++;
+ // on vérifie cela chaque 250 milisecondes
+ }, 350);
+ }
+
+//function mockAccelerometer() {
+// setInterval( function() {
+// console.log(pas);
+// if (pas===100) {
+// document.dispatchEvent(ev);
+// }
+// pas++;
+// },1000);
+//}
+
+
+pollAccelerometer();
+}
+});
+