proj_pls-docs/Discr_io-coffee_machine_model-docs-A5MPC_proj_01.tex

97 lines
2.8 KiB
TeX
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\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}