Rev 2974 Rev 2976
Line 51... Line 51...
51 Ad. 2. V pøípadì pøíjmu zprávy, která pøikazuje ukonèení procesu odpalování, se deaktivují výstupy aktivní bìhem vypouštìní a uživatel je informován o úspìšném pøerušení celé sekvence.\\ 51 Ad. 2. V pøípadì pøíjmu zprávy, která pøikazuje ukonèení procesu odpalování, se deaktivují výstupy aktivní bìhem vypouštìní a uživatel je informován o úspìšném pøerušení celé sekvence.\\
52 Ad. 3. Pro pøesné èasování bìhem celého procesu odpalování je využito funkce èasovaèe. Ten se v každém kroku odpalování sepne na urèitou dobu, která je celoèíselným násobkem celkové doby, kterou se èeká v daném kroku. Tento postup byl zvolen z toho dùvodu, aby mohla být prùbìžnì aktualizována zpráva pro uživatele vyjadøující èas, který zbývá do ukonèení daného úkolu. 52 Ad. 3. Pro pøesné èasování bìhem celého procesu odpalování je využito funkce èasovaèe. Ten se v každém kroku odpalování sepne na urèitou dobu, která je celoèíselným násobkem celkové doby, kterou se èeká v daném kroku. Tento postup byl zvolen z toho dùvodu, aby mohla být prùbìžnì aktualizována zpráva pro uživatele vyjadøující èas, který zbývá do ukonèení daného úkolu.
53 \subsubsection{Pøíjem pøíkazu od uživatele} 53 \subsubsection{Pøíjem pøíkazu od uživatele}
54 Pro komunikaci s uživatelem je využito sériové linky. Ta se využívá jak pro informování uživatele o aktuálním stavu programu tak zároveò k pøíjmu pøíkazù od uživatele. Celý algoritmus pøíjmu pøíkazu spoèívá ve vyèítání znakù zadaných uživatelem znak za znakem až do té chvíle, kdy je stisknut ENTER a nebo je pøekroèena maximální délka pøíkazu. Poté se buï zadaný pøíkaz dekóduje a následnì provede a nebo je vypsána informace, že pøíkaz nebyl rozeznán. 54 Pro komunikaci s uživatelem je využito sériové linky. Ta se využívá jak pro informování uživatele o aktuálním stavu programu tak zároveò k pøíjmu pøíkazù od uživatele. Celý algoritmus pøíjmu pøíkazu spoèívá ve vyèítání znakù zadaných uživatelem znak za znakem až do té chvíle, kdy je stisknut ENTER a nebo je pøekroèena maximální délka pøíkazu. Poté se buï zadaný pøíkaz dekóduje a následnì provede a nebo je vypsána informace, že pøíkaz nebyl rozeznán.
55 \subsubsection{Pøíjem dat z GPS modulu} 55 \subsubsection{Pøíjem dat z GPS modulu}
-   56 Posledním vláknem využívaném ve firmwaru vypouštìèe je vlákno, které se stará o pøíjem a dekódování NMEA zprávy posílané po sériové lince z GPS modulu
56 Posledním vláknem využívaném ve firmwaru vypouštìèe je vlákno, které se stará o pøíjem a dekódování NMEA zprávy posílané po sériové lince z GPS modulu \cite{GPS_ublox}. Každou vteøinu je vyèítána NMEA zpráva a z ní je vybrána GPRMC zpráva, ze které je následnì získána informace o aktuálním èase, datu a poloze stanice. Tato informace slouží jednat pro pøesné logování událostí a zároveò v budoucnu pro snadné lokalizování vypouštìcí stanice. 57 \cite{GPS_ublox}. Každou vteøinu je vyèítána NMEA zpráva a z ní je vybrána GPRMC zpráva, ze které je následnì získána informace o aktuálním èase, datu a poloze stanice. Tato informace slouží jednat pro pøesné logování událostí a zároveò v budoucnu pro snadné lokalizování vypouštìcí stanice.\subsection{Uživatelské rozhraní terminálu}
-   58 Pøi spuštìní terminálu se po resetu programu procesoru vypíše úvodní zpráva s nápovìdou, na které výstupní kontakty procesoru jsou pøipojeny jednotlivé akèní èleny. Následnì je program v pohotovostním režimu a oèekává pøíkaz. Jednotlivé pøíkazy jsou:\\
-   59 \begin{enumerate}
-   60 \item odpal
-   61 \item zrus (nebo písmeno "s")
-   62 \item help
-   63 \item check
-   64 \end{enumerate}
-   65 Pøíkaz \textbf{odpal} spustí vypouštìcí sekvenci probuzením daného vlákna pro vypouštìní. Pøíkaz \textbf{zrus} zastaví vypouštìcí sekvenci, pokud byla zahájena a indormuje o tom výpisem o ukonèení vypouštìní. Zároveò jde vypouštìní zrušit okamžitì stisknutím "s" bez nutnosti potvrzovat pøíkaz enterem. Pøíkaz \textbf{help} vypíše stejnou úvodní zprávu jako po resetu programu. Poslední pøíkaz \textbf{check} lze použít pro kontrolu stavu vypouštìèe pøed zaèátkem vypouštìní. Po zadání tohoto pøíkazu jsou na terminál vypsány informace o aktuálních stavech použitých senzorù. Lze tak napøíklad zkontrolovat, že støecha není zajištìna, nebo že je lis již spuštìn.
57   66  
58 \begin{figure}[hbtp] 67 \begin{figure}[hbtp]
59 \centering 68 \centering
60 \includegraphics[scale=0.6]{program_flow.png} 69 \includegraphics[scale=0.6]{program_flow.png}
61 \caption{Funkèní diagram firmwaru Automatického vypouštìèe} 70 \caption{Funkèní diagram firmwaru Automatického vypouštìèe}