\hypertarget{main_8h}{}\doxysection{main.\+h-\/Dateireferenz}
\label{main_8h}\index{main.h@{main.h}}


Headerdatei für \mbox{\hyperlink{main_8c}{main.\+c}}.  


{\ttfamily \#include \char`\"{}globals.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}encoder.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}functions.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}controls.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}vt100.\+h\char`\"{}}\newline
Include-\/\+Abhängigkeitsdiagramm für main.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{main_8h__incl}
\end{center}
\end{figure}
Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=237pt]{main_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Funktionen}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{main_8h_a7ce0a14b6e7779fbb2d9a05333792c41}{Init}} (void)
\begin{DoxyCompactList}\small\item\em Initialisierung aller Variablen, Timer. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{main_8h_a4472695bac138b033a3d7fcd42dd3153}{Init\+Timer}} (void)
\begin{DoxyCompactList}\small\item\em Initialsieren der Timer. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{main_8h_ab1f1ff64cfdd7f3c70e793afb9b0e3af}{Re\+Start}} (void)
\begin{DoxyCompactList}\small\item\em Initialisierung bei Reset und Power On. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{main_8h_ac0bccd022514697217eaf063b1b2c0fa}{Check\+Dah\+Paddle}} (void)
\begin{DoxyCompactList}\small\item\em Prüfen, ob das Strich Paddle betätigt wurde. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{main_8h_a7783dcd27ef486bce541c85e10131394}{Check\+Dit\+Paddle}} (void)
\begin{DoxyCompactList}\small\item\em Prüfen, ob das Punkt Paddle betätigt wurde. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{main_8h_a68bed2cd125260e9c6eb7f6f8e0c9106}{Check\+Straight\+Key}} (void)
\begin{DoxyCompactList}\small\item\em Fragt die Handtasteneingänge ab und gibt das entsprechende Symbol aus. Bei der Handtaste findet über einen Timer eine Entprellung statt. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{main_8h_a4010a7257caeca55f68c98ee199d3ea2}{Check\+Buttons}} (void)
\begin{DoxyCompactList}\small\item\em Fragt die Taster ab und löst entsprechende Funktion aus. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{main_8h_af3375f394993997701d75ee441810edc}{Set\+Frequency}} (uint16\+\_\+t f)
\begin{DoxyCompactList}\small\item\em Verändert die Frequenz des Mithörtons. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{main_8h_a1b32c84d18fc1c6d87f27cb7cb4902ba}\label{main_8h_a1b32c84d18fc1c6d87f27cb7cb4902ba}} 
void {\bfseries Dit\+Dah\+Buffers} (void)
\item 
void \mbox{\hyperlink{main_8h_a98a0b3effca8690570f5b21b4e4984f4}{Set\+Standard\+Msg}} (void)
\begin{DoxyCompactList}\small\item\em Schreibt Standardnachrichten in den EEprom Speicher wenn dieses leer ist (nach dem Flashen des Controllers) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{main_8h_a4aa7787c88a378a1f9bc76fffd95caa9}\label{main_8h_a4aa7787c88a378a1f9bc76fffd95caa9}} 
void {\bfseries Dah\+Paddle} (void)
\item 
\mbox{\Hypertarget{main_8h_a0a924fe2c35e4222859b1a8e0f2a6df9}\label{main_8h_a0a924fe2c35e4222859b1a8e0f2a6df9}} 
void {\bfseries Dit\+Paddle} (void)
\item 
void \mbox{\hyperlink{main_8h_a8e9bfd3675045369fd2f33121ad25e8e}{Read\+Msg\+EEprom}} (uint8\+\_\+t \mbox{\hyperlink{vt100_8h_af27e3188294c2df66d975b74a09c001d}{i}})
\begin{DoxyCompactList}\small\item\em Textspeicher aus EEprom lesen. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{main_8h_aed5211def004c592733d721fd1d6c186}{Serial\+Receive}} (char c)
\begin{DoxyCompactList}\small\item\em Wird vom UART Interrupt aufgerufen, wenn ein Zeichen empfangen wurde. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{main_8h_aa9e990762ad311b3582c6e7b0c4addf6}{Serial\+Reset}} (void)
\begin{DoxyCompactList}\small\item\em Löscht die Terminalanzeige und gibt Versionsinfo und Menue aus. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variablen}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structConfig}{Config}} \mbox{\hyperlink{main_8h_a8c3e2d3135447df0d9e7057fea4ff5b0}{b\+Config}}
\begin{DoxyCompactList}\small\item\em Struktur für die Einstellungen. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structMenuCtrl}{Menu\+Ctrl}} \mbox{\hyperlink{main_8h_a885b2af021946a60a0bd2a271711c17a}{b\+Menu\+Ctrl}}
\begin{DoxyCompactList}\small\item\em Struktur für die Menuesteuerung. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structState}{State}} \mbox{\hyperlink{main_8h_a44ef5c8aeac95b862dab43408c149f9a}{b\+State}}
\begin{DoxyCompactList}\small\item\em Struktur für den aktuellen Status. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structMessage}{Message}} \mbox{\hyperlink{main_8h_a29b39b8616c75ea80051354a3a8593da}{b\+Message}}
\begin{DoxyCompactList}\small\item\em Struktur für die 5 Textspeicher. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Ausführliche Beschreibung}
Headerdatei für \mbox{\hyperlink{main_8c}{main.\+c}}. 



