\hypertarget{controls_8h}{}\doxysection{controls.\+h-\/Dateireferenz}
\label{controls_8h}\index{controls.h@{controls.h}}


Headerdatei für \mbox{\hyperlink{controls_8c}{controls.\+c}}.  


{\ttfamily \#include \char`\"{}globals.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}encoder.\+h\char`\"{}}\newline
Include-\/\+Abhängigkeitsdiagramm für controls.\+h\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{controls_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=268pt]{controls_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Funktionen}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{controls_8h_a0366eaeb4aab61562dcd5b24994d0103}{Boop}} (void)
\begin{DoxyCompactList}\small\item\em Boop Ton ausgeben. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{controls_8h_a2f616a93763b4bc437c4311d653c0491}{Beep}} (void)
\begin{DoxyCompactList}\small\item\em Beep Ton ausgeben. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{controls_8h_a586bc00ad3164def7ec76ac9bda4f1bc}{Write\+EEprom}} (void)
\begin{DoxyCompactList}\small\item\em Akt. Einstellungen in EEPROM schreiben. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{controls_8h_a543d0f249e5b505063a706525f99ff3a}\label{controls_8h_a543d0f249e5b505063a706525f99ff3a}} 
void {\bfseries Side\+Tone\+Off} (void)
\item 
void \mbox{\hyperlink{controls_8h_a4e03330a0d63dbc5c8c0ce8a3ba10ff7}{Delay\+Milli\+Seconds}} (uint16\+\_\+t t)
\begin{DoxyCompactList}\small\item\em Zeitschleife von 1-\/65535 Millisekunden. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{controls_8h_a378d56bf0e68310b700bd4dbdc652803}{Tone}} (uint16\+\_\+t f, uint8\+\_\+t t)
\begin{DoxyCompactList}\small\item\em Ausgabe eines Tons mit Dauer und Frequenz. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{controls_8h_aa0e063cf32b840a3ed51ae9aa677e2be}{Set\+Ratio}} (void)
\begin{DoxyCompactList}\small\item\em Berechnung der Zeitdauer für Punkt und Strich. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{controls_8h_a7a31f60576d112eca1abddf447df8248}\label{controls_8h_a7a31f60576d112eca1abddf447df8248}} 
void {\bfseries Set\+Weight} (void)
\item 
void \mbox{\hyperlink{controls_8h_ae8011166e9324f9f3c6948249eb15fd1}{Sidetone\+Disable}} (void)
\begin{DoxyCompactList}\small\item\em Audioverstärker abschalten. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{controls_8h_a60f2f041b0803584ba5fc2e0a373ed50}{Sidetone\+Enable}} (void)
\begin{DoxyCompactList}\small\item\em Audioverstärker einschalten. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{controls_8h_ad82537f7ea58b4eb375952ce52615c4d}{Sidetone\+Off}} (void)
\begin{DoxyCompactList}\small\item\em Mithörton ausschalten. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{controls_8h_ac6dc8b683fdf1a5fc24b2a509279f887}{Drehencoder}} (void)
\begin{DoxyCompactList}\small\item\em Mit dieser Funktion wird per Polling der Drehencoder abgefragt. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{controls_8h_a582148370499a6b91171ed6134cc7041}{Config\+Menue}} (void)
\begin{DoxyCompactList}\small\item\em Ausgabe des Menues für die Einstellungen. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{controls_8h_ace58ee95637a8f220527dc8b20dbb662}{Update\+Display}} (void)
\begin{DoxyCompactList}\small\item\em Update\+Display. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{controls_8h_a9dec45875121142b6466b9475691b40a}{Display\+Version}} (void)
\begin{DoxyCompactList}\small\item\em Ausgabe der Softwareversion des BJ-\/\+Keyers. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variablen}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structConfig}{Config}} \mbox{\hyperlink{controls_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{controls_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{controls_8h_a44ef5c8aeac95b862dab43408c149f9a}{b\+State}}
\begin{DoxyCompactList}\small\item\em Struktur für den aktuellen Status. \end{DoxyCompactList}\item 
uint16\+\_\+t \mbox{\hyperlink{controls_8h_a088c685d08447f6614b3aea76cd94582}{Menu\+Ctrl\+Timer}}
\begin{DoxyCompactList}\small\item\em Wartezeit bis zur Betriebsanzeige nach \mbox{\hyperlink{structConfig}{Config}}. \end{DoxyCompactList}\item 
uint8\+\_\+t \mbox{\hyperlink{controls_8h_a28fa6cb1767abefbe9c197700410d946}{WpM}}
\begin{DoxyCompactList}\small\item\em Aktuelle Zeichengeschwindigkeit. \end{DoxyCompactList}\end{DoxyCompactItemize}


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

\begin{DoxyAuthor}{Autor}
Tom, DL7\+BJ 
\end{DoxyAuthor}


\doxysubsection{Dokumentation der Funktionen}
\mbox{\Hypertarget{controls_8h_a2f616a93763b4bc437c4311d653c0491}\label{controls_8h_a2f616a93763b4bc437c4311d653c0491}} 
\index{controls.h@{controls.h}!Beep@{Beep}}
\index{Beep@{Beep}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{Beep()}{Beep()}}
{\footnotesize\ttfamily void Beep (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Beep Ton ausgeben. 


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

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



Boop Ton ausgeben. 


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

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{controls_8h_a582148370499a6b91171ed6134cc7041}\label{controls_8h_a582148370499a6b91171ed6134cc7041}} 
\index{controls.h@{controls.h}!ConfigMenue@{ConfigMenue}}
\index{ConfigMenue@{ConfigMenue}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{ConfigMenue()}{ConfigMenue()}}
{\footnotesize\ttfamily void Config\+Menue (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Ausgabe des Menues für die Einstellungen. 


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

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{controls_8h_a4e03330a0d63dbc5c8c0ce8a3ba10ff7}\label{controls_8h_a4e03330a0d63dbc5c8c0ce8a3ba10ff7}} 
\index{controls.h@{controls.h}!DelayMilliSeconds@{DelayMilliSeconds}}
\index{DelayMilliSeconds@{DelayMilliSeconds}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{DelayMilliSeconds()}{DelayMilliSeconds()}}
{\footnotesize\ttfamily void Delay\+Milli\+Seconds (\begin{DoxyParamCaption}\item[{uint16\+\_\+t}]{ms }\end{DoxyParamCaption})}



Zeitschleife von 1-\/65535 Millisekunden. 


\begin{DoxyParams}{Parameter}
{\em ms} & Anzahl Millisekunden \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{controls_8h_a9dec45875121142b6466b9475691b40a}\label{controls_8h_a9dec45875121142b6466b9475691b40a}} 
\index{controls.h@{controls.h}!DisplayVersion@{DisplayVersion}}
\index{DisplayVersion@{DisplayVersion}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{DisplayVersion()}{DisplayVersion()}}
{\footnotesize\ttfamily void Display\+Version (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Ausgabe der Softwareversion des BJ-\/\+Keyers. 


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

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



Mit dieser Funktion wird per Polling der Drehencoder abgefragt. 

\begin{DoxyVerb}    Es wird die Stellung des Encoders und der Status des Tasters 
    abgefragt. Die Daten werden ausgewertet und die entsprechende
    Funktion aufgerufen
\end{DoxyVerb}
 
\begin{DoxyParams}{Parameter}
{\em none} & \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
neuen Wert in b\+Config speichern

Status für Timer 0 setzen

Status für Update\+Display setzen

neuen Werte in Encoder\+Pos speichern

neuen Wert in WpM übernehmen

Timer 0 Variable löschen für Update EEprom\mbox{\Hypertarget{controls_8h_aa0e063cf32b840a3ed51ae9aa677e2be}\label{controls_8h_aa0e063cf32b840a3ed51ae9aa677e2be}} 
\index{controls.h@{controls.h}!SetRatio@{SetRatio}}
\index{SetRatio@{SetRatio}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{SetRatio()}{SetRatio()}}
{\footnotesize\ttfamily void Set\+Ratio (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Berechnung der Zeitdauer für Punkt und Strich. 

\begin{DoxyVerb}    Die Länge eines Symbols ist abhängig von der
    eingestellten Geschwindigkeit. Intern wird immer
    mit Wörtern pro Minute gerechnet. Das normale
    Punkt/Strich Verhältnis ist 1:3. Dies kann durch
    den Parameter Ratio in den Einstellungen verändert
    werden.
\end{DoxyVerb}
 
\begin{DoxyParams}{Parameter}
{\em none} & \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{controls_8h_ae8011166e9324f9f3c6948249eb15fd1}\label{controls_8h_ae8011166e9324f9f3c6948249eb15fd1}} 
\index{controls.h@{controls.h}!SidetoneDisable@{SidetoneDisable}}
\index{SidetoneDisable@{SidetoneDisable}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{SidetoneDisable()}{SidetoneDisable()}}
{\footnotesize\ttfamily void Sidetone\+Disable (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Audioverstärker abschalten. 


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

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{controls_8h_a60f2f041b0803584ba5fc2e0a373ed50}\label{controls_8h_a60f2f041b0803584ba5fc2e0a373ed50}} 
\index{controls.h@{controls.h}!SidetoneEnable@{SidetoneEnable}}
\index{SidetoneEnable@{SidetoneEnable}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{SidetoneEnable()}{SidetoneEnable()}}
{\footnotesize\ttfamily void Sidetone\+Enable (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Audioverstärker einschalten. 


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

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{controls_8h_ad82537f7ea58b4eb375952ce52615c4d}\label{controls_8h_ad82537f7ea58b4eb375952ce52615c4d}} 
\index{controls.h@{controls.h}!SidetoneOff@{SidetoneOff}}
\index{SidetoneOff@{SidetoneOff}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{SidetoneOff()}{SidetoneOff()}}
{\footnotesize\ttfamily void Sidetone\+Off (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Mithörton ausschalten. 


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

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{controls_8h_a378d56bf0e68310b700bd4dbdc652803}\label{controls_8h_a378d56bf0e68310b700bd4dbdc652803}} 
\index{controls.h@{controls.h}!Tone@{Tone}}
\index{Tone@{Tone}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{Tone()}{Tone()}}
{\footnotesize\ttfamily void Tone (\begin{DoxyParamCaption}\item[{uint16\+\_\+t}]{f,  }\item[{uint8\+\_\+t}]{duration }\end{DoxyParamCaption})}



Ausgabe eines Tons mit Dauer und Frequenz. 


\begin{DoxyParams}{Parameter}
{\em f} & Frequenz des Tons \\
\hline
{\em duration} & Dauer des Tons \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{controls_8h_ace58ee95637a8f220527dc8b20dbb662}\label{controls_8h_ace58ee95637a8f220527dc8b20dbb662}} 
\index{controls.h@{controls.h}!UpdateDisplay@{UpdateDisplay}}
\index{UpdateDisplay@{UpdateDisplay}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{UpdateDisplay()}{UpdateDisplay()}}
{\footnotesize\ttfamily void Update\+Display (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Update\+Display. 

\begin{DoxyVerb}    Aktualisierung der Anzeigen auf dem Display je nach
    aktueller Funktion.
\end{DoxyVerb}
 DOUBLESIZE 4x10 character NORMALSIZE 8x21 character \mbox{\Hypertarget{controls_8h_a586bc00ad3164def7ec76ac9bda4f1bc}\label{controls_8h_a586bc00ad3164def7ec76ac9bda4f1bc}} 
\index{controls.h@{controls.h}!WriteEEprom@{WriteEEprom}}
\index{WriteEEprom@{WriteEEprom}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{WriteEEprom()}{WriteEEprom()}}
{\footnotesize\ttfamily void Write\+EEprom (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Akt. Einstellungen in EEPROM schreiben. 


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

\begin{DoxyRetVals}{Rückgabewerte}
{\em none} & \\
\hline
\end{DoxyRetVals}


\doxysubsection{Variablen-\/\+Dokumentation}
\mbox{\Hypertarget{controls_8h_a8c3e2d3135447df0d9e7057fea4ff5b0}\label{controls_8h_a8c3e2d3135447df0d9e7057fea4ff5b0}} 
\index{controls.h@{controls.h}!bConfig@{bConfig}}
\index{bConfig@{bConfig}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{bConfig}{bConfig}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structConfig}{Config}} b\+Config\hspace{0.3cm}{\ttfamily [extern]}}



Struktur für die Einstellungen. 

\mbox{\Hypertarget{controls_8h_a885b2af021946a60a0bd2a271711c17a}\label{controls_8h_a885b2af021946a60a0bd2a271711c17a}} 
\index{controls.h@{controls.h}!bMenuCtrl@{bMenuCtrl}}
\index{bMenuCtrl@{bMenuCtrl}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{bMenuCtrl}{bMenuCtrl}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structMenuCtrl}{Menu\+Ctrl}} b\+Menu\+Ctrl\hspace{0.3cm}{\ttfamily [extern]}}



Struktur für die Menuesteuerung. 

\mbox{\Hypertarget{controls_8h_a44ef5c8aeac95b862dab43408c149f9a}\label{controls_8h_a44ef5c8aeac95b862dab43408c149f9a}} 
\index{controls.h@{controls.h}!bState@{bState}}
\index{bState@{bState}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{bState}{bState}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structState}{State}} b\+State\hspace{0.3cm}{\ttfamily [extern]}}



Struktur für den aktuellen Status. 

\mbox{\Hypertarget{controls_8h_a088c685d08447f6614b3aea76cd94582}\label{controls_8h_a088c685d08447f6614b3aea76cd94582}} 
\index{controls.h@{controls.h}!MenuCtrlTimer@{MenuCtrlTimer}}
\index{MenuCtrlTimer@{MenuCtrlTimer}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{MenuCtrlTimer}{MenuCtrlTimer}}
{\footnotesize\ttfamily uint16\+\_\+t Menu\+Ctrl\+Timer\hspace{0.3cm}{\ttfamily [extern]}}



Wartezeit bis zur Betriebsanzeige nach \mbox{\hyperlink{structConfig}{Config}}. 

\mbox{\Hypertarget{controls_8h_a28fa6cb1767abefbe9c197700410d946}\label{controls_8h_a28fa6cb1767abefbe9c197700410d946}} 
\index{controls.h@{controls.h}!WpM@{WpM}}
\index{WpM@{WpM}!controls.h@{controls.h}}
\doxysubsubsection{\texorpdfstring{WpM}{WpM}}
{\footnotesize\ttfamily uint8\+\_\+t WpM\hspace{0.3cm}{\ttfamily [extern]}}



Aktuelle Zeichengeschwindigkeit. 

