Osobiście uważam, że Ambity 3 są naprawdę świetne, ale niestety Suunto okropnie dało ciała i już od poprzedniej wersji Movescount na Androida nie da się zaprogramować w ludzki sposób interwałów. Wielki wstyd ale co zrobić... Bieganie z kartką papieru nie wchodzi w rachubę, więc opracowałem sobie inną metodę, czym się z Wami dzielę. Sposób nie jest tak piękny jak tworzony Movescountem, ale działa i ma swoje zalety
Interwały mają strukturę:
+ Rozgrzewka (WarmUp)
- pętla n-razy
-- wolniej (Recovery)
-- szybciej (Interval)
+ Schłodzenie (CoolDown)
Poniższy kod należy skopiować, wstawić jako Aplikacja Suunto a w niej utworzyć poniższe zmienne:
- TROZGRZ
TSCHLODZ
POWTORZEN
TFIRSTINT
TSECINT
PAIRLAP
TARGETSEC
TARGETMIN
Oczywiście by zmienić schemat treningu należy poustawiać parametry pod siebie (na początku kodu programu).
Użycie:
Rozpoczynamy trening wciskając przycisk "Start". Ruszy licznik czasu liczony w kilerunku zera.
Po zakończeniu każdego odcinka czasowego (czy to rozgrzewka czy interwał), zegarek pipa aż do skutku, a więc zaczynamy następny interwał wciskając LAP. Ostatni odcinek to schłodzenie (oznaczony CD) a po nim będzie napisane STOP, choć możliwe jest kolejne wciskanie LAP, by mieć kolejne odcinki - będzie liczony czas w przód.
Każdy wiersz kodu opatrzony komentarzem, więc nie powinno być problemów ze zrozumieniem znaczenia.
Kod: Zaznacz cały
/* by Arti_ */
/* Struktura treningu: */
/* ROZGRZEWKA WU */
/* -- poczatek petli powtorzen */
/* - INTERWAL WOLNIEJ, strefa zielona REC */
/* - INTERWAL SZYBKO, strefa zolta INT */
/* -- koniec petli powtorzen */
/* SCHLODZENIE CD */
/* format wyswietlacza: "TIME" */
/* czas rozgrzewki w sekundach, WU - WarmUp */
TROZGRZ = 300;
/* czas schlodzenia w sekundach, CoolDown - CD */
TSCHLODZ = 300;
/* ilosc par powtorzen interwalow (bez rozgrzewki i wychlodzenia) */
/* para to bieg wolniejszy (REC) i bieg szybki (INT) */
POWTORZEN = 15;
/* czas pierwszego kroku interwalow w sekundach, zazwyczaj zielona strefa lub trzecia, Recovery - REC */
TFIRSTINT = 60;
/* czas drugiego kroku interwalow w sekundach, zazwyczaj zolta strefa lub czwarta, Interval - INT */
TSECINT = 60;
/* =============== petla glowna =============== */
if (SUUNTO_LAP_NUMBER == 0) { /* trening nie ruszył */
prefix = "STOP";
postfix = "";
RESULT = 0; }
else { /* czyli trening ruszył */
if (SUUNTO_LAP_NUMBER == 1) { /* Lap 1 to rozgrzewka (WarmUp - WU) */
prefix = "WU ";
postfix = "s";
/* w nawiasie wyliczneia dla formatu wyświetlacza 2 decimals */
/*TARGETSEC = Suunto.mod(TROZGRZ - SUUNTO_LAP_DURATION, 60); */
/*TARGETMIN = (TROZGRZ - SUUNTO_LAP_DURATION - TARGETSEC) / 60; */
/*RESULT = TARGETMIN + TARGETSEC/100; */
RESULT = TROZGRZ - SUUNTO_LAP_DURATION; }
else { /* jestesmy po rozgrzewce, mamy interwały lub */
/* schłodzenie, a może już po zakończeniu treningu??? */
if (SUUNTO_LAP_NUMBER == POWTORZEN * 2 + 2) { /* jest to schłozenie po interwalach, (CoolDown - CD) */
prefix = "CD ";
postfix = "s";
/* w nawiasie wyliczneia dla formatu wyświetlacza 2 decimals */
/* TARGETSEC = Suunto.mod(TSCHLODZ - SUUNTO_LAP_DURATION, 60); */
/* TARGETMIN = (TSCHLODZ - SUUNTO_LAP_DURATION - TARGETSEC) / 60; */
/* RESULT = TARGETMIN + TARGETSEC/100; */
RESULT = TSCHLODZ - SUUNTO_LAP_DURATION; }
else { /* a moze to juz po calym treningu (czyli po schlodzeniu tez)? */
if (SUUNTO_LAP_NUMBER > POWTORZEN * 2 + 2) { /* zdecydowanie po calym treningu */
prefix = "STOP";
postfix = "";
/* RESULT = 0; */ /* mozna zero */
RESULT = SUUNTO_LAP_DURATION; } /* ale mozna czas tego lapa... */
else { /* jednak nie jest to schlodzenie */
/* ale czy jest to interwal parzysty czy nieparzysty (licząc od początku!) */
PAIRLAP = SUUNTO_LAP_NUMBER - Suunto.round(SUUNTO_LAP_NUMBER / 2) * 2;
if (PAIRLAP == 0) { /* interwal odpoczynkowy - REC */
prefix = "REC ";
postfix = "s";
/* w nawiasie wyliczneia dla formatu wyświetlacza 2 decimals */
/* TARGETSEC = Suunto.mod(TFIRSTINT - SUUNTO_LAP_DURATION, 60); */
/* TARGETMIN = (TFIRSTINT - SUUNTO_LAP_DURATION - TARGETSEC) / 60; */
/* RESULT = TARGETMIN + TARGETSEC/100; */
RESULT = TFIRSTINT - SUUNTO_LAP_DURATION; }
else { /* interwal wysilkowy - INT */
prefix = "INT ";
postfix = "s";
/* w nawiasie wyliczneia dla formatu wyświetlacza 2 decimals */
/* TARGETSEC = Suunto.mod(TSECINT - SUUNTO_LAP_DURATION, 60); */
/* TARGETMIN = (TSECINT - SUUNTO_LAP_DURATION - TARGETSEC) / 60; */
/* RESULT = TARGETMIN + TARGETSEC/100; */
RESULT = TSECINT - SUUNTO_LAP_DURATION; }}}
}
if (RESULT < 0) { /* licznik czasu sie skonczyl, czyli alarmujemy, */
RESULT = 0 ; /* ze należy rozpoczac nastepny interwal */
Suunto.alarmBeep(); }
}
Pozdrawiam