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 vypoutìní a uivatel je informován o úspìném pøeruení 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 vypoutìní a uivatel je informován o úspìném pøeruení celé sekvence.\\ |
52 |
Ad. 3. Pro pøesné èasování bìhem celého procesu odpalování je vyuito funkce èasovaèe. Ten se v kadé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 uivatele 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 vyuito funkce èasovaèe. Ten se v kadé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 uivatele vyjadøující èas, který zbývá do ukonèení daného úkolu. |
53 |
\subsubsection{Pøíjem pøíkazu od uivatele} |
53 |
\subsubsection{Pøíjem pøíkazu od uivatele} |
54 |
Pro komunikaci s uivatelem je vyuito sériové linky. Ta se vyuívá jak pro informování uivatele o aktuálním stavu programu tak zároveò k pøíjmu pøíkazù od uivatele. Celý algoritmus pøíjmu pøíkazu spoèívá ve vyèítání znakù zadaných uivatelem 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 uivatelem je vyuito sériové linky. Ta se vyuívá jak pro informování uivatele o aktuálním stavu programu tak zároveò k pøíjmu pøíkazù od uivatele. Celý algoritmus pøíjmu pøíkazu spoèívá ve vyèítání znakù zadaných uivatelem 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 vypoutìè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 vypoutìè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}. Kadou 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í vypoutìcí stanice. |
57 |
\cite{GPS_ublox}. Kadou 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í vypoutìcí stanice.\subsection{Uivatelské rozhraní terminálu} |
- |
|
58 |
Pøi sputì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 reimu 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í vypoutìcí sekvenci probuzením daného vlákna pro vypoutìní. Pøíkaz \textbf{zrus} zastaví vypoutìcí sekvenci, pokud byla zahájena a indormuje o tom výpisem o ukonèení vypoutìní. Zároveò jde vypoutìní zruit okamitì 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 vypoutìèe pøed zaèátkem vypoutìní. Po zadání tohoto pøíkazu jsou na terminál vypsány informace o aktuálních stavech pouitých senzorù. Lze tak napøíklad zkontrolovat, e støecha není zajitìna, nebo e je lis ji sputì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 vypoutìèe} |
70 |
\caption{Funkèní diagram firmwaru Automatického vypoutìèe} |