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