\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).\\
Toto je ďalej spracovávané vo funkcii \texttt{handlepreparation()} pomocou
\texttt{switch}. Rovnakým spôsobom sa tiež rieši veľkosť nápoja (L/S ako large
alebo small) - podľa požiadavky sa doleje voda.\\
Sila kávy je tiež trojúrovňová, najslabšiu som nazval \texttt{fakecofee()}.


\newpage
\section{Záver}

\end{document}
