Posté par ClemV Le 10 novembre 2015 à 23:16
Hello,
Je me suis pas mal inspiré de vos posts au moment de créer mes premières apps.
Donc je trouvais normal de faire un petit retour et de faire bénéficier ceux qui se posaient la même question que moi d’une petite astuce de codage que j’ai trouvé pour finir l’échauffement à n’importe quel moment par un appui sur « LAP ».
Voilà mon application pour faire du fractionné « Temps / Temps », avec un échauffement qui se termine par appui sur LAP, puis le fractionné proprement dit, puis un retour au calme :
/*
Application pour faire du fractionné.
Les séries commencent lors de la fin de l’échauffement à l’appui sur le bouton LAP.
Variables paramétrables à déclarer :
TargetSerie = Nombre de séries.
TargetRepetition = Nombre de répétitions par série.
FastDuration = Durée des répétitions rapides (en secondes).
MinFastSpeed = Vitesse minimum pendant les répétitions rapides (en mètres/heure).
SlowDuration = Distance de récup entre deux répétition (en secondes).
RestDuration = Durée du repos entre deux séries (en secondes).
CoolDuration = Durée du retour au calme à la fin des séries (en secondes).
Variables de fonctionnement de l’app à déclarer aussi :
Cursor = 0 Résultat affiché : 0 pour les phases lentes, 1 pour les phases rapides.
TmpDuration = 0 Enregistrement temporaire de la durée
TmpDistance = 0 Enregistrement temporaire de la distance
WarmUpCompleted = 0 Marqueur de fin de l’échauffement
Serie = 0 Compteur des séries réalisées
Repetition = 0 Compteur des répétitions réalisées
*/
/* While in sport mode do this once per second */
RESULT = Cursor;
if (SUUNTO_LAP_NUMBER =2 && WarmUpCompleted==0) {
TmpDistance = SUUNTO_DISTANCE;
TmpDuration = SUUNTO_DURATION;
Cursor=1;
WarmUpCompleted = 1;
}
else if (SUUNTO_LAP_NUMBER>=2 && WarmUpCompleted==1) {
if (Serie < TargetSerie) {
if (Repetition < TargetRepetition) {
if (Cursor==1) {
postfix = "FAST";
if (SUUNTO_SPEED = FastDuration) {
Suunto.alarmBeep();
TmpDuration=SUUNTO_DURATION;
TmpDistance=SUUNTO_DISTANCE;
Cursor=0;
}
}
else if (Cursor==0 && Repetition SlowDuration) {
Suunto.alarmBeep();
TmpDuration=SUUNTO_DURATION;
TmpDistance=SUUNTO_DISTANCE;
Repetition=Repetition+1;
Cursor=1;
}
}
else if (Cursor==0 && Repetition == TargetRepetition-1) {
postfix= »SLOW »;
if (SUUNTO_DURATION – TmpDuration > SlowDuration) {
Suunto.alarmBeep();
TmpDuration=SUUNTO_DURATION;
TmpDistance=SUUNTO_DISTANCE;
Repetition=Repetition+1;
}
}
}
else if (Repetition == TargetRepetition && Serie RestDuration) {
Suunto.alarmBeep();
TmpDistance=SUUNTO_DISTANCE;
TmpDuration=SUUNTO_DURATION;
Repetition = 0;
Serie=Serie+1;
Cursor=1;
}
}
else if (Repetition == TargetRepetition && Serie == TargetSerie-1) {
postfix= »COOL »;
TmpDistance=SUUNTO_DISTANCE;
TmpDuration=SUUNTO_DURATION;
Cursor=0;
Serie = Serie+1;
}
}
else if (Serie == TargetSerie) {
postfix= »COOL »;
Cursor=0;
if (SUUNTO_DURATION – TmpDuration > CoolDuration) {
Suunto.alarmBeep();
Serie=Serie+1;
}
}
else if (Serie > TargetSerie) {
postfix= »STOP »;
Cursor=0;
}
}