\doxysubsection{Dokumentation der Funktionen}
\mbox{\Hypertarget{main_8h_a4010a7257caeca55f68c98ee199d3ea2}\label{main_8h_a4010a7257caeca55f68c98ee199d3ea2}} 
\index{main.h@{main.h}!CheckButtons@{CheckButtons}}
\index{CheckButtons@{CheckButtons}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{CheckButtons()}{CheckButtons()}}
{\footnotesize\ttfamily void Check\+Buttons (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Fragt die Taster ab und löst entsprechende Funktion aus. 


\begin{DoxyParams}{Parameter}
{\em none} & \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{main_8h_ac0bccd022514697217eaf063b1b2c0fa}\label{main_8h_ac0bccd022514697217eaf063b1b2c0fa}} 
\index{main.h@{main.h}!CheckDahPaddle@{CheckDahPaddle}}
\index{CheckDahPaddle@{CheckDahPaddle}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{CheckDahPaddle()}{CheckDahPaddle()}}
{\footnotesize\ttfamily void Check\+Dah\+Paddle (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Prüfen, ob das Strich Paddle betätigt wurde. 

\begin{DoxyVerb}    Ist dies der Fall, wird das Statusbit gesetzt. Wurde in den 
    Einstellungen der Reverse Mode aktiviert, werden in der 
    Abfrage die Paddle vertauscht.
\end{DoxyVerb}
 
\begin{DoxyParams}{Parameter}
{\em none} & \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{main_8h_a7783dcd27ef486bce541c85e10131394}\label{main_8h_a7783dcd27ef486bce541c85e10131394}} 
\index{main.h@{main.h}!CheckDitPaddle@{CheckDitPaddle}}
\index{CheckDitPaddle@{CheckDitPaddle}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{CheckDitPaddle()}{CheckDitPaddle()}}
{\footnotesize\ttfamily void Check\+Dit\+Paddle (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Prüfen, ob das Punkt Paddle betätigt wurde. 

\begin{DoxyVerb}    Ist dies der Fall, wird das Statusbit gesetzt.Wurde in den 
    Einstellungen der Reverse Mode aktiviert, werden in der 
    Abfrage die Paddle vertauscht.
\end{DoxyVerb}
 
\begin{DoxyParams}{Parameter}
{\em none} & \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{main_8h_a68bed2cd125260e9c6eb7f6f8e0c9106}\label{main_8h_a68bed2cd125260e9c6eb7f6f8e0c9106}} 
\index{main.h@{main.h}!CheckStraightKey@{CheckStraightKey}}
\index{CheckStraightKey@{CheckStraightKey}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{CheckStraightKey()}{CheckStraightKey()}}
{\footnotesize\ttfamily void Check\+Straight\+Key (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Fragt die Handtasteneingänge ab und gibt das entsprechende Symbol aus. Bei der Handtaste findet über einen Timer eine Entprellung statt. 


\begin{DoxyParams}{Parameter}
{\em none} & \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{main_8h_a7ce0a14b6e7779fbb2d9a05333792c41}\label{main_8h_a7ce0a14b6e7779fbb2d9a05333792c41}} 
\index{main.h@{main.h}!Init@{Init}}
\index{Init@{Init}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{Init()}{Init()}}
{\footnotesize\ttfamily void Init (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Initialisierung aller Variablen, Timer. 


\begin{DoxyParams}{Parameter}
{\em none} & \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{main_8h_a4472695bac138b033a3d7fcd42dd3153}\label{main_8h_a4472695bac138b033a3d7fcd42dd3153}} 
\index{main.h@{main.h}!InitTimer@{InitTimer}}
\index{InitTimer@{InitTimer}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{InitTimer()}{InitTimer()}}
{\footnotesize\ttfamily void Init\+Timer (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Initialsieren der Timer. 

\begin{DoxyVerb}    Alle Parameter der Timer basieren auf 16MHz Systemtakt.

    Timer 0  - 8 Bit timer für 1ms
    Timer 2  - 8 Bit timer für PWM zur Erzeugung des Sinustons
    Timer 1A - 16 Bit timer zur Erzeugung der Hüllkurve 
\end{DoxyVerb}
 
\begin{DoxyParams}{Parameter}
{\em none} & \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{main_8h_a8e9bfd3675045369fd2f33121ad25e8e}\label{main_8h_a8e9bfd3675045369fd2f33121ad25e8e}} 
\index{main.h@{main.h}!ReadMsgEEprom@{ReadMsgEEprom}}
\index{ReadMsgEEprom@{ReadMsgEEprom}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{ReadMsgEEprom()}{ReadMsgEEprom()}}
{\footnotesize\ttfamily void Read\+Msg\+EEprom (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{idx }\end{DoxyParamCaption})}



Textspeicher aus EEprom lesen. 


\begin{DoxyParams}{Parameter}
{\em Nummer} & des Textspeichers \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Rückgabe}
none 
\end{DoxyReturn}
\mbox{\Hypertarget{main_8h_ab1f1ff64cfdd7f3c70e793afb9b0e3af}\label{main_8h_ab1f1ff64cfdd7f3c70e793afb9b0e3af}} 
\index{main.h@{main.h}!ReStart@{ReStart}}
\index{ReStart@{ReStart}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{ReStart()}{ReStart()}}
{\footnotesize\ttfamily void Re\+Start (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Initialisierung bei Reset und Power On. 


\begin{DoxyParams}{Parameter}
{\em none} & \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{main_8h_aed5211def004c592733d721fd1d6c186}\label{main_8h_aed5211def004c592733d721fd1d6c186}} 
\index{main.h@{main.h}!SerialReceive@{SerialReceive}}
\index{SerialReceive@{SerialReceive}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{SerialReceive()}{SerialReceive()}}
{\footnotesize\ttfamily void Serial\+Receive (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})}



Wird vom UART Interrupt aufgerufen, wenn ein Zeichen empfangen wurde. 


\begin{DoxyParams}{Parameter}
{\em c} & Zeichen, das empfangen wurde \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{main_8h_aa9e990762ad311b3582c6e7b0c4addf6}\label{main_8h_aa9e990762ad311b3582c6e7b0c4addf6}} 
\index{main.h@{main.h}!SerialReset@{SerialReset}}
\index{SerialReset@{SerialReset}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{SerialReset()}{SerialReset()}}
{\footnotesize\ttfamily void Serial\+Reset (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Löscht die Terminalanzeige und gibt Versionsinfo und Menue aus. 


\begin{DoxyParams}{Parameter}
{\em none} & \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{main_8h_af3375f394993997701d75ee441810edc}\label{main_8h_af3375f394993997701d75ee441810edc}} 
\index{main.h@{main.h}!SetFrequency@{SetFrequency}}
\index{SetFrequency@{SetFrequency}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{SetFrequency()}{SetFrequency()}}
{\footnotesize\ttfamily void Set\+Frequency (\begin{DoxyParamCaption}\item[{uint16\+\_\+t}]{f }\end{DoxyParamCaption})}



Verändert die Frequenz des Mithörtons. 

\begin{DoxyVerb}    Durch die Anpassung des Timers 1 für das 
    Laden der Werte der Sinuskurve wird die 
    Tonhöhe des Mithörtons verändert.
\end{DoxyVerb}
 
\begin{DoxyParams}{Parameter}
{\em f} & Frequenz des Mithörtons in Hz \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{main_8h_a98a0b3effca8690570f5b21b4e4984f4}\label{main_8h_a98a0b3effca8690570f5b21b4e4984f4}} 
\index{main.h@{main.h}!SetStandardMsg@{SetStandardMsg}}
\index{SetStandardMsg@{SetStandardMsg}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{SetStandardMsg()}{SetStandardMsg()}}
{\footnotesize\ttfamily Set\+Standard\+Msg (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Schreibt Standardnachrichten in den EEprom Speicher wenn dieses leer ist (nach dem Flashen des Controllers) 


\begin{DoxyParams}{Parameter}
{\em none} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Rückgabe}
none 
\end{DoxyReturn}


\doxysubsection{Variablen-\/\+Dokumentation}
\mbox{\Hypertarget{main_8h_a8c3e2d3135447df0d9e7057fea4ff5b0}\label{main_8h_a8c3e2d3135447df0d9e7057fea4ff5b0}} 
\index{main.h@{main.h}!bConfig@{bConfig}}
\index{bConfig@{bConfig}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{bConfig}{bConfig}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structConfig}{Config}} b\+Config}



Struktur für die Einstellungen. 

\mbox{\Hypertarget{main_8h_a885b2af021946a60a0bd2a271711c17a}\label{main_8h_a885b2af021946a60a0bd2a271711c17a}} 
\index{main.h@{main.h}!bMenuCtrl@{bMenuCtrl}}
\index{bMenuCtrl@{bMenuCtrl}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{bMenuCtrl}{bMenuCtrl}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structMenuCtrl}{Menu\+Ctrl}} b\+Menu\+Ctrl}



Struktur für die Menuesteuerung. 

\mbox{\Hypertarget{main_8h_a29b39b8616c75ea80051354a3a8593da}\label{main_8h_a29b39b8616c75ea80051354a3a8593da}} 
\index{main.h@{main.h}!bMessage@{bMessage}}
\index{bMessage@{bMessage}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{bMessage}{bMessage}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structMessage}{Message}} b\+Message}



Struktur für die 5 Textspeicher. 

\mbox{\Hypertarget{main_8h_a44ef5c8aeac95b862dab43408c149f9a}\label{main_8h_a44ef5c8aeac95b862dab43408c149f9a}} 
\index{main.h@{main.h}!bState@{bState}}
\index{bState@{bState}!main.h@{main.h}}
\doxysubsubsection{\texorpdfstring{bState}{bState}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structState}{State}} b\+State}



Struktur für den aktuellen Status. 

