97 lines
2.8 KiB
TeX
97 lines
2.8 KiB
TeX
\documentclass[]{scrartcl}
|
||
\usepackage{geometry}
|
||
\geometry{
|
||
a4paper,
|
||
top=18mm,
|
||
bottom=19mm,
|
||
}
|
||
\usepackage[utf8]{inputenc}
|
||
\usepackage[T1]{fontenc}
|
||
\usepackage[pdftex,pdfa,hidelinks,breaklinks]{hyperref}
|
||
\usepackage{url}
|
||
\usepackage[affil-it]{authblk}
|
||
|
||
|
||
\date{\today}
|
||
|
||
\title{Discrete i/o - coffee machine model}
|
||
\author{A. Mirre}
|
||
|
||
\begin{document}
|
||
\affil{FAI UTB ve Zlíně, Softwarové inženýrství (SWI)}
|
||
|
||
\maketitle
|
||
\renewcommand{\contentsname}{Obsah}
|
||
\tableofcontents
|
||
|
||
\newpage
|
||
|
||
\section*{Zadanie}
|
||
\addcontentsline{toc}{section}{Zadání}
|
||
|
||
\begin{enumerate}
|
||
\item Vytvorte program s využitím modelu práčky alebo miesiacej jednotky
|
||
\begin{enumerate}
|
||
\item využite všetky vstupy a výstupy modelu
|
||
\item program bude mat sekvenčné správanie
|
||
\item program by mal využívať displej
|
||
\item kód by mal byť zrozumiteľný
|
||
\end{enumerate}
|
||
\end{enumerate}
|
||
|
||
\subsection{Zdrojové kódy}
|
||
Kód programu je dostupný v git repozitári na adrese:\\
|
||
\url{https://git.dotya.ml/wanderer/proj_pls}\\
|
||
Kód dokumentácie je dostupný v git repozitári na adrese:\\
|
||
\url{https://git.dotya.ml/wanderer/proj_pls-docs}
|
||
|
||
\subsection{Disclaimer}
|
||
Nakoľko nemám k dispozícii vývojovú dosku, mojím jediným overením je v podstate
|
||
len základná syntaktická kontrola kódu pri preklade (po vzore KDS som si
|
||
vytvoril Makefile na zjednodušenie života).
|
||
|
||
\newpage
|
||
|
||
\section{Stavy programu}
|
||
Keďže je program riadený na základe aktuálneho stavu, musel som si ich
|
||
definovať.\\
|
||
Logicky som si rozčlenil beh na tieto hlavné stavy:
|
||
\begin{itemize}
|
||
\item WAITING
|
||
\item PREPARATION
|
||
\item TANKFILLING
|
||
\item MIXING
|
||
\item SERVING
|
||
\end{itemize}
|
||
|
||
\subsection{WAITING}
|
||
Program v stave WAITING čaká na vstupy - stlačenia tlačidiel.\\
|
||
V tomto stave sa spracováva stlačenie tlačidla cukru, ktoré prepínaním stavu\\
|
||
HOWMUCHSUGAR nastavuje hodnoty hladiny cukru od málo po veľa cukru (4 úrovne)
|
||
(nestlačenie tohto tlačidla znamená, že nápoj bude bez cukru).\\
|
||
|
||
\subsection{PREPARATION}
|
||
Vyššie spomenuté je ďalej spracovávané vo funkcii \texttt{handlepreparation()} pomocou
|
||
troch \texttt{switch}-ov - a to pre množstvo cukru, silu aj veľkosť kávového
|
||
nápoja.\\
|
||
Úrovne cukru: nič, trocha, viac alebo najviac.\\
|
||
Úrovne sily kávy: WEAK, MED, STRONG.\\
|
||
Úrovne veľkosti kávy: (L/S ako large alebo small)\\
|
||
\\
|
||
Keď v \texttt{switch}-i vyhodnotíme používateľskú voľbu, voláme vlastné funkcie,
|
||
kde sa sleduje, či na pinoch pripojených na senzor evidujeme, čo chceme (alias sypeme
|
||
cukor \textit{po} úroveň, dolejeme do ďalšej nádrže vodu po nejakú úroveň, do
|
||
ďalšej nádrže (TANK) dosypeme kávový koncentrát po stanovenú úroveň.
|
||
|
||
\subsection{TANKFILLING}
|
||
|
||
\subsection{MIXING}
|
||
|
||
\subsection{SERVING}
|
||
|
||
|
||
\newpage
|
||
\section{Záver}
|
||
|
||
\end{document}
|